mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-05 19:11:50 +00:00
refactor: add GUI instance reference to UI nodes
This commit is contained in:
parent
74a94f869c
commit
4c48afbb90
70 changed files with 1133 additions and 832 deletions
|
|
@ -9,12 +9,13 @@
|
|||
using namespace gui;
|
||||
|
||||
TrackBar::TrackBar(
|
||||
GUI& gui,
|
||||
double min,
|
||||
double max,
|
||||
double value,
|
||||
double step,
|
||||
int trackWidth
|
||||
) : UINode(glm::vec2(26)),
|
||||
) : UINode(gui, glm::vec2(26)),
|
||||
min(min),
|
||||
max(max),
|
||||
value(value),
|
||||
|
|
@ -54,7 +55,7 @@ void TrackBar::setSubConsumer(doubleconsumer consumer) {
|
|||
this->subconsumer = std::move(consumer);
|
||||
}
|
||||
|
||||
void TrackBar::mouseMove(GUI*, int x, int) {
|
||||
void TrackBar::mouseMove(int x, int) {
|
||||
glm::vec2 pos = calcPos();
|
||||
value = x - trackWidth/2;
|
||||
value -= pos.x;
|
||||
|
|
@ -62,7 +63,7 @@ void TrackBar::mouseMove(GUI*, int x, int) {
|
|||
value += min;
|
||||
value = (value > max) ? max : value;
|
||||
value = (value < min) ? min : value;
|
||||
value = (int64_t)round(value / step) * step;
|
||||
value = static_cast<int64_t>(std::round(value / step)) * step;
|
||||
|
||||
if (consumer && !changeOnRelease) {
|
||||
consumer(value);
|
||||
|
|
@ -72,7 +73,7 @@ void TrackBar::mouseMove(GUI*, int x, int) {
|
|||
}
|
||||
}
|
||||
|
||||
void TrackBar::mouseRelease(GUI*, int, int) {
|
||||
void TrackBar::mouseRelease(int, int) {
|
||||
if (consumer && changeOnRelease) {
|
||||
consumer(value);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue