|
@@ -4242,7 +4242,9 @@ static int GuiScrollBar(Rectangle bounds, int value, int minValue, int maxValue)
|
|
|
bool isVertical = (bounds.width > bounds.height)? false : true;
|
|
|
|
|
|
// The size (width or height depending on scrollbar type) of the spinner buttons
|
|
|
- const int spinnerSize = GuiGetStyle(SCROLLBAR, ARROWS_VISIBLE)? (isVertical? (int)bounds.width - 2*GuiGetStyle(SCROLLBAR, BORDER_WIDTH) : (int)bounds.height - 2*GuiGetStyle(SCROLLBAR, BORDER_WIDTH)) : 0;
|
|
|
+ const int spinnerSize = GuiGetStyle(SCROLLBAR, ARROWS_VISIBLE)?
|
|
|
+ (isVertical? (int)bounds.width - 2*GuiGetStyle(SCROLLBAR, BORDER_WIDTH) :
|
|
|
+ (int)bounds.height - 2*GuiGetStyle(SCROLLBAR, BORDER_WIDTH)) : 0;
|
|
|
|
|
|
// Arrow buttons [<] [>] [∧] [∨]
|
|
|
Rectangle arrowUpLeft = { 0 };
|
|
@@ -4262,7 +4264,10 @@ static int GuiScrollBar(Rectangle bounds, int value, int minValue, int maxValue)
|
|
|
int sliderSize = GuiGetStyle(SCROLLBAR, SCROLL_SLIDER_SIZE);
|
|
|
|
|
|
// Calculate rectangles for all of the components
|
|
|
- arrowUpLeft = RAYGUI_CLITERAL(Rectangle){ (float)bounds.x + GuiGetStyle(SCROLLBAR, BORDER_WIDTH), (float)bounds.y + GuiGetStyle(SCROLLBAR, BORDER_WIDTH), (float)spinnerSize, (float)spinnerSize };
|
|
|
+ arrowUpLeft = RAYGUI_CLITERAL(Rectangle){
|
|
|
+ (float)bounds.x + GuiGetStyle(SCROLLBAR, BORDER_WIDTH),
|
|
|
+ (float)bounds.y + GuiGetStyle(SCROLLBAR, BORDER_WIDTH),
|
|
|
+ (float)spinnerSize, (float)spinnerSize };
|
|
|
|
|
|
if (isVertical)
|
|
|
{
|
|
@@ -4271,7 +4276,7 @@ static int GuiScrollBar(Rectangle bounds, int value, int minValue, int maxValue)
|
|
|
sliderSize = (sliderSize >= scrollbar.height)? ((int)scrollbar.height - 2) : sliderSize; // Make sure the slider won't get outside of the scrollbar
|
|
|
slider = RAYGUI_CLITERAL(Rectangle){ (float)bounds.x + GuiGetStyle(SCROLLBAR, BORDER_WIDTH) + GuiGetStyle(SCROLLBAR, SCROLL_SLIDER_PADDING), (float)scrollbar.y + (int)(((float)(value - minValue)/range)*(scrollbar.height - sliderSize)), (float)bounds.width - 2*(GuiGetStyle(SCROLLBAR, BORDER_WIDTH) + GuiGetStyle(SCROLLBAR, SCROLL_SLIDER_PADDING)), (float)sliderSize };
|
|
|
}
|
|
|
- else
|
|
|
+ else // horizontal
|
|
|
{
|
|
|
arrowDownRight = RAYGUI_CLITERAL(Rectangle){ (float)bounds.x + bounds.width - spinnerSize - GuiGetStyle(SCROLLBAR, BORDER_WIDTH), (float)bounds.y + GuiGetStyle(SCROLLBAR, BORDER_WIDTH), (float)spinnerSize, (float)spinnerSize };
|
|
|
scrollbar = RAYGUI_CLITERAL(Rectangle){ arrowUpLeft.x + arrowUpLeft.width, bounds.y + GuiGetStyle(SCROLLBAR, BORDER_WIDTH) + GuiGetStyle(SCROLLBAR, SCROLL_PADDING), bounds.width - arrowUpLeft.width - arrowDownRight.width - 2*GuiGetStyle(SCROLLBAR, BORDER_WIDTH), bounds.height - 2*(GuiGetStyle(SCROLLBAR, BORDER_WIDTH) + GuiGetStyle(SCROLLBAR, SCROLL_PADDING)) };
|
|
@@ -4332,14 +4337,18 @@ static int GuiScrollBar(Rectangle bounds, int value, int minValue, int maxValue)
|
|
|
if (GuiGetStyle(SCROLLBAR, ARROWS_VISIBLE))
|
|
|
{
|
|
|
#if defined(RAYGUI_NO_ICONS)
|
|
|
- GuiDrawText(isVertical? "^" : "<", RAYGUI_CLITERAL(Rectangle){ arrowUpLeft.x, arrowUpLeft.y, isVertical? bounds.width : bounds.height, isVertical ? bounds.width : bounds.height },
|
|
|
+ GuiDrawText(isVertical? "^" : "<",
|
|
|
+ RAYGUI_CLITERAL(Rectangle){ arrowUpLeft.x, arrowUpLeft.y, isVertical? bounds.width : bounds.height, isVertical? bounds.width : bounds.height },
|
|
|
TEXT_ALIGN_CENTER, Fade(GetColor(GuiGetStyle(DROPDOWNBOX, TEXT + (state*3))), guiAlpha));
|
|
|
- GuiDrawText(isVertical? "v" : ">", RAYGUI_CLITERAL(Rectangle){ arrowDownRight.x, arrowDownRight.y, isVertical? bounds.width : bounds.height, isVertical ? bounds.width : bounds.height },
|
|
|
+ GuiDrawText(isVertical? "v" : ">",
|
|
|
+ RAYGUI_CLITERAL(Rectangle){ arrowDownRight.x, arrowDownRight.y, isVertical? bounds.width : bounds.height, isVertical? bounds.width : bounds.height },
|
|
|
TEXT_ALIGN_CENTER, Fade(GetColor(GuiGetStyle(DROPDOWNBOX, TEXT + (state*3))), guiAlpha));
|
|
|
#else
|
|
|
- GuiDrawText(isVertical? "#121#" : "#118#", RAYGUI_CLITERAL(Rectangle){ arrowUpLeft.x, arrowUpLeft.y, isVertical? bounds.width : bounds.height, isVertical ? bounds.width : bounds.height },
|
|
|
+ GuiDrawText(isVertical? "#121#" : "#118#",
|
|
|
+ RAYGUI_CLITERAL(Rectangle){ arrowUpLeft.x, arrowUpLeft.y, isVertical? bounds.width : bounds.height, isVertical? bounds.width : bounds.height },
|
|
|
TEXT_ALIGN_CENTER, Fade(GetColor(GuiGetStyle(SCROLLBAR, TEXT + state*3)), guiAlpha)); // ICON_ARROW_UP_FILL / ICON_ARROW_LEFT_FILL
|
|
|
- GuiDrawText(isVertical? "#120#" : "#119#", RAYGUI_CLITERAL(Rectangle){ arrowDownRight.x, arrowDownRight.y, isVertical? bounds.width : bounds.height, isVertical ? bounds.width : bounds.height },
|
|
|
+ GuiDrawText(isVertical? "#120#" : "#119#",
|
|
|
+ RAYGUI_CLITERAL(Rectangle){ arrowDownRight.x, arrowDownRight.y, isVertical? bounds.width : bounds.height, isVertical? bounds.width : bounds.height },
|
|
|
TEXT_ALIGN_CENTER, Fade(GetColor(GuiGetStyle(SCROLLBAR, TEXT + state*3)), guiAlpha)); // ICON_ARROW_DOWN_FILL / ICON_ARROW_RIGHT_FILL
|
|
|
#endif
|
|
|
}
|