X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fitem%2Finputcontainer.c;h=4531a1f4e11c2f4917baef0e9d03d4f5bb4ef6f1;hb=30125332eda7a5e10bd535c63c3f689729155810;hp=91e0012c888bd445fabe771d1ef4a81cb6e8c0ca;hpb=0e7ed909bffb4ff21f0c68d163edfc17487e380a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/item/inputcontainer.c b/qcsrc/menu/item/inputcontainer.c index 91e0012c8..4531a1f4e 100644 --- a/qcsrc/menu/item/inputcontainer.c +++ b/qcsrc/menu/item/inputcontainer.c @@ -15,9 +15,9 @@ ENDCLASS(InputContainer) #endif #ifdef IMPLEMENTATION -void resizeNotifyInputContainer(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize) +void InputContainer_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize) { - resizeNotifyContainer(me, relOrigin, relSize, absOrigin, absSize); + SUPER(InputContainer).resizeNotify(me, relOrigin, relSize, absOrigin, absSize); /* if(me.parent.instanceOfInputContainer) me.isTabRoot = 0; @@ -26,16 +26,16 @@ void resizeNotifyInputContainer(entity me, vector relOrigin, vector relSize, vec */ } -void focusLeaveInputContainer(entity me) +void InputContainer_focusLeave(entity me) { - focusLeaveContainer(me); + SUPER(InputContainer).focusLeave(me); me.mouseFocusedChild = NULL; } -float keyDownInputContainer(entity me, float scan, float ascii, float shift) +float InputContainer_keyDown(entity me, float scan, float ascii, float shift) { entity f, ff; - if(keyDownContainer(me, scan, ascii, shift)) + if(SUPER(InputContainer).keyDown(me, scan, ascii, shift)) return 1; if(scan == K_ESCAPE) { @@ -102,7 +102,7 @@ float keyDownInputContainer(entity me, float scan, float ascii, float shift) return 0; } -float _changeFocusXYInputContainer(entity me, vector pos) +float InputContainer__changeFocusXY(entity me, vector pos) { entity e, ne; e = me.mouseFocusedChild; @@ -124,37 +124,38 @@ float _changeFocusXYInputContainer(entity me, vector pos) return (ne != NULL); } -float mouseDragInputContainer(entity me, vector pos) +float InputContainer_mouseDrag(entity me, vector pos) { - if(mouseDragContainer(me, pos)) + if(SUPER(InputContainer).mouseDrag(me, pos)) return 1; if(pos_x >= 0 && pos_y >= 0 && pos_x < 1 && pos_y < 1) return 1; return 0; } -float mouseMoveInputContainer(entity me, vector pos) +float InputContainer_mouseMove(entity me, vector pos) { + if(me.mouseFocusedChild != me.focusedChild) // if the keyboard moved the focus away + me.mouseFocusedChild = NULL; // force focusing if(me._changeFocusXY(me, pos)) - if(mouseMoveContainer(me, pos)) + if(SUPER(InputContainer).mouseMove(me, pos)) return 1; if(pos_x >= 0 && pos_y >= 0 && pos_x < 1 && pos_y < 1) return 1; return 0; } -float mousePressInputContainer(entity me, vector pos) +float InputContainer_mousePress(entity me, vector pos) { me.mouseFocusedChild = NULL; // force focusing if(me._changeFocusXY(me, pos)) - if(mousePressContainer(me, pos)) + if(SUPER(InputContainer).mousePress(me, pos)) return 1; if(pos_x >= 0 && pos_y >= 0 && pos_x < 1 && pos_y < 1) return 1; return 0; } -float mouseReleaseInputContainer(entity me, vector pos) +float InputContainer_mouseRelease(entity me, vector pos) { - float r; - r = mouseReleaseContainer(me, pos); + SUPER(InputContainer).mouseRelease(me, pos); // return value? if(me.focused) // am I still eligible for this? (UGLY HACK, but a mouse event could have changed focus away) if(me._changeFocusXY(me, pos)) return 1;