X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Finclude%2Fwm_renderer.h;h=89aceb9f2021869157dcc9319efe76fd0b119762;hb=04a050f42807686dc119838c82372409246d55bb;hp=8e828eb7bc18b052cf9ae51103330e5762753524;hpb=28484b80f5d1e5f9e502f66484ada925ff833891;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/include/wm_renderer.h b/Usermode/Applications/axwin3_src/WM/include/wm_renderer.h index 8e828eb7..89aceb9f 100644 --- a/Usermode/Applications/axwin3_src/WM/include/wm_renderer.h +++ b/Usermode/Applications/axwin3_src/WM/include/wm_renderer.h @@ -25,14 +25,12 @@ struct sWMRenderer /** * \brief Initialise a window structure for the renderer - * \param W Width of the new window - * \param H Height of the new window * \param Flags Flags for the window * \return malloc()'d window structure, or NULL on error - * \note Only the fields \a W and \a H need be filled in the window - * structure, the rest will be filled by the caller. + * \note \a Flags is provided for convinience, the caller will + * set the copy in the window structure. */ - tWindow *(*CreateWindow)(int W, int H, int Flags); + tWindow *(*CreateWindow)(int Arg); /** * \brief Redraw a window on the screen @@ -53,10 +51,18 @@ struct sWMRenderer * \param Data Implementation defined data buffer * \return Boolean failure (0: Handled, 1: Unhandled) */ - int (*HandleMessage)(tWindow *Window, int MessageID, int Length, void *Data); + int (*HandleMessage)(tWindow *Window, int MessageID, int Length, const void *Data); + + int nIPCHandlers; + + /** + * \brief IPC Message handler + */ + int (*IPCHandlers[])(tWindow *Window, size_t Length, const void *Data); }; extern void WM_RegisterRenderer(tWMRenderer *Renderer); extern tWindow *WM_CreateWindowStruct(size_t ExtraBytes); +extern int WM_SendIPCReply(tWindow *Window, int Message, size_t Length, const void *Data); #endif