Added switch to small view (not ready yet)

This commit is contained in:
Florian Kuepper committed 2012-06-17 16:34:30 +02:00
1 parent ae2c693e37
commit d3cb14d51a
6 files changed
+137 -14

No files matched your search

+11 -1
View File
@@ -47,7 +47,7 @@
<R>1</R>
<G>1</G>
<B>1</B>
<A>0.3</A>
<A>1</A>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
@@ -455,6 +455,10 @@
<NumW>6</NumW>
<!--<NumH>: Number of tiles vertical-->
<NumH>4</NumH>
<!--<NumWsmall>: Number of tiles horizontal-->
<NumWsmall>4</NumWsmall>
<!--<NumHsmall>: Number of tiles vertical-->
<NumHsmall>4</NumHsmall>
<!--<SpaceW>: Space between tiles horizontal-->
<SpaceW>10,00</SpaceW>
<!--<SpaceH>: Space between tiles vertical-->
@@ -465,6 +469,12 @@
<TileRectZ>-1,00</TileRectZ>
<TileRectW>830</TileRectW>
<TileRectH>550</TileRectH>
<!--<TileRectSmallSmallX>, <TileRectSmallY>, <TileRectSmallZ>, <TileRectSmallW>, <TileRectSmallH>: SongMenu position, width and height-->
<TileRectSmallX>410</TileRectSmallX>
<TileRectSmallY>40</TileRectSmallY>
<TileRectSmallZ>-1,00</TileRectSmallZ>
<TileRectSmallW>550</TileRectSmallW>
<TileRectSmallH>550</TileRectSmallH>
<TextArtist>
<!--<X>, <Y>: Text position-->
<X>222</X>
+10
View File
@@ -118,6 +118,16 @@ namespace Vocaluxe.Menu.SongMenu
return _SongMenu.GetRect();
}
public bool IsSmallView()
{
return _SongMenu.IsSmallView();
}
public void SetSmallView(bool SmallView)
{
_SongMenu.SetSmallView(SmallView);
}
#endregion ISongMenu
#region IMenuElement
@@ -55,6 +55,16 @@ namespace Vocaluxe.Menu.SongMenu
/// </summary>
public int numH;
/// <summary>
/// Number of tiles horizontal in small-modus
/// </summary>
public int numWsmall;
/// <summary>
/// Number of tiles vertical in small-modus
/// </summary>
public int numHsmall;
/// <summary>
/// Space between tiles horizontal
/// </summary>
@@ -66,6 +76,7 @@ namespace Vocaluxe.Menu.SongMenu
public float spaceH;
public SRectF TileRect;
public SRectF TileRectSmall;
public CText TextArtist;
public CText TextTitle;
@@ -272,6 +283,9 @@ namespace Vocaluxe.Menu.SongMenu
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/SpaceW", navigator, ref _Theme.songMenuTileBoard.spaceW);
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/SpaceH", navigator, ref _Theme.songMenuTileBoard.spaceH);
_ThemeLoaded &= CHelper.TryGetIntValueFromXML(item + "/SongMenuTileBoard/NumWsmall", navigator, ref _Theme.songMenuTileBoard.numWsmall);
_ThemeLoaded &= CHelper.TryGetIntValueFromXML(item + "/SongMenuTileBoard/NumHsmall", navigator, ref _Theme.songMenuTileBoard.numHsmall);
_ThemeLoaded &= _Theme.songMenuTileBoard.TextArtist.LoadTheme(item + "/SongMenuTileBoard", "TextArtist", navigator, SkinIndex);
_ThemeLoaded &= _Theme.songMenuTileBoard.TextTitle.LoadTheme(item + "/SongMenuTileBoard", "TextTitle", navigator, SkinIndex);
_ThemeLoaded &= _Theme.songMenuTileBoard.TextSongLength.LoadTheme(item + "/SongMenuTileBoard", "TextSongLength", navigator, SkinIndex);
@@ -289,6 +303,12 @@ namespace Vocaluxe.Menu.SongMenu
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectW", navigator, ref _Theme.songMenuTileBoard.TileRect.W);
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectH", navigator, ref _Theme.songMenuTileBoard.TileRect.H);
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallX", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.X);
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallY", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.Y);
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallZ", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.Z);
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallW", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.W);
_ThemeLoaded &= CHelper.TryGetFloatValueFromXML(item + "/SongMenuTileBoard/TileRectSmallH", navigator, ref _Theme.songMenuTileBoard.TileRectSmall.H);
#endregion SongMenuTileBoard
if (_ThemeLoaded)
@@ -362,6 +382,12 @@ namespace Vocaluxe.Menu.SongMenu
writer.WriteComment("<SpaceH>: Space between tiles vertical");
writer.WriteElementString("SpaceH", _Theme.songMenuTileBoard.spaceH.ToString("#0.00"));
writer.WriteComment("<NumWsmall>: Number of tiles horizontal in small-mode");
writer.WriteElementString("NumW", _Theme.songMenuTileBoard.numW.ToString());
writer.WriteComment("<NumHsmall>: Number of tiles vertical in small-mode");
writer.WriteElementString("NumH", _Theme.songMenuTileBoard.numH.ToString());
writer.WriteComment("<TileRectX>, <TileRectY>, <TileRectZ>, <TileRectW>, <TileRectH>: SongMenu position, width and height");
writer.WriteElementString("TileRectX", _Theme.songMenuTileBoard.TileRect.X.ToString("#0"));
writer.WriteElementString("TileRectY", _Theme.songMenuTileBoard.TileRect.Y.ToString("#0"));
@@ -369,6 +395,13 @@ namespace Vocaluxe.Menu.SongMenu
writer.WriteElementString("TileRectW", _Theme.songMenuTileBoard.TileRect.W.ToString("#0"));
writer.WriteElementString("TileRectH", _Theme.songMenuTileBoard.TileRect.H.ToString("#0"));
writer.WriteComment("<TileRectSmallX>, <TileRectSmallY>, <TileRectSmallZ>, <TileRectSmallW>, <TileRectSmallH>: SongMenu position, width and height in small-mode");
writer.WriteElementString("TileRectSmallX", _Theme.songMenuTileBoard.TileRectSmall.X.ToString("#0"));
writer.WriteElementString("TileRectSmallY", _Theme.songMenuTileBoard.TileRectSmall.Y.ToString("#0"));
writer.WriteElementString("TileRectSmallZ", _Theme.songMenuTileBoard.TileRectSmall.Z.ToString("#0.00"));
writer.WriteElementString("TileRectSmallW", _Theme.songMenuTileBoard.TileRectSmall.W.ToString("#0"));
writer.WriteElementString("TileRectSmallH", _Theme.songMenuTileBoard.TileRectSmall.H.ToString("#0"));
_Theme.songMenuTileBoard.TextArtist.SaveTheme(writer);
_Theme.songMenuTileBoard.TextTitle.SaveTheme(writer);
_Theme.songMenuTileBoard.TextSongLength.SaveTheme(writer);
@@ -499,6 +532,17 @@ namespace Vocaluxe.Menu.SongMenu
return;
}
public virtual void SetSmallView(bool SmallView)
{
if (!_Initialized)
return;
}
public virtual bool IsSmallView()
{
return false;
}
public virtual void UnloadTextures()
{
}
@@ -40,6 +40,8 @@ namespace Vocaluxe.Menu.SongMenu
private int _Offset = 0;
private int _actualSelection = -1;
private bool _SmallView = false;
public override int GetActualSelection()
{
return _actualSelection;
@@ -650,6 +652,72 @@ namespace Vocaluxe.Menu.SongMenu
_Offset = offset;
}
public override void SetSmallView(bool SmallView)
{
base.SetSmallView(SmallView);
_SmallView = SmallView;
if (_SmallView)
{
_NumH = _Theme.songMenuTileBoard.numHsmall;
_NumW = _Theme.songMenuTileBoard.numWsmall;
_TileW = (int)((_Theme.songMenuTileBoard.TileRectSmall.W - _SpaceW * (_NumW - 1)) / _NumW);
_TileH = (int)((_Theme.songMenuTileBoard.TileRectSmall.H - _SpaceH * (_NumH - 1)) / _NumH);
_CoverTexture = CTheme.GetSkinTexture(_Theme.CoverBackgroundName);
_CoverBigTexture = CTheme.GetSkinTexture(_Theme.CoverBigBackgroundName);
_Tiles = new List<CStatic>();
for (int i = 0; i < _NumH; i++)
{
for (int j = 0; j < _NumW; j++)
{
SRectF rect = new SRectF(_Theme.songMenuTileBoard.TileRectSmall.X + j * (_TileW + _SpaceW),
_Theme.songMenuTileBoard.TileRectSmall.Y + i * (_TileH + _SpaceH), _TileW, _TileH, _Rect.Z);
CStatic tile = new CStatic(_CoverTexture, Color, rect);
_Tiles.Add(tile);
}
}
_ScrollRect = new SRectF(0, 0, CSettings.iRenderW, CSettings.iRenderH, _Theme.songMenuTileBoard.TileRectSmall.Z);
}
else
{
_NumH = _Theme.songMenuTileBoard.numH;
_NumW = _Theme.songMenuTileBoard.numW;
_TileW = (int)((_Theme.songMenuTileBoard.TileRect.W - _SpaceW * (_NumW - 1)) / _NumW);
_TileH = (int)((_Theme.songMenuTileBoard.TileRect.H - _SpaceH * (_NumH - 1)) / _NumH);
_CoverTexture = CTheme.GetSkinTexture(_Theme.CoverBackgroundName);
_CoverBigTexture = CTheme.GetSkinTexture(_Theme.CoverBigBackgroundName);
_Tiles = new List<CStatic>();
for (int i = 0; i < _NumH; i++)
{
for (int j = 0; j < _NumW; j++)
{
SRectF rect = new SRectF(_Theme.songMenuTileBoard.TileRect.X + j * (_TileW + _SpaceW),
_Theme.songMenuTileBoard.TileRect.Y + i * (_TileH + _SpaceH), _TileW, _TileH, _Rect.Z);
CStatic tile = new CStatic(_CoverTexture, Color, rect);
_Tiles.Add(tile);
}
}
_ScrollRect = new SRectF(0, 0, CSettings.iRenderW, CSettings.iRenderH, _Theme.songMenuTileBoard.TileRect.Z);
}
UpdateList(_Offset);
}
public override bool IsSmallView()
{
return _SmallView;
}
public override void LoadTextures()
{
base.LoadTextures();
+3
View File
@@ -29,6 +29,9 @@ namespace Vocaluxe.Menu.SongMenu
bool IsVisible();
void SetVisible(bool Visible);
bool IsSmallView();
void SetSmallView(bool SmallView);
SRectF GetRect();
}
}
+1 -13
View File
@@ -250,7 +250,7 @@ namespace Vocaluxe.Screens
}
else if (Buttons[htButtons(ButtonOptionsPlaylist)].Selected)
{
ToggleSongOptions();
SongMenus[htSongMenus(SongMenu)].SetSmallView(true);
}
}
if (MouseEvent.RB)
@@ -313,18 +313,6 @@ namespace Vocaluxe.Screens
public override bool Draw()
{
base.Draw();
if (_SongOptionsActive)
{
Statics[htStatics(StaticOptionsBG)].Draw();
Texts[htTexts(TextOptionsTitle)].Draw();
SelectSlides[htSelectSlides(SelectSlideOptionsMode)].Draw();
Buttons[htButtons(ButtonOptionsClose)].Draw();
Buttons[htButtons(ButtonOptionsSing)].Draw();
Buttons[htButtons(ButtonOptionsPlaylist)].Draw();
}
return true;
}