Example #1
0
 public SingerToolTip()
 {
     Child = new FillFlowContainer
     {
         AutoSizeAxes = Axes.Y,
         Width        = 300,
         Direction    = FillDirection.Vertical,
         Spacing      = new Vector2(15),
         Children     = new Drawable[]
         {
             avatar = new DrawableSingerAvatar
             {
                 Name = "Avatar",
                 Size = new Vector2(64)
             },
             new FillFlowContainer
             {
                 Name             = "Singer name",
                 AutoSizeAxes     = Axes.Y,
                 RelativeSizeAxes = Axes.X,
                 Direction        = FillDirection.Horizontal,
                 Spacing          = new Vector2(5),
                 Children         = new[]
                 {
                     singerName = new OsuSpriteText
                     {
                         Name = "Singer name",
                         Font = OsuFont.GetFont(weight: FontWeight.Bold, size: 20),
                     },
                     singerEnglishName = new OsuSpriteText
                     {
                         Name   = "English name",
                         Anchor = Anchor.BottomLeft,
                         Origin = Anchor.BottomLeft,
                         Font   = OsuFont.GetFont(weight: FontWeight.Bold, size: 13),
                         Margin = new MarginPadding {
                             Bottom = 1
                         }
                     }
                 }
             },
             singerRomajiName = new OsuSpriteText
             {
                 Name = "Romaji name"
             },
             singerDescription = new OsuTextFlowContainer(s => s.Font = s.Font.With(size: 14))
             {
                 RelativeSizeAxes = Axes.X,
                 AutoSizeAxes     = Axes.Y,
                 Colour           = Color4.White.Opacity(0.75f),
                 Name             = "Description",
             }
         }
     };
 }
Example #2
0
            public DrawableSingerInfo(Singer singer)
            {
                bindableSinger.Value = singer;
                InternalChildren     = new Drawable[]
                {
                    background = new Box
                    {
                        Name             = "Background",
                        RelativeSizeAxes = Axes.Both,
                    },
                    new GridContainer
                    {
                        Name             = "Infos",
                        RelativeSizeAxes = Axes.Both,
                        Margin           = new MarginPadding(10),
                        ColumnDimensions = new[]
                        {
                            new Dimension(GridSizeMode.AutoSize, 48),
                            new Dimension(),
                        },
                        Content = new[]
                        {
                            new Drawable[]
                            {
                                avatar = new DrawableSingerAvatar
                                {
                                    Name = "Avatar",
                                    Size = new Vector2(48),
                                },
                                new FillFlowContainer
                                {
                                    Name             = "Singer name",
                                    RelativeSizeAxes = Axes.X,
                                    Direction        = FillDirection.Vertical,
                                    Spacing          = new Vector2(1),
                                    Padding          = new MarginPadding {
                                        Left = 5
                                    },
                                    Children = new[]
                                    {
                                        singerName = new OsuSpriteText
                                        {
                                            Name = "Singer name",
                                            Font = OsuFont.GetFont(weight: FontWeight.Bold, size: 20),
                                        },
                                        romajiName = new OsuSpriteText
                                        {
                                            Name = "Romaji name",
                                            Font = OsuFont.GetFont(weight: FontWeight.Bold, size: 9),
                                        },
                                        englishName = new OsuSpriteText
                                        {
                                            Name = "English name",
                                            Font = OsuFont.GetFont(weight: FontWeight.Bold, size: 12),
                                        }
                                    }
                                },
                            }
                        }
                    },
                };

                bindableSinger.BindValueChanged(e =>
                {
                    updateSingerInfo(e.NewValue);
                }, true);

                singer.OrderBindable.BindValueChanged(x =>
                {
                    updateSingerName(singer);
                });
            }