25enum NumberStyle { NUMBER, KNOB, VERTICAL_BAR, LEVEL, 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; }
36 float getNormalizedValue();
38 void renderInHorizontalMenu(int32_t startX, int32_t width, int32_t startY, int32_t height)
override;
39 void drawKnob(int32_t startX, int32_t startY, int32_t width, int32_t height);
40 void drawVerticalBar(int32_t startX, int32_t startY, int32_t slotWidth, int32_t slotHeight);
41 void drawLevel(int32_t startX, int32_t startY, int32_t slotWidth, int32_t slotHeight);
42 void drawPercent(int32_t startX, int32_t startY, int32_t width, int32_t height);
43 void drawSlider(int32_t startX, int32_t startY, int32_t slotWidth, int32_t slotHeight);
44 void drawLengthSlider(int32_t startX, int32_t startY, int32_t slotWidth, int32_t slotHeight,
bool minSliderPos = 3);