From 22338194b572f9b79645e6cca85b4b2c47779e03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20K=C3=BCpper?= Date: Thu, 7 Sep 2017 22:28:25 +0200 Subject: [PATCH] Respect ratio of bar left/right textures --- Output/Themes/Genius/Screens/ScreenSing.xml | 42 ++++++++++----------- VocaluxeLib/Menu/CProgressBar.cs | 32 ++++++++-------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/Output/Themes/Genius/Screens/ScreenSing.xml b/Output/Themes/Genius/Screens/ScreenSing.xml index c4055e06..a883cc3e 100644 --- a/Output/Themes/Genius/Screens/ScreenSing.xml +++ b/Output/Themes/Genius/Screens/ScreenSing.xml @@ -1694,7 +1694,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1713,7 +1713,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1732,7 +1732,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1751,7 +1751,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1770,7 +1770,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1789,7 +1789,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1808,7 +1808,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1827,7 +1827,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1846,7 +1846,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1865,7 +1865,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1884,7 +1884,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1903,7 +1903,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1922,7 +1922,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1941,7 +1941,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1960,7 +1960,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1979,7 +1979,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -1998,7 +1998,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -2017,7 +2017,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -2036,7 +2036,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -2055,7 +2055,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON @@ -2074,7 +2074,7 @@ RatingBarProgressRight - Left + Right TR_CONFIG_ON TR_CONFIG_ON diff --git a/VocaluxeLib/Menu/CProgressBar.cs b/VocaluxeLib/Menu/CProgressBar.cs index 795e0b66..2c5d828a 100644 --- a/VocaluxeLib/Menu/CProgressBar.cs +++ b/VocaluxeLib/Menu/CProgressBar.cs @@ -337,23 +337,23 @@ namespace VocaluxeLib.Menu switch (_Theme.Direction) { case EDirection.Right: - _RectProgressBegin = new SRectF(Rect.X, Rect.Y, Rect.H, Rect.H, Rect.Z); - _TextureProgressBegin = _TextureProgressLeft; + _TextureProgressBegin = TextureProgressLeft; + _RectProgressBegin = new SRectF(Rect.X, Rect.Y, Rect.H * _TextureProgressBegin.OrigAspect, Rect.H, Rect.Z); break; case EDirection.Up: - _RectProgressBegin = new SRectF(Rect.X, Rect.Y + Rect.H - Rect.W, Rect.W, Rect.W, Rect.Z); - _TextureProgressBegin = _TextureProgressRight; + _TextureProgressBegin = TextureProgressRight; + _RectProgressBegin = new SRectF(Rect.X, Rect.Y + Rect.H - Rect.W * _TextureProgressBegin.OrigAspect, Rect.W, Rect.W * _TextureProgressBegin.OrigAspect, Rect.Z); break; case EDirection.Left: - _RectProgressBegin = new SRectF(Rect.X + Rect.W - Rect.H, Rect.Y, Rect.H, Rect.H, Rect.Z); - _TextureProgressBegin = _TextureProgressRight; + _TextureProgressBegin = TextureProgressRight; + _RectProgressBegin = new SRectF(Rect.X + Rect.W - Rect.H * _TextureProgressBegin.OrigAspect, Rect.Y, Rect.H *_TextureProgressBegin.OrigAspect, Rect.H, Rect.Z); break; case EDirection.Down: - _RectProgressBegin = new SRectF(Rect.X, Rect.Y, Rect.W, Rect.W, Rect.Z); - _TextureProgressBegin = _TextureProgressLeft; + _TextureProgressBegin = TextureProgressLeft; + _RectProgressBegin = new SRectF(Rect.X, Rect.Y, Rect.W, Rect.W * _TextureProgressBegin.OrigAspect, Rect.Z); break; } } @@ -364,21 +364,21 @@ namespace VocaluxeLib.Menu switch (_Theme.Direction) { case EDirection.Right: - _RectProgressMid = new SRectF(Rect.X + Rect.H, Rect.Y, (Rect.W - 2 * Rect.H) * _ProgressCurrent, Rect.H, Rect.Z); + _RectProgressMid = new SRectF(_RectProgressBegin.X + _RectProgressBegin.W, Rect.Y, (Rect.W - 2 * Rect.H) * _ProgressCurrent, Rect.H, Rect.Z); break; case EDirection.Up: float newHeight = (Rect.H - 2 * Rect.W) * _ProgressCurrent; - _RectProgressMid = new SRectF(Rect.X, Rect.Y + (Rect.H - Rect.W) - newHeight, Rect.W, newHeight, Rect.Z); + _RectProgressMid = new SRectF(Rect.X, _RectProgressBegin.Y - newHeight, Rect.W, newHeight, Rect.Z); break; case EDirection.Left: float newWidth = (Rect.W - 2 * Rect.H) * _ProgressCurrent; - _RectProgressMid = new SRectF(Rect.X + (Rect.W - Rect.H) - newWidth, Rect.Y, newWidth, Rect.H, Rect.Z); + _RectProgressMid = new SRectF(_RectProgressBegin.X - newWidth, Rect.Y, newWidth, Rect.H, Rect.Z); break; case EDirection.Down: - _RectProgressMid = new SRectF(Rect.X, Rect.Y, (Rect.H - 2 * Rect.W) * _ProgressCurrent, Rect.W, Rect.Z); + _RectProgressMid = new SRectF(Rect.X, _RectProgressBegin.Y + _RectProgressBegin.H, (Rect.H - 2 * Rect.W) * _ProgressCurrent, Rect.W, Rect.Z); break; } } @@ -388,23 +388,23 @@ namespace VocaluxeLib.Menu switch (_Theme.Direction) { case EDirection.Right: - _RectProgressEnd = new SRectF(_RectProgressMid.X + _RectProgressMid.W, Rect.Y, Rect.H, Rect.H, Rect.Z); _TextureProgressEnd = _TextureProgressRight; + _RectProgressEnd = new SRectF(_RectProgressMid.X + _RectProgressMid.W, Rect.Y, Rect.H * _TextureProgressBegin.OrigAspect, Rect.H, Rect.Z); break; case EDirection.Up: - _RectProgressEnd = new SRectF(Rect.X, _RectProgressMid.Y + Rect.W, Rect.W, Rect.W, Rect.Z); _TextureProgressEnd = _TextureProgressLeft; + _RectProgressEnd = new SRectF(Rect.X, _RectProgressMid.Y + Rect.W, Rect.W, Rect.W * _TextureProgressBegin.OrigAspect, Rect.Z); break; case EDirection.Left: - _RectProgressEnd = new SRectF(_RectProgressMid.X - Rect.H, Rect.Y, Rect.H, Rect.H, Rect.Z); _TextureProgressEnd = _TextureProgressLeft; + _RectProgressEnd = new SRectF(_RectProgressMid.X - Rect.H, Rect.Y, Rect.H * _TextureProgressBegin.OrigAspect, Rect.H, Rect.Z); break; case EDirection.Down: - _RectProgressEnd = new SRectF(Rect.X, _RectProgressMid.Y + _RectProgressMid.H, Rect.W, Rect.W, Rect.Z); _TextureProgressEnd = _TextureProgressRight; + _RectProgressEnd = new SRectF(Rect.X, _RectProgressMid.Y + _RectProgressMid.H, Rect.W, Rect.W * _TextureProgressBegin.OrigAspect, Rect.Z); break; } }