22 using tdme::gui::nodes::GUIVerticalScrollbarInternalController_State;
25 GUIVerticalScrollbarInternalController::GUIVerticalScrollbarInternalController(
GUINode* node)
65 if (barHeightRelative > 1.0f) barHeightRelative = 1.0f;
67 if (barHeight < 20.0f) barHeight = 20.0f;
76 if (scrollableHeight > 0.0f) {
87 if (scrollableHeight <= 0.0f)
return;
90 if (childrenRenderOffsetY < 0) childrenRenderOffsetY = 0;
91 if (childrenRenderOffsetY > scrollableHeight) childrenRenderOffsetY = scrollableHeight;
98 if (event->
getType() == GUIMouseEvent::MOUSEEVENT_MOVED) {
105 event->setProcessed(
true);
112 if (event->
getY() + barOffsetY < barTop) {
117 if (event->
getY() + barOffsetY > barTop + barHeight) {
122 if (event->
getY() + barOffsetY >= barTop && event->
getY() + barOffsetY < barTop + barHeight) {
123 mouseYOffset =
static_cast<int>((
event->getY() - barTop));
126 event->setProcessed(
true);
131 event->setProcessed(
true);
137 event->setProcessed(
true);
void addMouseOutCandidateNode(GUINode *node)
Add node that is a possible mouse out candidate as it received a mouse over.
GUIMouseEventType getType() const
int getContentHeight() override
GUI node controller base class.
bool isEventBelongingToNode(GUIMouseEvent *event, Vector2 &nodeCoordinate)
Is event belonging to node.
GUINode_ComputedConstraints computedConstraints
float computeParentChildrenRenderOffsetYTotal()
GUIParentNode * getParentControllerNode()
GUIScreenNode * getScreenNode()
GUI parent node base class thats supporting child nodes.
float getChildrenRenderOffsetY()
void setChildrenRenderOffsetY(float childrenRenderOffSetY)
Set children render offset y.
GUI screen node that represents a screen that can be rendered via GUI system.
GUINode * getNodeById(const string &nodeId)
Get GUI node by id.
Mutable utf8 aware string class.
GUI node computed constraints.