From 114dbe6965b4d916cd4ebeabedc3ce47fa2ab3cb Mon Sep 17 00:00:00 2001 From: Florian Kuepper Date: Tue, 12 Jun 2012 18:22:08 +0200 Subject: [PATCH] Reload (hopefully) all colors now on skin-change. --- Vocaluxe/Menu/CGraphics.cs | 10 ++++++ Vocaluxe/Menu/CNameSelection.cs | 35 ++++++++++++++------ Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs | 1 + 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/Vocaluxe/Menu/CGraphics.cs b/Vocaluxe/Menu/CGraphics.cs index ac7fa531..092a777d 100644 --- a/Vocaluxe/Menu/CGraphics.cs +++ b/Vocaluxe/Menu/CGraphics.cs @@ -690,6 +690,16 @@ namespace Vocaluxe.Menu { _Cursor.UnloadTextures(); + if (CTheme.Cursor.color != string.Empty) + { + SColorF color; + color = CTheme.GetColor(CTheme.Cursor.color); + CTheme.Cursor.r = color.R; + CTheme.Cursor.g = color.G; + CTheme.Cursor.b = color.B; + CTheme.Cursor.a = color.A; + } + _Cursor = new CCursor( CTheme.Cursor.SkinName, new SColorF(CTheme.Cursor.r, CTheme.Cursor.g, CTheme.Cursor.b, CTheme.Cursor.a), diff --git a/Vocaluxe/Menu/CNameSelection.cs b/Vocaluxe/Menu/CNameSelection.cs index b11d65c4..5a539c7c 100644 --- a/Vocaluxe/Menu/CNameSelection.cs +++ b/Vocaluxe/Menu/CNameSelection.cs @@ -90,17 +90,7 @@ namespace Vocaluxe.Menu public void Init() { - _Tiles.Clear(); - for (int i = 0; i < _NumH; i++) - { - for (int j = 0; j < _NumW; j++) - { - SRectF rect = new SRectF(Rect.X + j * (_TileW + _SpaceW), Rect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, Rect.Z); - CStatic tileStatic = new CStatic(_TextureEmptyTile, ColorEmptyTile, rect); - CText tileText = new CText(rect.X + rect.W / 2, rect.Y + rect.H + _Theme.NameSpace, rect.Z, _Theme.NameHeight, rect.W, EAlignment.Center, _Theme.NameStyle, _Theme.NameFont, _Theme.NameColor, ""); - _Tiles.Add(new CTile(tileStatic, tileText, -1)); - } - } + PrepareTiles(); PlayerSelector = new CStatic(); PlayerSelector.Texture = _TextureTileSelected; @@ -482,12 +472,35 @@ namespace Vocaluxe.Menu { _TextureEmptyTile = CTheme.GetSkinTexture(_Theme.TextureEmptyTileName); _TextureTileSelected = CTheme.GetSkinTexture(_Theme.TextureTileSelectedName); + + if (_Theme.ColorEmptyTileName != String.Empty) + ColorEmptyTile = CTheme.GetColor(_Theme.ColorEmptyTileName); + + if (_Theme.NameColorName != String.Empty) + _Theme.NameColor = CTheme.GetColor(_Theme.NameColorName); } public void ReloadTextures() { UnloadTextures(); LoadTextures(); + + PrepareTiles(); + } + + private void PrepareTiles() + { + _Tiles.Clear(); + for (int i = 0; i < _NumH; i++) + { + for (int j = 0; j < _NumW; j++) + { + SRectF rect = new SRectF(Rect.X + j * (_TileW + _SpaceW), Rect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, Rect.Z); + CStatic tileStatic = new CStatic(_TextureEmptyTile, ColorEmptyTile, rect); + CText tileText = new CText(rect.X + rect.W / 2, rect.Y + rect.H + _Theme.NameSpace, rect.Z, _Theme.NameHeight, rect.W, EAlignment.Center, _Theme.NameStyle, _Theme.NameFont, _Theme.NameColor, ""); + _Tiles.Add(new CTile(tileStatic, tileText, -1)); + } + } } private void UpdateVisibleProfiles() diff --git a/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs b/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs index 558cb093..48868a32 100644 --- a/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs +++ b/Vocaluxe/Menu/SongMenu/CSongMenuTileBoard.cs @@ -654,6 +654,7 @@ namespace Vocaluxe.Menu.SongMenu _Theme.songMenuTileBoard.TextArtist.ReloadTextures(); _Theme.songMenuTileBoard.TextTitle.ReloadTextures(); + _Theme.songMenuTileBoard.TextSongLength.ReloadTextures(); } } }