X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin2_src%2FWM%2Fcommon.h;h=2d92cb5835fd865f8517a2a1f763ffb1baa17981;hb=7941d6b368acb0abc17e6a77ffaf7b4c306b67ab;hp=bc140bb72771e4ad8a4937cbdf15409f1fe778d2;hpb=ad2ec62655e1d6eb8f2b4a4684eb5d7952aea0fb;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin2_src/WM/common.h b/Usermode/Applications/axwin2_src/WM/common.h index bc140bb7..2d92cb58 100644 --- a/Usermode/Applications/axwin2_src/WM/common.h +++ b/Usermode/Applications/axwin2_src/WM/common.h @@ -10,9 +10,17 @@ #include #include // _SysDebug -typedef void tMessages_Handle_Callback(void*, size_t, void*); +// === TYPES === +typedef struct sIPC_Type tIPC_Type; typedef struct sFont tFont; +struct sIPC_Type +{ + int (*GetIdentSize)(void *Ident); + int (*CompareIdent)(void *Ident1, void *Ident2); + void (*SendMessage)(void *Ident, size_t, void *Data); +}; + #include "wm.h" #include "image.h" //#include "font.h" @@ -70,11 +78,18 @@ extern int giMouseFD; extern void memset32(void *ptr, uint32_t val, size_t count); // --- Initialisation --- extern void ParseCommandline(int argc, char *argv[]); +// --- Messages / IPC --- extern void IPC_Init(void); extern void IPC_FillSelect(int *nfds, fd_set *set); extern void IPC_HandleSelect(fd_set *set); +// --- Input --- extern void Input_FillSelect(int *nfds, fd_set *set); extern void Input_HandleSelect(fd_set *set); +// --- Local WM --- +extern tApplication *AxWin_RegisterClient(tIPC_Type *Method, void *Ident, const char *Name); +extern void AxWin_DeregisterClient(tApplication *App); +extern tApplication *AxWin_GetClient(tIPC_Type *Method, void *Ident); +extern tElement *AxWin_CreateAppWindow(tApplication *App, const char *Name); // --- Video --- extern void Video_Setup(void); extern void Video_Update(void);