2 * AxWin4 Interface Library
3 * - By John Hodge (thePowersGang)
8 #include <axwin4/axwin.h>
9 #include "include/common.hpp"
10 #include <ipc_proto.hpp>
14 extern "C" tAxWin4_Window *AxWin4_CreateWindow(const char *Name)
16 // Allocate a window ID
17 // Create window structure locally
18 // Request creation of window
20 message.WriteU8(IPCMSG_CREATEWIN);
22 message.WriteString(Name);
23 ::AxWin::SendMessage(message);
26 extern "C" void AxWin4_ShowWindow(tAxWin4_Window *Window)
29 message.WriteU8(IPCMSG_SETWINATTR);
30 message.WriteU16(Window->m_id);
31 message.WriteU16(IPC_WINATTR_SHOW);
33 ::AxWin::SendMessage(message);
36 extern "C" void AxWin4_MoveWindow(tAxWin4_Window *Window, int X, int Y)
39 message.WriteU8(IPCMSG_SETWINATTR);
40 message.WriteU16(Window->m_id);
41 message.WriteU16(IPC_WINATTR_POSITION);
44 ::AxWin::SendMessage(message);
46 extern "C" void AxWin4_ResizeWindow(tAxWin4_Window *Window, unsigned int W, unsigned int H)
49 message.WriteU8(IPCMSG_SETWINATTR);
50 message.WriteU16(Window->m_id);
51 message.WriteU16(IPC_WINATTR_POSITION);
54 ::AxWin::SendMessage(message);
57 extern "C" void AxWin4_SetTitle(tAxWin4_Window *Window, const char *Title)
60 message.WriteU8(IPCMSG_SETWINATTR);
61 message.WriteU16(Window->m_id);
62 message.WriteU16(IPC_WINATTR_TITLE);
63 message.WriteString(Title);
64 ::AxWin::SendMessage(message);
67 extern "C" void *AxWin4_GetWindowBuffer(tAxWin4_Window *Window)
69 //if( !Window->m_buffer )
71 // // TODO: Support non-blocking operations