X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibaxwin3.so_src%2Finclude_exp%2Faxwin3%2Faxwin.h;h=437820c0c44a9b33349ea88aba083ccde2ffc0e5;hb=HEAD;hp=fe116e9d8ca2ed3d56d22e8a9987b28b28b8061a;hpb=4bd23d4ae51bd5cb92b449bcd66e0d2de88c7fc9;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libaxwin3.so_src/include_exp/axwin3/axwin.h b/Usermode/Libraries/libaxwin3.so_src/include_exp/axwin3/axwin.h index fe116e9d..437820c0 100644 --- a/Usermode/Libraries/libaxwin3.so_src/include_exp/axwin3/axwin.h +++ b/Usermode/Libraries/libaxwin3.so_src/include_exp/axwin3/axwin.h @@ -8,6 +8,9 @@ #ifndef _AXWIN3_AXWIN_H_ #define _AXWIN3_AXWIN_H_ +#include // size_t +#include + // === CONSTANTS === // === TYPES === @@ -15,13 +18,16 @@ typedef struct sAxWin3_Window *tHWND; typedef unsigned int tAxWin3_Colour; // TODO: Actual 32-bit typedef void (*tAxWin3_MessageCallback)(int SourceTID, int Length); +typedef void (*tAxWin3_HotkeyCallback)(void); typedef int (*tAxWin3_WindowMessageHandler)(tHWND Window, int Message, int Length, void *Data); // --- Connection management extern void AxWin3_Connect(const char *ServerDesc); extern tAxWin3_MessageCallback AxWin3_SetMessageCallback(tAxWin3_MessageCallback Callback); -extern void AxWin3_MainLoop(void); +extern int AxWin3_MainLoop(void); +extern void AxWin3_StopMainLoop(int Reason); +extern void AxWin3_MessageSelect(int nFD, fd_set *FDs); // --- Non-Window based functions extern int AxWin3_GetDisplayCount(void); @@ -49,9 +55,11 @@ extern tHWND AxWin3_CreateWindow( * \param Window Handle to a window to destroy */ extern void AxWin3_DestroyWindow(tHWND Window); +extern int AxWin3_RegisterAction(tHWND Window, const char *Action, tAxWin3_HotkeyCallback cb); // --- Core window management functions extern void AxWin3_SendMessage(tHWND Window, tHWND Dest, int Message, int Length, void *Data); +extern void *AxWin3_WaitMessage(tHWND Window, int MessageID, size_t *Length); extern void AxWin3_SetWindowTitle(tHWND Window, const char *Title); extern void AxWin3_FocusWindow(tHWND Window); extern void AxWin3_ShowWindow(tHWND Window, int bShow);