From c2351d19db6018f02853187b5f44a9b94dc58761 Mon Sep 17 00:00:00 2001 From: Jaidyn Ann Date: Sun, 12 Jun 2022 22:06:55 -0500 Subject: [PATCH] Support for vertically-oriented controls This involved some restructuring: * Themes are now split into ./Horizontal and ./Vertical sections * DrawTiledImage() and DrawImage() work for any orientation * Better cleanup/initializing of the (now 3D) image arrays * Use named enums for state/side/orientation --- ImageControlLook.cpp | 201 ++++++++++++------ ImageControlLook.h | 35 ++- .../{ => Horizontal}/Button/ActivatedLeft | Bin .../{ => Horizontal}/Button/ActivatedMiddle | Bin .../{ => Horizontal}/Button/ActivatedRight | Bin .../Akva/{ => Horizontal}/Button/DisabledLeft | Bin .../{ => Horizontal}/Button/DisabledMiddle | Bin .../{ => Horizontal}/Button/DisabledRight | Bin .../Akva/{ => Horizontal}/Button/HoverLeft | Bin .../Akva/{ => Horizontal}/Button/HoverMiddle | Bin .../Akva/{ => Horizontal}/Button/HoverRight | Bin .../Akva/{ => Horizontal}/Button/InactiveLeft | Bin .../{ => Horizontal}/Button/InactiveMiddle | Bin .../{ => Horizontal}/Button/InactiveRight | Bin .../Akva/{ => Horizontal}/Button/NormalLeft | Bin .../Akva/{ => Horizontal}/Button/NormalMiddle | Bin .../Akva/{ => Horizontal}/Button/NormalRight | Bin .../CheckBox-Checked/Activated | Bin .../CheckBox-Checked/Disabled | Bin .../{ => Horizontal}/CheckBox-Checked/Hover | Bin .../CheckBox-Checked/Inactive | Bin .../{ => Horizontal}/CheckBox-Checked/Normal | Bin .../CheckBox-Unchecked/Activated | Bin .../CheckBox-Unchecked/Disabled | Bin .../{ => Horizontal}/CheckBox-Unchecked/Hover | Bin .../CheckBox-Unchecked/Inactive | Bin .../CheckBox-Unchecked/Normal | Bin .../RadioButton-Checked/Activated | Bin .../RadioButton-Checked/Disabled | Bin .../RadioButton-Checked/Hover | Bin .../RadioButton-Checked/Inactive | Bin .../RadioButton-Checked/Normal | Bin .../RadioButton-Unchecked/Activated | Bin .../RadioButton-Unchecked/Disabled | Bin .../RadioButton-Unchecked/Hover | Bin .../RadioButton-Unchecked/Inactive | Bin .../RadioButton-Unchecked/Normal | Bin .../{ => Horizontal}/SliderBar/NormalLeft | Bin .../{ => Horizontal}/SliderBar/NormalMiddle | Bin .../{ => Horizontal}/SliderBar/NormalRight | Bin .../{ => Horizontal}/SliderBar/README.txt | 0 .../{ => Horizontal}/SliderThumb/Activated | Bin .../{ => Horizontal}/SliderThumb/Disabled | Bin .../Akva/{ => Horizontal}/SliderThumb/Hover | Bin .../{ => Horizontal}/SliderThumb/Inactive | Bin .../Akva/{ => Horizontal}/SliderThumb/Normal | Bin .../{ => Horizontal}/SliderTriangle/Activated | Bin .../{ => Horizontal}/SliderTriangle/Disabled | Bin .../{ => Horizontal}/SliderTriangle/Hover | Bin .../{ => Horizontal}/SliderTriangle/Inactive | Bin .../{ => Horizontal}/SliderTriangle/Normal | Bin .../Akva/Vertical/Button/ActivatedLeft | Bin 0 -> 1024 bytes .../Akva/Vertical/Button/ActivatedMiddle | Bin 0 -> 432 bytes .../Akva/Vertical/Button/ActivatedRight | Bin 0 -> 1124 bytes .../Akva/Vertical/Button/DisabledLeft | Bin 0 -> 5940 bytes .../Akva/Vertical/Button/DisabledMiddle | Bin 0 -> 3166 bytes .../Akva/Vertical/Button/DisabledRight | Bin 0 -> 5631 bytes .../Akva/Vertical/Button/HoverLeft | Bin 0 -> 1024 bytes .../Akva/Vertical/Button/HoverMiddle | Bin 0 -> 423 bytes .../Akva/Vertical/Button/HoverRight | Bin 0 -> 1127 bytes .../Akva/Vertical/Button/InactiveLeft | Bin 0 -> 5949 bytes .../Akva/Vertical/Button/InactiveMiddle | Bin 0 -> 3167 bytes .../Akva/Vertical/Button/InactiveRight | Bin 0 -> 5645 bytes .../Akva/Vertical/Button/NormalLeft | Bin 0 -> 1003 bytes .../Akva/Vertical/Button/NormalMiddle | Bin 0 -> 330 bytes .../Akva/Vertical/Button/NormalRight | Bin 0 -> 906 bytes data/ImageThemes/Akva/Vertical/README.txt | 1 + .../Akva/Vertical/SliderThumb/Activated | Bin 0 -> 999 bytes .../Akva/Vertical/SliderThumb/Disabled | Bin 0 -> 1076 bytes .../Akva/Vertical/SliderThumb/Hover | Bin 0 -> 995 bytes .../Akva/Vertical/SliderThumb/Inactive | Bin 0 -> 1087 bytes .../Akva/Vertical/SliderThumb/Normal | Bin 0 -> 1010 bytes .../Akva/Vertical/SliderTriangle/Activated | Bin 0 -> 8388 bytes .../Akva/Vertical/SliderTriangle/Disabled | Bin 0 -> 8951 bytes .../Akva/Vertical/SliderTriangle/Hover | Bin 0 -> 8312 bytes .../Akva/Vertical/SliderTriangle/Inactive | Bin 0 -> 9018 bytes .../Akva/Vertical/SliderTriangle/Normal | Bin 0 -> 8901 bytes util/RotateICLTheme.sh | 28 +++ 78 files changed, 191 insertions(+), 74 deletions(-) rename data/ImageThemes/Akva/{ => Horizontal}/Button/ActivatedLeft (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/ActivatedMiddle (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/ActivatedRight (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/DisabledLeft (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/DisabledMiddle (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/DisabledRight (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/HoverLeft (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/HoverMiddle (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/HoverRight (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/InactiveLeft (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/InactiveMiddle (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/InactiveRight (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/NormalLeft (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/NormalMiddle (100%) rename data/ImageThemes/Akva/{ => Horizontal}/Button/NormalRight (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Checked/Activated (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Checked/Disabled (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Checked/Hover (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Checked/Inactive (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Checked/Normal (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Unchecked/Activated (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Unchecked/Disabled (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Unchecked/Hover (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Unchecked/Inactive (100%) rename data/ImageThemes/Akva/{ => Horizontal}/CheckBox-Unchecked/Normal (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Checked/Activated (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Checked/Disabled (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Checked/Hover (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Checked/Inactive (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Checked/Normal (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Unchecked/Activated (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Unchecked/Disabled (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Unchecked/Hover (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Unchecked/Inactive (100%) rename data/ImageThemes/Akva/{ => Horizontal}/RadioButton-Unchecked/Normal (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderBar/NormalLeft (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderBar/NormalMiddle (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderBar/NormalRight (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderBar/README.txt (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderThumb/Activated (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderThumb/Disabled (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderThumb/Hover (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderThumb/Inactive (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderThumb/Normal (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderTriangle/Activated (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderTriangle/Disabled (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderTriangle/Hover (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderTriangle/Inactive (100%) rename data/ImageThemes/Akva/{ => Horizontal}/SliderTriangle/Normal (100%) create mode 100644 data/ImageThemes/Akva/Vertical/Button/ActivatedLeft create mode 100644 data/ImageThemes/Akva/Vertical/Button/ActivatedMiddle create mode 100644 data/ImageThemes/Akva/Vertical/Button/ActivatedRight create mode 100644 data/ImageThemes/Akva/Vertical/Button/DisabledLeft create mode 100644 data/ImageThemes/Akva/Vertical/Button/DisabledMiddle create mode 100644 data/ImageThemes/Akva/Vertical/Button/DisabledRight create mode 100644 data/ImageThemes/Akva/Vertical/Button/HoverLeft create mode 100644 data/ImageThemes/Akva/Vertical/Button/HoverMiddle create mode 100644 data/ImageThemes/Akva/Vertical/Button/HoverRight create mode 100644 data/ImageThemes/Akva/Vertical/Button/InactiveLeft create mode 100644 data/ImageThemes/Akva/Vertical/Button/InactiveMiddle create mode 100644 data/ImageThemes/Akva/Vertical/Button/InactiveRight create mode 100644 data/ImageThemes/Akva/Vertical/Button/NormalLeft create mode 100644 data/ImageThemes/Akva/Vertical/Button/NormalMiddle create mode 100644 data/ImageThemes/Akva/Vertical/Button/NormalRight create mode 100644 data/ImageThemes/Akva/Vertical/README.txt create mode 100644 data/ImageThemes/Akva/Vertical/SliderThumb/Activated create mode 100644 data/ImageThemes/Akva/Vertical/SliderThumb/Disabled create mode 100644 data/ImageThemes/Akva/Vertical/SliderThumb/Hover create mode 100644 data/ImageThemes/Akva/Vertical/SliderThumb/Inactive create mode 100644 data/ImageThemes/Akva/Vertical/SliderThumb/Normal create mode 100644 data/ImageThemes/Akva/Vertical/SliderTriangle/Activated create mode 100644 data/ImageThemes/Akva/Vertical/SliderTriangle/Disabled create mode 100644 data/ImageThemes/Akva/Vertical/SliderTriangle/Hover create mode 100644 data/ImageThemes/Akva/Vertical/SliderTriangle/Inactive create mode 100644 data/ImageThemes/Akva/Vertical/SliderTriangle/Normal create mode 100755 util/RotateICLTheme.sh diff --git a/ImageControlLook.cpp b/ImageControlLook.cpp index e263484..a6deeb0 100644 --- a/ImageControlLook.cpp +++ b/ImageControlLook.cpp @@ -14,15 +14,17 @@ ImageControlLook::ImageControlLook(image_id id) : HaikuControlLook() { - for (int i = 0; i < 3; i++) - fButton[i].fill(NULL); + for (int orient = 0; orient < 2; orient++) { + for (int side = 0; side < 3; side++) + fButton[orient][side].fill(NULL); - fCheckBox_Checked.fill(NULL); - fCheckBox_Unchecked.fill(NULL); - fRadioButton_Checked.fill(NULL); - fRadioButton_Unchecked.fill(NULL); - fSliderThumb.fill(NULL); - fSliderTriangle.fill(NULL); + fCheckBox_Checked[orient].fill(NULL); + fCheckBox_Unchecked[orient].fill(NULL); + fRadioButton_Checked[orient].fill(NULL); + fRadioButton_Unchecked[orient].fill(NULL); + fSliderThumb[orient].fill(NULL); + fSliderTriangle[orient].fill(NULL); + } fImageRoot = BPath("/boot/home/Desktop/projects/haiku/ImageControlLook/data/ImageThemes/Akva/"); } @@ -31,9 +33,18 @@ ImageControlLook::ImageControlLook(image_id id) ImageControlLook::~ImageControlLook() { - for (int i = 0; i < 3; i++) - for (int j = 0; j < 6; j++) - delete fButton[i][j]; + for (int orient = 0; orient < 2; orient++) + for (int state = 0; state < 5; state++) { + for (int side = 0; side < 3; side++) + delete fButton[orient][side][state]; + + delete fCheckBox_Checked[orient][state]; + delete fCheckBox_Unchecked[orient][state]; + delete fRadioButton_Checked[orient][state]; + delete fRadioButton_Unchecked[orient][state]; + delete fSliderThumb[orient][state]; + delete fSliderTriangle[orient][state]; + } } @@ -42,7 +53,7 @@ void ImageControlLook::DrawButtonFrame(BView* view, BRect& rect, const BRect& updateRect, const rgb_color& base, const rgb_color& background, uint32 flags, uint32 borders) { - if (_Image("Button", ICL_MIDDLE, ICL_NORMAL) == NULL) + if (_Image("Button", ICL_NORMAL, ICL_MIDDLE) == NULL) HaikuControlLook::DrawButtonFrame(view, rect, updateRect, base, background, flags, borders); } @@ -51,7 +62,7 @@ void ImageControlLook::DrawButtonFrame(BView* view, BRect& rect, const BRect& updateRect, float radius, const rgb_color& base, const rgb_color& background, uint32 flags, uint32 borders) { - if (_Image("Button", ICL_MIDDLE, ICL_NORMAL) == NULL) + if (_Image("Button", ICL_NORMAL, ICL_MIDDLE) == NULL) HaikuControlLook::DrawButtonFrame(view, rect, updateRect, radius, base, background, flags, borders); } @@ -62,7 +73,7 @@ ImageControlLook::DrawButtonFrame(BView* view, BRect& rect, const BRect& updateR float leftTopRadius, float rightTopRadius, float leftBottomRadius, float rightBottomRadius, const rgb_color& base, const rgb_color& background, uint32 flags, uint32 borders) { - if (_Image("Button", ICL_MIDDLE, ICL_NORMAL) == NULL) + if (_Image("Button", ICL_NORMAL, ICL_MIDDLE) == NULL) HaikuControlLook::DrawButtonFrame(view, rect, updateRect, leftTopRadius, rightTopRadius, leftBottomRadius, rightBottomRadius, base, background, flags, borders); } @@ -72,7 +83,7 @@ void ImageControlLook::DrawButtonBackground(BView* view, BRect& rect, const BRect& updateRect, const rgb_color& base, uint32 flags, uint32 borders, orientation orientation) { - if (!_DrawTiledImage("Button", _FlagsToState(flags), view, rect, updateRect, orientation)) + if (!_DrawTiledImage("Button", flags, view, rect, updateRect, orientation)) HaikuControlLook::DrawButtonBackground(view, rect, updateRect, base, flags, borders, orientation); } @@ -82,7 +93,7 @@ void ImageControlLook::DrawButtonBackground(BView* view, BRect& rect, const BRect& updateRect, float radius, const rgb_color& base, uint32 flags, uint32 borders, orientation orientation) { - if (!_DrawTiledImage("Button", _FlagsToState(flags), view, rect, updateRect, orientation)) + if (!_DrawTiledImage("Button", flags, view, rect, updateRect, orientation)) HaikuControlLook::DrawButtonBackground(view, rect, updateRect, radius, base, flags, borders, orientation); } @@ -93,7 +104,7 @@ ImageControlLook::DrawButtonBackground(BView* view, BRect& rect, const BRect& up float leftTopRadius, float rightTopRadius, float leftBottomRadius, float rightBottomRadius, const rgb_color& base, uint32 flags, uint32 borders, orientation orientation) { - if (!_DrawTiledImage("Button", _FlagsToState(flags), view, rect, updateRect, orientation)) + if (!_DrawTiledImage("Button", flags, view, rect, updateRect, orientation)) HaikuControlLook::DrawButtonBackground(view, rect, updateRect, leftTopRadius, rightTopRadius,leftBottomRadius, rightBottomRadius, base, flags, borders, orientation); } @@ -105,9 +116,9 @@ ImageControlLook::DrawCheckBox(BView* view, BRect& rect, const BRect& updateRect { bool drawn = false; if (((BControl*)view)->Value() == B_CONTROL_ON) - drawn = _DrawImage("CheckBox-Checked", _FlagsToState(flags & ~B_ACTIVATED), view, rect); + drawn = _DrawImage("CheckBox-Checked", flags & ~B_ACTIVATED, view, rect); else - drawn = _DrawImage("CheckBox-Unchecked", _FlagsToState(flags), view, rect); + drawn = _DrawImage("CheckBox-Unchecked", flags, view, rect); if (!drawn) HaikuControlLook::DrawCheckBox(view, rect, updateRect, base, flags); @@ -120,9 +131,9 @@ ImageControlLook::DrawRadioButton(BView* view, BRect& rect, const BRect& updateR { bool drawn = false; if (((BControl*)view)->Value() == B_CONTROL_ON) - drawn = _DrawImage("RadioButton-Checked", _FlagsToState(flags & ~B_ACTIVATED), view, rect); + drawn = _DrawImage("RadioButton-Checked", flags & ~B_ACTIVATED, view, rect); else - drawn = _DrawImage("RadioButton-Unchecked", _FlagsToState(flags), view, rect); + drawn = _DrawImage("RadioButton-Unchecked", flags, view, rect); if (!drawn) HaikuControlLook::DrawRadioButton(view, rect, updateRect, base, flags); @@ -133,7 +144,7 @@ void ImageControlLook::DrawSliderThumb(BView* view, BRect& rect, const BRect& updateRect, const rgb_color& base, uint32 flags, orientation orientation) { - if (!_DrawImage("SliderThumb", _FlagsToState(flags), view, rect, orientation)) + if (!_DrawImage("SliderThumb", flags, view, rect, orientation)) HaikuControlLook::DrawSliderThumb(view, rect, updateRect, base, flags, orientation); } @@ -142,7 +153,7 @@ void ImageControlLook::DrawSliderTriangle(BView* view, BRect& rect, const BRect& updateRect, const rgb_color& base, uint32 flags, orientation orientation) { - if (!_DrawImage("SliderTriangle", _FlagsToState(flags), view, rect, orientation)) + if (!_DrawImage("SliderTriangle", flags, view, rect, orientation)) HaikuControlLook::DrawSliderTriangle(view, rect, updateRect, base, flags, orientation); } @@ -151,18 +162,18 @@ void ImageControlLook::DrawSliderTriangle(BView* view, BRect& rect, const BRect& updateRect, const rgb_color& base, const rgb_color& fill, uint32 flags, orientation orientation) { - if (!_DrawImage("SliderTriangle", _FlagsToState(flags), view, rect, orientation)) + if (!_DrawImage("SliderTriangle", flags, view, rect, orientation)) HaikuControlLook::DrawSliderTriangle(view, rect, updateRect, base, fill, flags, orientation); } bool -ImageControlLook::_DrawImage(const char* type, uint32 state, BView* view, BRect rect, - orientation orientation) +ImageControlLook::_DrawImage(const char* type, icl_state state, BView* view, BRect rect, + icl_orient orientation) { - BBitmap* image = _Image(type, state); - if (image != NULL && orientation == B_HORIZONTAL) { + BBitmap* image = _Image(type, state, ICL_NO_SIDE, orientation); + if (image != NULL) { view->SetDrawingMode(B_OP_ALPHA); view->DrawBitmap(image, rect); return true; @@ -172,48 +183,86 @@ ImageControlLook::_DrawImage(const char* type, uint32 state, BView* view, BRect bool -ImageControlLook::_DrawTiledImage(const char* type, uint32 state, BView* view, BRect rect, - BRect updateRect, orientation orientation) +ImageControlLook::_DrawImage(const char* type, uint32 flags, BView* view, BRect rect, + orientation orientation) { - BBitmap* tile = _Image(type, state, ICL_MIDDLE); - BBitmap* left = _Image(type, state, ICL_LEFT); - BBitmap* right = _Image(type, state, ICL_RIGHT); + return _DrawImage(type, _FlagsToState(flags), view, rect, _ICLOrientation(orientation)); +} - if (orientation == B_VERTICAL || tile == NULL) + +bool +ImageControlLook::_DrawTiledImage(const char* type, icl_state state, BView* view, BRect rect, + BRect updateRect, icl_orient orientation) +{ + BBitmap* tile = _Image(type, state, ICL_MIDDLE, orientation); + BBitmap* left = _Image(type, state, ICL_LEFT, orientation); + BBitmap* right = _Image(type, state, ICL_RIGHT, orientation); + + if (tile == NULL) return false; - float minX = 0; - float maxX = rect.Width(); - if (left != NULL) - minX = left->Bounds().Width(); - if (right != NULL) - maxX = rect.Width() - right->Bounds().Width(); + bool horiz = orientation == ICL_HORIZONTAL; - float heightRatio = rect.Height() / tile->Bounds().Height(); - float sliceWidth = heightRatio * tile->Bounds().Width(); + float min = 0; + float max = horiz ? rect.Width() : rect.Height(); + if (left != NULL) + min = horiz ? left->Bounds().Width() : left->Bounds().Height(); + if (right != NULL) + if (horiz) + max = rect.Width() - right->Bounds().Width(); + else + max = rect.Height() - right->Bounds().Height(); + + float sliceRatio = rect.Height() / tile->Bounds().Height(); + float sliceSize = sliceRatio * tile->Bounds().Width(); + if (!horiz) { + sliceRatio = rect.Width() / tile->Bounds().Width(); + sliceSize = sliceRatio * tile->Bounds().Height(); + } view->SetDrawingMode(B_OP_ALPHA); + // This is repetitive and not done well (the horiz and vert blocks are pretty much identical) BRect tileRect; - tileRect.top = 0; - tileRect.bottom = rect.Height(); - for (float left = minX; left + sliceWidth < maxX; left += sliceWidth) { - tileRect.left = left; - tileRect.right = left + sliceWidth; + if (horiz) { + tileRect.top = 0; + tileRect.bottom = rect.Height(); + for (float left = min; left + sliceSize < max; left += sliceSize) { + tileRect.left = left; + tileRect.right = left + sliceSize; + if (tileRect.Intersects(updateRect)) + view->DrawBitmap(tile, tileRect); + } + tileRect.right = max; + tileRect.left = max - sliceSize; + if (tileRect.Intersects(updateRect)) + view->DrawBitmap(tile, tileRect); + } else { + tileRect.left = 0; + tileRect.right = rect.Width(); + for (float top = min; top + sliceSize < max; top += sliceSize) { + tileRect.top = top; + tileRect.bottom = top + sliceSize; + if (tileRect.Intersects(updateRect)) + view->DrawBitmap(tile, tileRect); + } + tileRect.bottom = max; + tileRect.top = max - sliceSize; if (tileRect.Intersects(updateRect)) view->DrawBitmap(tile, tileRect); } - tileRect.right = maxX; - tileRect.left = maxX - sliceWidth; - if (tileRect.Intersects(updateRect)) - view->DrawBitmap(tile, tileRect); - BRect sideRect(0, 0, minX, rect.Height()); + BRect sideRect = horiz ? BRect(0, 0, min, rect.Height()) : BRect(0, 0, rect.Width(), min); if (left != NULL && sideRect.Intersects(updateRect)) view->DrawBitmap(left, sideRect); - sideRect.left = maxX; - sideRect.right = view->Bounds().right; + if (horiz) { + sideRect.left = max; + sideRect.right = view->Bounds().right; + } else { + sideRect.top = max; + sideRect.bottom = view->Bounds().bottom; + } if (right != NULL && sideRect.Intersects(updateRect)) view->DrawBitmap(right, sideRect); @@ -221,8 +270,17 @@ ImageControlLook::_DrawTiledImage(const char* type, uint32 state, BView* view, B } +bool +ImageControlLook::_DrawTiledImage(const char* type, uint32 flags, BView* view, BRect rect, + BRect updateRect, orientation orientation) +{ + return _DrawTiledImage(type, _FlagsToState(flags), view, rect, updateRect, + _ICLOrientation(orientation)); +} + + BBitmap* -ImageControlLook::_Image(const char* type, uint32 state, uint32 side) +ImageControlLook::_Image(const char* type, icl_state state, icl_side side, icl_orient orientation) { SidedImages* sideList = NULL; UnsidedImages* nosideList = NULL; @@ -243,27 +301,33 @@ ImageControlLook::_Image(const char* type, uint32 state, uint32 side) else if (strcmp(type, "SliderTriangle") == 0) nosideList = &fSliderTriangle; - if (sideList != NULL && (*sideList)[side][state] == NULL) - (*sideList)[side][state] = BTranslationUtils::GetBitmapFile(_ImagePath(type, state, side)); + if (sideList != NULL && (*sideList)[orientation][side][state] == NULL) + (*sideList)[orientation][side][state] + = BTranslationUtils::GetBitmapFile(_ImagePath(type, state, side, orientation)); if (sideList != NULL) - image = (*sideList)[side][state]; + image = (*sideList)[orientation][side][state]; - if (nosideList != NULL && (*nosideList)[state] == NULL) - (*nosideList)[state] = BTranslationUtils::GetBitmapFile(_ImagePath(type, state)); + if (nosideList != NULL && (*nosideList)[orientation][state] == NULL) + (*nosideList)[orientation][state] + = BTranslationUtils::GetBitmapFile(_ImagePath(type, state, ICL_NO_SIDE, orientation)); if (nosideList != NULL) - image = (*nosideList)[state]; + image = (*nosideList)[orientation][state]; return image; } const char* -ImageControlLook::_ImagePath(const char* type, uint32 state, uint32 side) +ImageControlLook::_ImagePath(const char* type, icl_state state, icl_side side, icl_orient orientation) { BString leaf = kStates[state]; leaf << kSides[side]; BPath imgPath(fImageRoot.Path()); + if (orientation == ICL_VERTICAL) + imgPath.Append("Vertical"); + else + imgPath.Append("Horizontal"); imgPath.Append(type); imgPath.Append(leaf); printf("[ImageControlLook] Searching for %s…\n", imgPath.Path()); @@ -271,10 +335,10 @@ ImageControlLook::_ImagePath(const char* type, uint32 state, uint32 side) } -uint32 +icl_state ImageControlLook::_FlagsToState(uint32 flags) { - uint32 state = ICL_NORMAL; + icl_state state = ICL_NORMAL; if (flags & B_DISABLED) state = ICL_DISABLED; else if (flags & (B_ACTIVATED | B_PARTIALLY_ACTIVATED | B_CLICKED)) @@ -285,6 +349,15 @@ ImageControlLook::_FlagsToState(uint32 flags) } +icl_orient +ImageControlLook::_ICLOrientation(orientation orientation) +{ + if (orientation == B_VERTICAL) + return ICL_VERTICAL; + return ICL_HORIZONTAL; +} + + extern "C" BControlLook* (instantiate_control_look)(image_id id) { return new (std::nothrow)ImageControlLook(id); diff --git a/ImageControlLook.h b/ImageControlLook.h index d5bbdaa..c45727d 100644 --- a/ImageControlLook.h +++ b/ImageControlLook.h @@ -20,14 +20,19 @@ class BView; using BPrivate::HaikuControlLook; -enum { +enum icl_orient { + ICL_HORIZONTAL, + ICL_VERTICAL +}; + +enum icl_side { ICL_MIDDLE, ICL_LEFT, ICL_RIGHT, ICL_NO_SIDE }; -enum { +enum icl_state { ICL_NORMAL, ICL_INACTIVE, ICL_HOVER, @@ -40,8 +45,8 @@ const char* kStates[] = { "Normal", "Inactive", "Hover", "Disabled", "Activated" const char* kSides[] = { "Middle", "Left", "Right", "" }; -typedef std::array, 3> SidedImages; -typedef std::array UnsidedImages; +typedef std::array, 3>, 2> SidedImages; +typedef std::array, 2> UnsidedImages; class ImageControlLook : public HaikuControlLook { @@ -123,17 +128,27 @@ public: orientation orientation); private: - bool _DrawImage(const char* type, uint32 state, BView* view, BRect rect, + bool _DrawImage(const char* type, icl_state state, BView* view, BRect rect, + icl_orient orientation = ICL_HORIZONTAL); + bool _DrawImage(const char* type, uint32 flags, BView* view, BRect rect, orientation orientation = B_HORIZONTAL); - bool _DrawTiledImage(const char* type, uint32 state, BView* view, + + bool _DrawTiledImage(const char* type, icl_state state, BView* view, + BRect rect, BRect updateRect, + icl_orient orientation = ICL_HORIZONTAL); + bool _DrawTiledImage(const char* type, uint32 flags, BView* view, BRect rect, BRect updateRect, orientation orientation = B_HORIZONTAL); - BBitmap* _Image(const char* type, uint32 state, uint32 side = ICL_NO_SIDE); - const char* _ImagePath(const char* type, uint32 state, - uint32 side = ICL_NO_SIDE); + BBitmap* _Image(const char* type, icl_state state, + icl_side side = ICL_NO_SIDE, + icl_orient orientation = ICL_HORIZONTAL); + const char* _ImagePath(const char* type, icl_state state, + icl_side side = ICL_NO_SIDE, + icl_orient orientation = ICL_HORIZONTAL); - uint32 _FlagsToState(uint32 flags); + icl_state _FlagsToState(uint32 flags); + icl_orient _ICLOrientation(orientation orientation); BPath fImageRoot; diff --git a/data/ImageThemes/Akva/Button/ActivatedLeft b/data/ImageThemes/Akva/Horizontal/Button/ActivatedLeft similarity index 100% rename from data/ImageThemes/Akva/Button/ActivatedLeft rename to data/ImageThemes/Akva/Horizontal/Button/ActivatedLeft diff --git a/data/ImageThemes/Akva/Button/ActivatedMiddle b/data/ImageThemes/Akva/Horizontal/Button/ActivatedMiddle similarity index 100% rename from data/ImageThemes/Akva/Button/ActivatedMiddle rename to data/ImageThemes/Akva/Horizontal/Button/ActivatedMiddle diff --git a/data/ImageThemes/Akva/Button/ActivatedRight b/data/ImageThemes/Akva/Horizontal/Button/ActivatedRight similarity index 100% rename from data/ImageThemes/Akva/Button/ActivatedRight rename to data/ImageThemes/Akva/Horizontal/Button/ActivatedRight diff --git a/data/ImageThemes/Akva/Button/DisabledLeft b/data/ImageThemes/Akva/Horizontal/Button/DisabledLeft similarity index 100% rename from data/ImageThemes/Akva/Button/DisabledLeft rename to data/ImageThemes/Akva/Horizontal/Button/DisabledLeft diff --git a/data/ImageThemes/Akva/Button/DisabledMiddle b/data/ImageThemes/Akva/Horizontal/Button/DisabledMiddle similarity index 100% rename from data/ImageThemes/Akva/Button/DisabledMiddle rename to data/ImageThemes/Akva/Horizontal/Button/DisabledMiddle diff --git a/data/ImageThemes/Akva/Button/DisabledRight b/data/ImageThemes/Akva/Horizontal/Button/DisabledRight similarity index 100% rename from data/ImageThemes/Akva/Button/DisabledRight rename to data/ImageThemes/Akva/Horizontal/Button/DisabledRight diff --git a/data/ImageThemes/Akva/Button/HoverLeft b/data/ImageThemes/Akva/Horizontal/Button/HoverLeft similarity index 100% rename from data/ImageThemes/Akva/Button/HoverLeft rename to data/ImageThemes/Akva/Horizontal/Button/HoverLeft diff --git a/data/ImageThemes/Akva/Button/HoverMiddle b/data/ImageThemes/Akva/Horizontal/Button/HoverMiddle similarity index 100% rename from data/ImageThemes/Akva/Button/HoverMiddle rename to data/ImageThemes/Akva/Horizontal/Button/HoverMiddle diff --git a/data/ImageThemes/Akva/Button/HoverRight b/data/ImageThemes/Akva/Horizontal/Button/HoverRight similarity index 100% rename from data/ImageThemes/Akva/Button/HoverRight rename to data/ImageThemes/Akva/Horizontal/Button/HoverRight diff --git a/data/ImageThemes/Akva/Button/InactiveLeft b/data/ImageThemes/Akva/Horizontal/Button/InactiveLeft similarity index 100% rename from data/ImageThemes/Akva/Button/InactiveLeft rename to data/ImageThemes/Akva/Horizontal/Button/InactiveLeft diff --git a/data/ImageThemes/Akva/Button/InactiveMiddle b/data/ImageThemes/Akva/Horizontal/Button/InactiveMiddle similarity index 100% rename from data/ImageThemes/Akva/Button/InactiveMiddle rename to data/ImageThemes/Akva/Horizontal/Button/InactiveMiddle diff --git a/data/ImageThemes/Akva/Button/InactiveRight b/data/ImageThemes/Akva/Horizontal/Button/InactiveRight similarity index 100% rename from data/ImageThemes/Akva/Button/InactiveRight rename to data/ImageThemes/Akva/Horizontal/Button/InactiveRight diff --git a/data/ImageThemes/Akva/Button/NormalLeft b/data/ImageThemes/Akva/Horizontal/Button/NormalLeft similarity index 100% rename from data/ImageThemes/Akva/Button/NormalLeft rename to data/ImageThemes/Akva/Horizontal/Button/NormalLeft diff --git a/data/ImageThemes/Akva/Button/NormalMiddle b/data/ImageThemes/Akva/Horizontal/Button/NormalMiddle similarity index 100% rename from data/ImageThemes/Akva/Button/NormalMiddle rename to data/ImageThemes/Akva/Horizontal/Button/NormalMiddle diff --git a/data/ImageThemes/Akva/Button/NormalRight b/data/ImageThemes/Akva/Horizontal/Button/NormalRight similarity index 100% rename from data/ImageThemes/Akva/Button/NormalRight rename to data/ImageThemes/Akva/Horizontal/Button/NormalRight diff --git a/data/ImageThemes/Akva/CheckBox-Checked/Activated b/data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Activated similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Checked/Activated rename to data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Activated diff --git a/data/ImageThemes/Akva/CheckBox-Checked/Disabled b/data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Disabled similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Checked/Disabled rename to data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Disabled diff --git a/data/ImageThemes/Akva/CheckBox-Checked/Hover b/data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Hover similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Checked/Hover rename to data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Hover diff --git a/data/ImageThemes/Akva/CheckBox-Checked/Inactive b/data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Inactive similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Checked/Inactive rename to data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Inactive diff --git a/data/ImageThemes/Akva/CheckBox-Checked/Normal b/data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Normal similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Checked/Normal rename to data/ImageThemes/Akva/Horizontal/CheckBox-Checked/Normal diff --git a/data/ImageThemes/Akva/CheckBox-Unchecked/Activated b/data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Activated similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Unchecked/Activated rename to data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Activated diff --git a/data/ImageThemes/Akva/CheckBox-Unchecked/Disabled b/data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Disabled similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Unchecked/Disabled rename to data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Disabled diff --git a/data/ImageThemes/Akva/CheckBox-Unchecked/Hover b/data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Hover similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Unchecked/Hover rename to data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Hover diff --git a/data/ImageThemes/Akva/CheckBox-Unchecked/Inactive b/data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Inactive similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Unchecked/Inactive rename to data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Inactive diff --git a/data/ImageThemes/Akva/CheckBox-Unchecked/Normal b/data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Normal similarity index 100% rename from data/ImageThemes/Akva/CheckBox-Unchecked/Normal rename to data/ImageThemes/Akva/Horizontal/CheckBox-Unchecked/Normal diff --git a/data/ImageThemes/Akva/RadioButton-Checked/Activated b/data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Activated similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Checked/Activated rename to data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Activated diff --git a/data/ImageThemes/Akva/RadioButton-Checked/Disabled b/data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Disabled similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Checked/Disabled rename to data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Disabled diff --git a/data/ImageThemes/Akva/RadioButton-Checked/Hover b/data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Hover similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Checked/Hover rename to data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Hover diff --git a/data/ImageThemes/Akva/RadioButton-Checked/Inactive b/data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Inactive similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Checked/Inactive rename to data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Inactive diff --git a/data/ImageThemes/Akva/RadioButton-Checked/Normal b/data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Normal similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Checked/Normal rename to data/ImageThemes/Akva/Horizontal/RadioButton-Checked/Normal diff --git a/data/ImageThemes/Akva/RadioButton-Unchecked/Activated b/data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Activated similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Unchecked/Activated rename to data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Activated diff --git a/data/ImageThemes/Akva/RadioButton-Unchecked/Disabled b/data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Disabled similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Unchecked/Disabled rename to data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Disabled diff --git a/data/ImageThemes/Akva/RadioButton-Unchecked/Hover b/data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Hover similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Unchecked/Hover rename to data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Hover diff --git a/data/ImageThemes/Akva/RadioButton-Unchecked/Inactive b/data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Inactive similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Unchecked/Inactive rename to data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Inactive diff --git a/data/ImageThemes/Akva/RadioButton-Unchecked/Normal b/data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Normal similarity index 100% rename from data/ImageThemes/Akva/RadioButton-Unchecked/Normal rename to data/ImageThemes/Akva/Horizontal/RadioButton-Unchecked/Normal diff --git a/data/ImageThemes/Akva/SliderBar/NormalLeft b/data/ImageThemes/Akva/Horizontal/SliderBar/NormalLeft similarity index 100% rename from data/ImageThemes/Akva/SliderBar/NormalLeft rename to data/ImageThemes/Akva/Horizontal/SliderBar/NormalLeft diff --git a/data/ImageThemes/Akva/SliderBar/NormalMiddle b/data/ImageThemes/Akva/Horizontal/SliderBar/NormalMiddle similarity index 100% rename from data/ImageThemes/Akva/SliderBar/NormalMiddle rename to data/ImageThemes/Akva/Horizontal/SliderBar/NormalMiddle diff --git a/data/ImageThemes/Akva/SliderBar/NormalRight b/data/ImageThemes/Akva/Horizontal/SliderBar/NormalRight similarity index 100% rename from data/ImageThemes/Akva/SliderBar/NormalRight rename to data/ImageThemes/Akva/Horizontal/SliderBar/NormalRight diff --git a/data/ImageThemes/Akva/SliderBar/README.txt b/data/ImageThemes/Akva/Horizontal/SliderBar/README.txt similarity index 100% rename from data/ImageThemes/Akva/SliderBar/README.txt rename to data/ImageThemes/Akva/Horizontal/SliderBar/README.txt diff --git a/data/ImageThemes/Akva/SliderThumb/Activated b/data/ImageThemes/Akva/Horizontal/SliderThumb/Activated similarity index 100% rename from data/ImageThemes/Akva/SliderThumb/Activated rename to data/ImageThemes/Akva/Horizontal/SliderThumb/Activated diff --git a/data/ImageThemes/Akva/SliderThumb/Disabled b/data/ImageThemes/Akva/Horizontal/SliderThumb/Disabled similarity index 100% rename from data/ImageThemes/Akva/SliderThumb/Disabled rename to data/ImageThemes/Akva/Horizontal/SliderThumb/Disabled diff --git a/data/ImageThemes/Akva/SliderThumb/Hover b/data/ImageThemes/Akva/Horizontal/SliderThumb/Hover similarity index 100% rename from data/ImageThemes/Akva/SliderThumb/Hover rename to data/ImageThemes/Akva/Horizontal/SliderThumb/Hover diff --git a/data/ImageThemes/Akva/SliderThumb/Inactive b/data/ImageThemes/Akva/Horizontal/SliderThumb/Inactive similarity index 100% rename from data/ImageThemes/Akva/SliderThumb/Inactive rename to data/ImageThemes/Akva/Horizontal/SliderThumb/Inactive diff --git a/data/ImageThemes/Akva/SliderThumb/Normal b/data/ImageThemes/Akva/Horizontal/SliderThumb/Normal similarity index 100% rename from data/ImageThemes/Akva/SliderThumb/Normal rename to data/ImageThemes/Akva/Horizontal/SliderThumb/Normal diff --git a/data/ImageThemes/Akva/SliderTriangle/Activated b/data/ImageThemes/Akva/Horizontal/SliderTriangle/Activated similarity index 100% rename from data/ImageThemes/Akva/SliderTriangle/Activated rename to data/ImageThemes/Akva/Horizontal/SliderTriangle/Activated diff --git a/data/ImageThemes/Akva/SliderTriangle/Disabled b/data/ImageThemes/Akva/Horizontal/SliderTriangle/Disabled similarity index 100% rename from data/ImageThemes/Akva/SliderTriangle/Disabled rename to data/ImageThemes/Akva/Horizontal/SliderTriangle/Disabled diff --git a/data/ImageThemes/Akva/SliderTriangle/Hover b/data/ImageThemes/Akva/Horizontal/SliderTriangle/Hover similarity index 100% rename from data/ImageThemes/Akva/SliderTriangle/Hover rename to data/ImageThemes/Akva/Horizontal/SliderTriangle/Hover diff --git a/data/ImageThemes/Akva/SliderTriangle/Inactive b/data/ImageThemes/Akva/Horizontal/SliderTriangle/Inactive similarity index 100% rename from data/ImageThemes/Akva/SliderTriangle/Inactive rename to data/ImageThemes/Akva/Horizontal/SliderTriangle/Inactive diff --git a/data/ImageThemes/Akva/SliderTriangle/Normal b/data/ImageThemes/Akva/Horizontal/SliderTriangle/Normal similarity index 100% rename from data/ImageThemes/Akva/SliderTriangle/Normal rename to data/ImageThemes/Akva/Horizontal/SliderTriangle/Normal diff --git a/data/ImageThemes/Akva/Vertical/Button/ActivatedLeft b/data/ImageThemes/Akva/Vertical/Button/ActivatedLeft new file mode 100644 index 0000000000000000000000000000000000000000..ebf1448b76e4d69738806bb16d8d6ff55409a286 GIT binary patch literal 1024 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{a!3-o{-JR|Nq*&4&eH|GXHuiJ>Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!F0CglVFj&oCU=S~uvn$Ysfr0UBfKP}kPyre+Hg@v# zj13IT^!Ly6^DFfAE%o*;cXKN=HI0R+G%&CX3``79DDe&H_V8#lGfRPpJ2`no$LD%^ z_gY(5J2<$-r53rkO|r46)zdRhNX~M0nqXp51W_3n9A;!;=v*w{|7wl4SZ z@V2pO4-E~sw(bot=nJY|=~TDdwED17={BQ`MGn!EqDrU6PP&*p>t6DV>q%3uMD(5Z zXgO+Db3mndw|eSY$IzK+U7HJ6ekoc0reyKsqDA*IXI@F0c0Ro4L}c%gyqRZmW}Hgz zIvkL&tZ>Sfh8_RwH~p_$|Dk5}vx;T+OBdbBoOwBE%DJW$SKC)zZC!Dteffp1`Dd~V z*A{io>^b?rbN~PL9sk?6|8L&(p=Rxi%4PS9=HJYkd8KRJt&X+Vde&a+T61;k+A9lJ zUrtO~)_3H=lym;Jm7Z_AcF&7F65;+BUK zHr<}G`R0tRw`Og>xn%e4Er;*7cJKTD|No+o>{-CjH!2D83ua(s=HM4I%2;*n#nq*8 zYOFk_bN~FFpvWr~`tqqw`1dc?Hm@GbGAS+UW^w%UTdq8G>wNCXQhR{98I!!-U6yU% zAUzexVK4FYb!C6X#>>oW@ZeHEDBYd%ba4#fxSpJlkdl;^n40|j!IMYN9zIP@OG;s2 za;swub5u-JP8JR}F6I^tG_0FouzyF(k||54ZtYz=cW?9J$(y(Ectkijg`GQk_3Yil zmrvh5e*L_?LmXoU$Ld8v2>}Hj84(pODIq03IWc=Sb!j!vs&YySD)P#Ts&Y#UEAz{X zt7~jiYo1n?7+C0;8CmI?8d~a`8(ZtVxKFP+F1Xk`JG$CEJtMr_KR^C|OXp;@*Txb) zGp%x~ZuiXGoOXVub^gDm)^0KV$Se+qhx}&8OukNZ2l`62#5JNMC9x#cD!C{XNHG{0 z7#ZmrnCTiCg%}!J85&p_T51~@SQ!|w=f{?yXvob^$xN$6XfO;hGPW`>wlXn=XlP3+ RF#>8}@O1TaS?83{1ON(1zXSjP literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/ActivatedMiddle b/data/ImageThemes/Akva/Vertical/Button/ActivatedMiddle new file mode 100644 index 0000000000000000000000000000000000000000..a29b293237d90ac7d557ed68888a9cd87b640aa0 GIT binary patch literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C)pj@Ck8^iH;aNs zMlUiM9UX0G*t_)8|3y#!&%OD7#>M|rPye5AQ!WKAyDY z!IUj`XKcGYch~J@2kxyu@?iJzhyVZocS-J%1X{#h666>B>)Y?2Uw?f5_VLU6mOBzl zfWnMP-tI1PMO+HnKn{C}r>`sfGd5mkUV{gh`aur2^mK6y;kcfh@Zj0Qr;o)2M1;fy zMTMtNm@;YF#MG38Lt3XCnly~X0>#+EbQb0CyoqqJl(5*?QN+l==f)##&-p$XXozZw zYeY#(Vo9o1a#1RfVlXl=GSW3L(={{-F*LR^G_W!<)HX1%GBDW1FY*CJLvDUbW?Cge ggJFn~v6X?5m5~`l!#s5!F`xzpPgg&ebxsLQ0B}~AfdBvi literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/ActivatedRight b/data/ImageThemes/Akva/Vertical/Button/ActivatedRight new file mode 100644 index 0000000000000000000000000000000000000000..04b5605ada64544a4e1882e8639cee0156c4c252 GIT binary patch literal 1124 zcmY+Cc~Fx_7{(Vl3nFa=u@^}Rv@AKQ4o!zP+Ce70P zkU0RrlI}+i#?%Iz=4OW2noM8c!o(=Shv5T&vc_VEV~qJDF@C`e0P>ClP|OG54OS}N z1b~MCu*C*|&|c@2bCJmIFrC+rZ5=k0Rdb(ol7F6y1B8ijO>xF zbq%&?p==IH??dqv6i!0^C@fUG%G`iF|v8y8r5>0a#5<$UDGUfjp>wkR@gB;;+eIEhp_e@ z6ivaaqp(c#x_D?izki+Ap-*boiiTFiLrY?%wsuG>Q!RFC7Mt5=Gpppn`>^URtQdn8 z7^2!PP;BOQ>oePyF3INwgStw^Q=#Ii;O2r)|`IX!8BC~xpQ9d6p`;jI5?wn{Q zRX&^C_#iV-Xw8#kC40-kFpdW$a7{`%9waZql0(D&6Z4tp%^IB))- z85tPwyYO<0V(Z?%vmyLCV#|HN>fQHhYU?D?^$k+lwMKcW~P3E0_xdg?PL=g$!w>hgsvem4pFDrr{Amh}y6>&T^qb7MK&I6_Qj z93}uoP}B**JK@k!oC^Vm5K!DH1R)^ExRv$x|A3UV*u?nU{{UPl>Ow#;27L=yIFc7J N0MIE+@}Muf^lvSk-1h(g literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/DisabledLeft b/data/ImageThemes/Akva/Vertical/Button/DisabledLeft new file mode 100644 index 0000000000000000000000000000000000000000..c419d081373297f60a4c163ab308dcf84270df85 GIT binary patch literal 5940 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 literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/DisabledMiddle b/data/ImageThemes/Akva/Vertical/Button/DisabledMiddle new file mode 100644 index 0000000000000000000000000000000000000000..f64a2711483168a9b74968a3d27634e3d27a8b9a GIT binary patch literal 3166 zcmbtW3s@6Z7QU0o8?wk#-ftmL#3V!>QIuB#LB#~90-w7YFpwxA2vL+)dAM3d(9afY z)wQHV1hs0Zu(taUb$#?93bCt}wH0Y~!PTy4R*?d;XGlQkhu?PF$(%W7?)lF>|37ml z-`y@tN#w9y*$5$yG$|n!ydxNkNrh_(`{XbmpDkgdbcflD`z~f{64=*MCQ2cG;V2KnEEYquQL#LfH6mZNf41UkNHIDBAK@!l+Ozd z<3T-7AQ17wMSOubFG>^^DG~?)jp<)9f>K~Vg3NQ1GmUA|kfB8r*;4-}7>bUK4hV=@>F7K_QY zcHmfBSy{W-+1ogHxO#bdxVpQ0`-cX4`-b?ryK^IgLU??kQ0NsH6&)#<8yY4Qkdt66 z7R%bo+L^;~7WlaP2>$PbIE!qVz(|8*zKCLr;kFoY0eJyW8a8^ErI12#Dvi!yve;Gt zXq`qrDV##ZX*4PIi_|#_7BT0s${X9 zraQa1&IkzP1_cXehet$4iQ*H)lEfrwa$5T9OO|G2X639@=H{u?tBQ4N*Ojc_P`df| zTeiNnZF|+*@6_&jckg@q_SYK@H5_hiI&$>mQ!TB3JpIY1e>(rS3l}e4{_OKFjMu;V z`;D8ozV5o)^WFFN?*Fs5??L~Qr>6frdp_`Dkkp02OC3AR%6_8D7IaalRGi8nbzzhe zQn)RZ=EJAk#mX6qHTJ%O3Z_Hc?hl&JvHZePA3J6jb+VoOg?DH4lhQ_&{XAinzew4* zu$Q{JkTs6M%foHae00C*WD0?{#1lw_HTP-mV)y z$Q_u_jhufmw2TD;cg6`!xWlh-e=XoTx2Z|bQjK5KiCJ4~*XmhK<0E8_UhvFN(i&cc z*8O``#2aZUJ!8TEUTi#&Eb73Yzajr~*8wq_Q_|}8*CQ=5{Iq32EDlh$qnQr-3_{eB znp@pLG45=+ZQR_BL{$qr_oJ+!Fo_CN9cp*c)8%3ZG-jzgTWSr*p->(}vlyqoii^gq z!9yLCn1!;q_2q1f*;Q?Rv}Q2kUSijGChZsHf%W#rScochRN`V`1Xe0J9|*Z|G)>^v|a|B*XmuJZNbPOmR9s~&zc-C561w8 z-hg+=sJis`JS(ehVq% zb*aCS;p_H??_cYHzBycT_@Ed?sP#eZB6t(jDbsUsW3^54y6ckbF`Tm|18zLn(%I61 z7e)h}MvYJ-M7M2{kxO4nmx^5+LuWKNd)7XJnakZO`Xr2oIckGiPwy_3SCEJ<6{qa0Nt|Bo3NmiH@<>sI>X@j81`id+ zQ=My+$8aWLhIjNyE}9x2YLmkw8cr8F_^5jjIOop6N86G~X z0h=C8Cd+HyuSEx@8*6s-Exz?_ZN4@cDSr};bP_r3<-XMb70u0YlCb8egBu` zLyNo~HxFeJD0cbK-W>$mej=+1Jt(`IGjM98vhBsJ=>)P*911COD(hHEpcy>`>RJ76 zeYvP^AY&wiK>Cv-3oa7qLdQJ+^-yrfT(ImorCiiDkm*SxPMZ;(1hVqGSZ8t~(C6#h z2KL`m>3?%<#3>P|&K#%u8A-LxOf`#(9|fwrfvQ!Rh3Ut0Nv2v0(Bu4D)0dUdWSPOU4JDT~q+n!dzO zLeghEnE({i)fzL+pKM@$+jBnz!1m){F*IGAn_H~ZA$}BZ;m)V$C#9ttMV@k@vLH{V zLIQsK^TsQac#Ni(s#iibYKh-fas&EON}4uTSE49VqKVroFRRm=0p&kVK&M)($u3Z+ z^QV^X?Pf{?y!#aRc&(@1BF2SwFYN@@V;yQT*=aI&xbc zJVmKYrPXOQN?nmUXS6HG)+uzOy6qgRT%pQ)iYoIOB3F}4yRMB*WZLeBo(J5oQPXd`Cl*dZZZG> literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/DisabledRight b/data/ImageThemes/Akva/Vertical/Button/DisabledRight new file mode 100644 index 0000000000000000000000000000000000000000..6fd08ba9761be680f6e7a10cb87cee70e61cb8e7 GIT binary patch literal 5631 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 literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/HoverMiddle b/data/ImageThemes/Akva/Vertical/Button/HoverMiddle new file mode 100644 index 0000000000000000000000000000000000000000..04ecc38104c051380ccf0bc0eceb70431163746b GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{S!3-o78(kg(DVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C)pg@Ck7Z3Jg|Oo`j2B z|MUNv_y3nY`#=Bw|2a4RPrdZN|IGi6qyOvo{3_r2C2#G!>4)CUIQVAP!I$$7zgTws z#fG!5c3*mP;_BP~|Nnc=bdv(w!c`LF7yRqn&#yl|fBX35{j=(MOh8e_ByV>Y+1Jd4 z6M-D|5>H=O_GfIo%)ExvukOzQ3YmDiIEHXsPfmF7=-I=kkHrN?)FK#IZ0 zz{p6~z)aWBD8$g%%Fw{d$XMIJz{ SrG$VQ7(8A5T-G@yGywo^KAGD9 literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/HoverRight b/data/ImageThemes/Akva/Vertical/Button/HoverRight new file mode 100644 index 0000000000000000000000000000000000000000..0d0143b11129e4b7c4775d7b77ec88aaac4899f9 GIT binary patch literal 1127 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{W!3-pGJfFS-QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI%7s8K z1Xx%gezWmMqWl#Rkz5jpq_5YL3{hx69 zf7_A&wL8C6Z26S8_T99DuV);1HDmv?xd&e?Ire<*>6iO1zTU9&e(%1+OJDzA^5p;Q zTmPqC`aj{!|GrcI+YbG&+xe|{!-w?cFQ*@TJ9XcSS^J;OKlFUjk!R~pyf|?2b$kEm zk_j^wz5Ku6;r|&o{^M+SjQ|o=n{Ha`K*MllMNEy64H< zeNWdNc)DcGt-PKE6R!X7IrG2s=>JZjmVG~}cYG?}@H%hBv*d*j`*uC=-tl;e)7IcbYdp>fHLMee=W4jraOi z+)B;e6+dBr&X!*Vo4yvTeV4cTRno$T@pJF`Ot|Jh@lwXZTWRxeB=lZ%311&jI6Gv< z{pdxnqUS$}oc+*m@=fcu%No_^#Pd%`#qKomTIiEK*{y1`Y269+%8M$6hgFhR8wbw# z|NsBD-E3!oabsQ*VJkVPRm6jf+q4vrSA&PDxEm&&bTm&dFtCVCTroFDNW3E-5W5uc)l5uBol# zh9_7>*wWT;1>{_Fmcl4IM8(7< z=FMNQaM9u=OP4KQv2vB9l(YggL88X23Int@a@yx?~4-6$e!4rHp9xJHzuB$lLF zB^RXvDF!10BO_e{GhIW&5F;ZiQ&TG=Lu~^CD+7a+15ak5Xvob^$xN%ntwD5d46t-y OVDNPHb6Mw<&;$T#UE{U@ literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/InactiveLeft b/data/ImageThemes/Akva/Vertical/Button/InactiveLeft new file mode 100644 index 0000000000000000000000000000000000000000..77313153d865d31330886c04d390e314a4e937b3 GIT binary patch literal 5949 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 C6rnl* literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/NormalLeft b/data/ImageThemes/Akva/Vertical/Button/NormalLeft new file mode 100644 index 0000000000000000000000000000000000000000..c784f2e20ae89b9ff5adf519a75079a252128b50 GIT binary patch literal 1003 zcmZutdrVqa7(di*c0Q85%$6=$MmJGgSnj>XPH}^&uu7S~EB6FZz8CW;WC&e~`|-BeKIArBwS7pVpd*PX;t89Z21;7&Xh2Tyg%c@8WmWqCz;01SSU7_E8+_HRfEc|`y;kpO7^ z3V=g6YF-22a|D2mN&u+00C?ro?vavr0U&(Oy~t-mz<(BoVQe;AAP@-4%RdqdMVCZE zp^(q#)9LhokrWDr%i&6;()RXtwOZZN)6>@0rcfv#vY?>g7)GU1FJG?cy4lsy(NR}d z$K&ysOr}gG)9G|7m8!13UMv=q$z-KcIXXHzFfh>6bhWg!^q32;hK7dv`}-Rj8c-B% zZEbC7X(=l!gCZJ@20F^+a*0IJ*w_du6%`dQ?cw2JEEWrg!@Ik?p-?Co4ElUNkH@pT zyu7fmu)e;&v9Ynaxw*BqwYRqiVIq;pU@%NfObibX&&S`bm@caGH4##n*3|(9<*WBFP z+S(e70Uh`E_hAyZ+r7BBI6FHFlWcEqMt@g?Gk z*KXr@CoOV7`VxcNTSF(zj@quTPbA_+GSl`{-g%y^+FJP8ZXhamt$Vok$b*4yMaPxXg9+!P7?Y%dNnH22Y z+1#{u(l})tSF_3XFx&VOqE62m$nIC&zpp|p55DU$P3g%-Jz3q04gNCnmO(|jt23Ls zOpiw1HtG!|B5{aFF^~*>TC(MjA58Z~P@_JBM*B4<>o;v*pH{0OKe}zYlS-$L{f^Lv z(|ZZ&f?Fjnq3@yF7xH>H0$ZMS|KF>d!Ql4m&%gR|5{PK>qYw0tt?>D&N@lsTrb;QL zNl@E{-7*m$&wB8A@EO$#nC}Q!>*kku?}vS{WEynHoSe#GRA)2Gqdd>FVdQ&MBb@0I+6b@&Et; literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/Button/NormalRight b/data/ImageThemes/Akva/Vertical/Button/NormalRight new file mode 100644 index 0000000000000000000000000000000000000000..386447e5768accee3dc0b833790c23745c627025 GIT binary patch literal 906 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{W!3-pGJfFS-QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fIeZ`rb8~@QAkfj# zDJd!4y?giCwQDP@s(|J|#DS!%t803C`u6SHmn>P5lbr+93z4$2vWkz3pEPN5cXxMo zb~eyDpt!ECZh*gkN@{9HN5}Hz%jeIZ-`3WapPwHS73J*g3^&ur$jIB(-4MH(tDW@&5h$&!0bEzI^%o`SZ`8KY#rA@r4T)&YnGc^5n^j7cU+? zdi3z&!-ozX0*24Nefy3dKMwTx|NsC0{(gQN=z6D;AirRShd1|btpE2n!|vyIHR*Z( z{`Ig3Sw8&t@3tZnmuSeFfB#NEsnBudV6>odYnFS>f~zGJM^#H)BT7;dOH!?pi&B9UgOP!ek*Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4Fdz?xd5LKSD*qoP_hX% ziR)9!TF(%7h{1F-1IJ_rhHM6gV2A>j{WjL9tMUy&-CJo z)pxkLfsQM6jIYRE2()Da14FTbd7y4&r&`tquCyZz?mHM%<}k37F)+l%OnKnmdR@Et zJX`cp2B*CYf@{mxKF^&0JZjQikJf8?#b-IA4jD%uk&@lmedKxV=H~@VpQp@x7&YOR zbKOO!+H*b?XA0}iW@H|kf93gvQ_mZ>KPzATG-J-A$o`w2ZC5;-&WCkeY@c~`!o*9F zky{pDc|PsZ^R|6Y>!w^;y!b{>&zV(6Z!Np>eEQ{Q&3hl$&A2*${`DnGuC6$GYsr=8 zbtg$i ztCJ>Q%FR94y6<`Q#^=Q=o+r(C5Y~Isw&tQ&v8ntyWZ{B zH49F2Mjvs@J#Oo=$E)p{X~hMJl;aF;`xsO<|NsC0?cJ8!z~Hti3GxeOU=??seE!X^ zA9okJ$){fW^{n#Fzwf2YhyFgWDgV$t|If+IA3pp!`Jo#m0FnWzfT{Q9$!`Ff!zm0Xkxq!^40jEr;*%ybQnLktY83@xpU%(a0G1B2D+Vwxx#a`RI%(<(7F7+OL! UuykG025MmNboFyt=akR{0Fr^KT>t<8 literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/SliderThumb/Disabled b/data/ImageThemes/Akva/Vertical/SliderThumb/Disabled new file mode 100644 index 0000000000000000000000000000000000000000..a3e446aedabe6712f285442ae803627cfc669f9b GIT binary patch literal 1076 zcmZ8d3rt&882%Y5UB_#V3GTtj%yde~ZVTDEZX%tKwPR(aw9<8~+|u?!SE-wnF-STW zRzvX7+3>oqWi&)WWFR&n)s0xt+Ss9$grJCa&1z@u*394%tRXiZPsU`Ke{#`B444-GfD;Iz7d~tD;3a!Z(uyir zw|?t^DwS5FDA|^}Tc)KRSPh|A4e+hmlT@Kw%P3_IK|abTidXWmDG@#_ueQn6vg8q% z_qfd31kE1V17;2J-$UlR2Qu*klj_P3m-ev8wu?APF^R-wDbc6WlG8YSKTN%jOW%u1 z1v1uxh9tFhlv=0x{nqVYDJ@Box5K|hvNN-uerDt5O(|^R&m+PkqHp~(H}ZGC^x{>5 zxH|H&q2ZK19=m&IYt9xGym)}ehPWO)7jafHtWo_QRX@h)6_P{jhpt~J)w#&U&Z2J0vp1`!D%idQjQOIhf z%GXqt>rKbx&Em16C(W;Fs+!(q`@a}t)-~SS-hcAu%VY+@N&K~ZjOOX@XXRzXv)c;0 z&n(q9;>~uM$`mH8+N9%a-qc|ST!PCjAodn;3S|Vr=N9sd_T}S%AR_)d)MJFkH?(@H c^?wA;em=2xl~CL;Sc3^5Dyt~{8he1F(}$6e%WG$>e%~W4KD8)0^&^$>dW2Tnu?tRohAX@G$QEw_OMzl6&Fl zJa6@Vf=;iWFo%Rl018;gixlIlfr0pN#q?uBo&tCI44^11_E2O-O+ol*LW!lYP~S6$ly^{z0m-z# zO8QpHmGkB8HnHOVMWwB=(X4Z$ekba%Y{wg+@qdo`fnA(t=JmD~ajv@CzmdQ<}^}Cona^V$jn9EF3mF zC!3p<%UOIdKgZ2sv)S{u1-rVpUsYQ8^iCf#;U+)v+N)a4;Mb>xwV%{dh`K~!*&iOX z;qT+;oA@>*!6X(}SH&|9FbyN4dJ}cbxH~+8?lJD^AP3dvIiG9Zc_zI?`jjZU;Dwgf z*0%AmE2$|*eQcpk=dV%|IvX0^O-nywxjUtwiv22z;Jp_U6RqwWFb|Xp^7Ba6wze6w z_0EiCf7azo-#$Bb)2~_<@lG?1KUhz>M>;qjq2xNAX-uDb;}vLJ-B%R9|FQS^z9e8C z735?Ia%r3oa&Z7EL8V3#F_Dz0G=iW}qiB0$U&aYR*vFjzHSka7pYCGNb!V_Q!t#3iZ#~ literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/SliderThumb/Inactive b/data/ImageThemes/Akva/Vertical/SliderThumb/Inactive new file mode 100644 index 0000000000000000000000000000000000000000..d71c7eb10ca195f63eda68fd8d37a490544c53aa GIT binary patch literal 1087 zcmZ8d3rv$&6g~_lP#)sO!$$_hZN^6ke``Z(S;)GT@Dk)vmUeFJ=T#JF0AV(RtZ_OF zYAod?KTxs2L{J{JWrd-sZEVolDH$6glu@yimB$tqvN2e@yBj;Vv6I|;&UeoDoqNtb zmz)&iL)%FM0H3&6ZYuU$@$vO=#rHj)<_GND@;HecfSc7`_RNF)eK$j}2*1s=5k`2cB7 z!n;}Gg0{!Ss$bu`Vq>14_7si6k-M<92jDC~cA}_MHnt)iMG`F%^{?=+%(Kp$ybFy{ zqDP^jDjKZ@fW&Dq25*0GVQ2-XqODHT2NS>td}16KXr1%T5EolcLCat$dg z_K^`Re}X^qSY_pHgnCwx+~klN?d5}O!fqScVdb~Xh&s(3nt7#iwy;nKP*U^FxWa-O zzDF1Cqm!D|yzZrhdb6NqMo5{OI?Yn)n6K{z08y;4R5rRIHKK~I){2xXN84@m$_a1L zqx3Ul@u_+*uSS4U&PU>6)v7=- gX5sv}S0I#b6WO$uWR!W%Q+@5?TO=y6aA$UU$ zZeoBB5kgb0+;zMyRhF8R25x@gc{Nx2`&vrqfiZRc>gU#$-mG#)YISewOI0^t0JZw^ z{hs?x>YUoP^cS-vtbS(4GrD9Y#BiyT-)@P* zz`ZOkG1`58i;t@hy>a|bAx=Gv<8pW&6WJu0lO@c|&HnM}+%sVgNs@E3R!fkd|0{vp z0$z2e5x>O8#>W}&Klu8<-u?S-5X6n^-37<;k1yF47j|vmN#EW=H8&mQzb`O7nVO7b zF<6Ig4GnXC|2eod!+R!5EBVt;@-~@FoDo+g?5z(84EEPQ_1_WjnrnKUwRx7AgeH~N3w4XSCs#; zp${grT8WaexqWHZ65UU@aKB{E3{C7<#EZRI7R@iq$t=rdXP?N$4j2T35k^FW(GT(n xg3UO{W*$0#1ACKK3qSdvfX-qwm`;J4pE&{xATBzI+xHH6`Y-dS_%Z+h literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/SliderThumb/Normal b/data/ImageThemes/Akva/Vertical/SliderThumb/Normal new file mode 100644 index 0000000000000000000000000000000000000000..6daf473ad54a8ad68c3271f275330deea636f998 GIT binary patch literal 1010 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 iHz7il1gwvnvzxoG8zlOP(-_cr literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/SliderTriangle/Disabled b/data/ImageThemes/Akva/Vertical/SliderTriangle/Disabled new file mode 100644 index 0000000000000000000000000000000000000000..9d172f01b542618f160ff1e129d4c4058e6d41e9 GIT binary patch literal 8951 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 ZZD+6B5cdd!jvp9=6lGOq%B4*2{~vh8Pa6OL literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/SliderTriangle/Hover b/data/ImageThemes/Akva/Vertical/SliderTriangle/Hover new file mode 100644 index 0000000000000000000000000000000000000000..a80de80698ec9f498d27a48c25bb9a3ad9f3b775 GIT binary patch literal 8312 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 PK}c0eL-B>Y>4X0R2|JQv literal 0 HcmV?d00001 diff --git a/data/ImageThemes/Akva/Vertical/SliderTriangle/Normal b/data/ImageThemes/Akva/Vertical/SliderTriangle/Normal new file mode 100644 index 0000000000000000000000000000000000000000..7d9d345ae42f088d5ddee117c512167697502dc5 GIT binary patch literal 8901 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 literal 0 HcmV?d00001 diff --git a/util/RotateICLTheme.sh b/util/RotateICLTheme.sh new file mode 100755 index 0000000..05dc481 --- /dev/null +++ b/util/RotateICLTheme.sh @@ -0,0 +1,28 @@ +#!/bin/sh +#――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― +# Name: RotateICLTheme.sh +# Desc: Creates vertical images from the horizontal versions of a theme's +# controls (for orientable controls). +# Reqs: ImageMagick +# Date: 2022-06 +#――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― + +ORIENTABLES="Button SliderThumb SliderTriangle" + +THEME_ROOT="$1" +if test -z "$THEME_ROOT" -o ! -d "$THEME_ROOT/Horizontal"; then + echo "Usage: $(basename $0) theme_root" + if test -n "$THEME_ROOT"; then + echo "" + echo "There is no 'Horizontal' directory under the given theme root, $THEME_ROOT." + echo "Please make sure you have your theme in the proper format." + fi + exit 2 +fi + +for orientable in $ORIENTABLES; do + mkdir -p "$THEME_ROOT/Vertical/$orientable" + for file in $THEME_ROOT/Horizontal/$orientable/*; do + convert -rotate "90" "$file" "$THEME_ROOT/Vertical/$orientable/$(basename "$file")" + done +done