Kernel - Slight comming change
[tpg/acess2.git] / Usermode / include / axwin3 / widget.h
index ca9b40f..0329425 100644 (file)
 
 typedef struct sAxWin3_Widget  tAxWin3_Widget;
 
-typedef int    (*tAxWin3_Widget_Callback)(tAxWin3_Widget Widget, int EventType, unsigned long EventArg);
+// --- Callback types
+typedef int    (*tAxWin3_Widget_FireCb)(tAxWin3_Widget *Widget);
+typedef int    (*tAxWin3_Widget_KeyUpDownCb)(tAxWin3_Widget *Widget, int KeySym);
+typedef int    (*tAxWin3_Widget_KeyFireCb)(tAxWin3_Widget *Widget, int KeySym, int Character);
+typedef int    (*tAxWin3_Widget_MouseMoveCb)(tAxWin3_Widget *Widget, int X, int Y);
+typedef int    (*tAxWin3_Widget_MouseBtnCb)(tAxWin3_Widget *Widget, int X, int Y, int Button, int bPressed);
 
+// --- Windows
 extern tHWND   AxWin3_Widget_CreateWindow(tHWND Parent, int W, int H, int RootEleFlags);
 extern void    AxWin3_Widget_DestroyWindow(tHWND Window);
 extern tAxWin3_Widget  *AxWin3_Widget_GetRoot(tHWND Window);
 
+// --- Element Creation
 extern tAxWin3_Widget  *AxWin3_Widget_AddWidget(tAxWin3_Widget *Parent, int Type, int Flags, const char *DebugName);
 extern void    AxWin3_Widget_DelWidget(tAxWin3_Widget *Widget);
 
+// --- Callbacks
+extern void    AxWin3_Widget_SetFireHandler(tAxWin3_Widget *Widget, tAxWin3_Widget_FireCb Callback);
+extern void    AxWin3_Widget_SetKeyHandler(tAxWin3_Widget *Widget, tAxWin3_Widget_KeyUpDownCb Callback);
+extern void    AxWin3_Widget_SetKeyFireHandler(tAxWin3_Widget *Widget, tAxWin3_Widget_KeyFireCb Callback);
+extern void    AxWin3_Widget_SetMouseMoveHandler(tAxWin3_Widget *Widget, tAxWin3_Widget_MouseMoveCb Callback);
+extern void    AxWin3_Widget_SetMouseButtonHandler(tAxWin3_Widget *Widget, tAxWin3_Widget_MouseBtnCb Callback);
+// --- Manipulation
 extern void    AxWin3_Widget_SetFlags(tAxWin3_Widget *Widget, int FlagSet, int FlagMask);
 extern void    AxWin3_Widget_SetSize(tAxWin3_Widget *Widget, int Size);
 extern void    AxWin3_Widget_SetText(tAxWin3_Widget *Widget, const char *Text);
@@ -35,6 +49,8 @@ enum eElementTypes
        ELETYPE_IMAGE,  //!< Image
        ELETYPE_BUTTON, //!< Push Button
        ELETYPE_SPACER, //!< Visual Spacer (horizontal / vertical rule)
+       ELETYPE_TEXTINPUT,      //!< Text Input Field
+       ELETYPE_TEXTBOX,        //!< Text Box Input
 
        ELETYPE_TABBAR, //!< Tab Bar
        ELETYPE_TOOLBAR,        //!< Tool Bar

UCC git Repository :: git.ucc.asn.au