#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)
{
SUPER(InputContainer).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
/*
*/
}
-void focusLeaveInputContainer(entity me)
+void InputContainer_focusLeave(entity 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(SUPER(InputContainer).keyDown(me, scan, ascii, shift))
return 0;
}
-float _changeFocusXYInputContainer(entity me, vector pos)
+float InputContainer__changeFocusXY(entity me, vector pos)
{
entity e, ne;
e = me.mouseFocusedChild;
return (ne != NULL);
}
-float mouseDragInputContainer(entity me, vector pos)
+float InputContainer_mouseDrag(entity me, vector pos)
{
if(SUPER(InputContainer).mouseDrag(me, pos))
return 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(SUPER(InputContainer).mouseMove(me, pos))
return 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))
return 1;
return 0;
}
-float mouseReleaseInputContainer(entity me, vector pos)
+float InputContainer_mouseRelease(entity me, vector pos)
{
- float r;
- r = SUPER(InputContainer).mouseRelease(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;