Exemple #1
0
 protected OnlineOverlay(OverlayColourScheme colourScheme)
     : base(colourScheme)
 {
     base.Content.AddRange(new Drawable[]
     {
         ScrollFlow = new OverlayScrollContainer
         {
             RelativeSizeAxes = Axes.Both,
             ScrollbarVisible = false,
             Child            = new FillFlowContainer
             {
                 AutoSizeAxes     = Axes.Y,
                 RelativeSizeAxes = Axes.X,
                 Direction        = FillDirection.Vertical,
                 Children         = new Drawable[]
                 {
                     Header.With(h => h.Depth = float.MinValue),
                     content = new Container
                     {
                         RelativeSizeAxes = Axes.X,
                         AutoSizeAxes     = Axes.Y
                     }
                 }
             }
         },
         Loading = new LoadingLayer(true)
     });
 }
Exemple #2
0
        protected FullscreenOverlay(OverlayColourScheme colourScheme)
        {
            Header = CreateHeader();

            ColourProvider = new OverlayColourProvider(colourScheme);

            RelativeSizeAxes     = Axes.Both;
            RelativePositionAxes = Axes.Both;
            Width  = 0.85f;
            Anchor = Anchor.TopCentre;
            Origin = Anchor.TopCentre;

            Masking = true;

            EdgeEffect = new EdgeEffectParameters
            {
                Colour = Color4.Black.Opacity(0),
                Type   = EdgeEffectType.Shadow,
                Radius = 10
            };

            base.Content.AddRange(new Drawable[]
            {
                new Box
                {
                    RelativeSizeAxes = Axes.Both,
                    Colour           = BackgroundColour
                },
                content = new Container
                {
                    RelativeSizeAxes = Axes.Both
                }
            });
        }
        // See https://github.com/ppy/osu-web/blob/5a536d217a21582aad999db50a981003d3ad5659/app/helpers.php#L1620-L1628
        private static float getBaseHue(OverlayColourScheme colourScheme)
        {
            switch (colourScheme)
            {
            default:
                throw new ArgumentException($@"{colourScheme} colour scheme does not provide a hue value in {nameof(getBaseHue)}.");

            case OverlayColourScheme.Red:
                return(0);

            case OverlayColourScheme.Pink:
                return(333 / 360f);

            case OverlayColourScheme.Orange:
                return(45 / 360f);

            case OverlayColourScheme.Lime:
                return(90 / 360f);

            case OverlayColourScheme.Green:
                return(125 / 360f);

            case OverlayColourScheme.Purple:
                return(255 / 360f);

            case OverlayColourScheme.Blue:
                return(200 / 360f);

            case OverlayColourScheme.Plum:
                return(320 / 360f);
            }
        }
            public ColourProvidedContainer(OverlayColourScheme colourScheme, DrawableProfileScore score)
            {
                colourProvider = new OverlayColourProvider(colourScheme);

                AutoSizeAxes     = Axes.Y;
                RelativeSizeAxes = Axes.X;
                Add(score);
            }
            public ColourProvidedContainer(OverlayColourScheme colourScheme, OverlayHeader header)
            {
                colourProvider = new OverlayColourProvider(colourScheme);

                AutoSizeAxes     = Axes.Y;
                RelativeSizeAxes = Axes.X;
                Add(header);
            }
Exemple #6
0
        private Drawable createContent(OverlayColourScheme colourScheme)
        {
            var colourProvider = new OverlayColourProvider(colourScheme);

            return(new DependencyProvidingContainer
            {
                RelativeSizeAxes = Axes.Both,
                CachedDependencies = new (Type, object)[]
Exemple #7
0
        protected void CreateThemedContent(OverlayColourScheme colourScheme)
        {
            var colourProvider = new OverlayColourProvider(colourScheme);

            Cell(0, 1).Clear();
            Cell(0, 1).Add(new DependencyProvidingContainer
            {
                RelativeSizeAxes   = Axes.Both,
                CachedDependencies = new (Type, object)[]
Exemple #8
0
        protected FullscreenOverlay(OverlayColourScheme colourScheme)
        {
            ColourProvider = new OverlayColourProvider(colourScheme);

            RelativeSizeAxes     = Axes.Both;
            RelativePositionAxes = Axes.Both;
            Width  = 0.85f;
            Anchor = Anchor.TopCentre;
            Origin = Anchor.TopCentre;

            Masking = true;

            EdgeEffect = new EdgeEffectParameters
            {
                Colour = Color4.Black.Opacity(0),
                Type   = EdgeEffectType.Shadow,
                Radius = 10
            };
        }
Exemple #9
0
        // See https://github.com/ppy/osu-web/blob/4218c288292d7c810b619075471eaea8bbb8f9d8/app/helpers.php#L1463
        private static float getBaseHue(OverlayColourScheme colourScheme)
        {
            float hue;

            switch (colourScheme)
            {
            default:
                throw new ArgumentException($@"{colourScheme} colour scheme does not provide a hue value in {nameof(getBaseHue)}.");

            case OverlayColourScheme.Red:
                hue = 0;
                break;

            case OverlayColourScheme.Pink:
                hue = 333;
                break;

            case OverlayColourScheme.Orange:
                hue = 46;
                break;

            case OverlayColourScheme.Green:
                hue = 115;
                break;

            case OverlayColourScheme.Purple:
                hue = 255;
                break;

            case OverlayColourScheme.Blue:
                hue = 200;
                break;
            }

            return(hue / 360f);
        }
 private void addHeader(string name, OverlayHeader header, OverlayColourScheme colourScheme)
 {
     flow.Add(new FillFlowContainer
     {
         AutoSizeAxes     = Axes.Y,
         RelativeSizeAxes = Axes.X,
         Direction        = FillDirection.Vertical,
         Children         = new Drawable[]
         {
             new OsuSpriteText
             {
                 Anchor = Anchor.TopCentre,
                 Origin = Anchor.TopCentre,
                 Margin = new MarginPadding(20),
                 Text   = name,
             },
             new ColourProvidedContainer(colourScheme, header)
             {
                 Anchor = Anchor.TopCentre,
                 Origin = Anchor.TopCentre,
             }
         }
     });
 }
Exemple #11
0
        protected OnlineOverlay(OverlayColourScheme colourScheme, bool requiresSignIn = true)
            : base(colourScheme)
        {
            var mainContent = requiresSignIn
                ? new OnlineViewContainer($"Sign in to view the {Header.Title.Title}")
                : new Container();

            mainContent.RelativeSizeAxes = Axes.Both;

            mainContent.AddRange(new Drawable[]
            {
                ScrollFlow = new OverlayScrollContainer
                {
                    RelativeSizeAxes = Axes.Both,
                    ScrollbarVisible = false,
                    Child            = new FillFlowContainer
                    {
                        AutoSizeAxes     = Axes.Y,
                        RelativeSizeAxes = Axes.X,
                        Direction        = FillDirection.Vertical,
                        Children         = new Drawable[]
                        {
                            Header.With(h => h.Depth = float.MinValue),
                            content = new Container
                            {
                                RelativeSizeAxes = Axes.X,
                                AutoSizeAxes     = Axes.Y
                            }
                        }
                    }
                },
                Loading = new LoadingLayer(true)
            });

            base.Content.Add(mainContent);
        }
Exemple #12
0
 protected SearchableListOverlay(OverlayColourScheme colourScheme)
     : base(colourScheme)
 {
 }
        protected ShearedOverlayContainer(OverlayColourScheme colourScheme)
        {
            RelativeSizeAxes = Axes.Both;

            ColourProvider = new OverlayColourProvider(colourScheme);
        }
Exemple #14
0
 protected BreadcrumbControlOverlayHeader(OverlayColourScheme colourScheme)
     : base(colourScheme)
 {
 }
Exemple #15
0
 public OverlayColourContainer(OverlayColourScheme scheme)
 {
     colourProvider = new OverlayColourProvider(scheme);
 }
Exemple #16
0
 public Color4 ForOverlayElement(OverlayColourScheme colourScheme, float saturation, float lightness, float opacity = 1) => Color4.FromHsl(new Vector4(getBaseHue(colourScheme), saturation, lightness, opacity));
Exemple #17
0
 public UserModSelectScreen(OverlayColourScheme colourScheme = OverlayColourScheme.Green)
     : base(colourScheme)
 {
 }
Exemple #18
0
 public ColourProvidedContainer(OverlayColourScheme colourScheme, OverlayRulesetSelector rulesetSelector)
 {
     colourProvider = new OverlayColourProvider(colourScheme);
     AutoSizeAxes   = Axes.Both;
     Add(rulesetSelector);
 }
Exemple #19
0
 public ColourProvidingContainer(OverlayColourScheme colourScheme)
 {
     provider = new OverlayColourProvider(colourScheme);
 }
 public OverlayColourProvider(OverlayColourScheme colourScheme)
 {
     this.colourScheme = colourScheme;
 }
 protected TabControlOverlayHeader(OverlayColourScheme colourScheme)
     : base(colourScheme)
 {
 }
 protected TabbableOnlineOverlay(OverlayColourScheme colourScheme)
     : base(colourScheme)
 {
 }