25enum NumberStyle { NUMBER, KNOB, VERTICAL_BAR, PERCENT, SLIDER, LENGTH_SLIDER };
30 void drawHorizontalBar(int32_t yTop, int32_t marginL, int32_t marginR = -1, int32_t height = 8);
33 [[nodiscard]]
virtual int32_t getMaxValue()
const = 0;
34 [[nodiscard]]
virtual int32_t getMinValue()
const {
return 0; }
35 [[nodiscard]]
virtual NumberStyle getNumberStyle()
const {
return KNOB; }
38 float getNormalizedValue();
40 void renderInHorizontalMenu(int32_t startX, int32_t width, int32_t startY, int32_t height)
override;
41 void drawKnob(int32_t startX, int32_t startY, int32_t width, int32_t height);
42 void drawVerticalBar(int32_t startX, int32_t startY, int32_t slotWidth, int32_t slotHeight);
43 void drawPercent(int32_t startX, int32_t startY, int32_t width, int32_t height);
44 void drawSlider(int32_t startX, int32_t startY, int32_t slotWidth, int32_t slotHeight);
45 void drawLengthSlider(int32_t startX, int32_t startY, int32_t slotWidth, int32_t slotHeight,
bool minSliderPos = 3);