enum
{
- IPCMSG_PING,
+ IPCMSG_NULL,
IPCMSG_REPLY,
+ IPCMSG_PING,
+ IPCMSG_GETGLOBAL,
+ IPCMSG_SETGLOBAL,
+
IPCMSG_CREATEWIN,
IPCMSG_CLOSEWIN,
IPCMSG_SETWINATTR,
IPCMSG_GETWINATTR,
-
- IPCMSG_RGNADD,
- IPCMSG_RGNDEL,
- IPCMSG_RGNSETATTR,
- IPCMSG_RGNPUSHDATA,
-
IPCMSG_SENDIPC,
+ IPCMSG_GETWINBUF, // get a handle to the window's buffer
+
+ // - Window drawing commands
+ //IPCMSG_DRAWGROUP, // (u16 win, u16 group_id) - (hint) Switch to this group
+ //IPCMSG_CLEAR, // (u16 win) - (hint) Clear current drawing group
+ IPCMSG_PUSHDATA, // (u16 win, u16 x, u16 y, u16 w, u16 h, void data)
+ IPCMSG_BLIT, // (win, sx, sy, dx, dy, w, h) - Blit locally
+ IPCMSG_DRAWCTL, // (win, x, y, w, h, ctlid) - Draw
+ IPCMSG_DRAWTEXT, // (win, x, y, fontid, text) - Draw text using an internal font
+};
+
+enum eIPC_GlobalAttrs
+{
+ IPC_GLOBATTR_SCREENDIMS, // Screen dimensions - Readonly
+ IPC_GLOBATTR_MAXAREA, // Maximum window area for screen (hint, not enforced)
+};
+
+enum eIPC_WinAttrs
+{
+ IPC_WINATTR_SHOW,
+ IPC_WINATTR_FLAGS, // Decoration enabled, always-on-top
+ IPC_WINATTR_POSITION,
+ IPC_WINATTR_DIMENSIONS,
};
};