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", } } }; }
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); }); }