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
18 // Create window structure locally
19 tAxWin4_Window *ret = new tAxWin4_Window();
21 // Request creation of window
23 message.WriteU8(IPCMSG_CREATEWIN);
24 message.WriteU16(ret->m_id);
25 message.WriteString(Name);
26 ::AxWin::SendMessage(message);
30 extern "C" void AxWin4_ShowWindow(tAxWin4_Window *Window)
33 message.WriteU8(IPCMSG_SETWINATTR);
34 message.WriteU16(Window->m_id);
35 message.WriteU16(IPC_WINATTR_SHOW);
37 ::AxWin::SendMessage(message);
40 extern "C" void AxWin4_MoveWindow(tAxWin4_Window *Window, int X, int Y)
43 message.WriteU8(IPCMSG_SETWINATTR);
44 message.WriteU16(Window->m_id);
45 message.WriteU16(IPC_WINATTR_POSITION);
48 ::AxWin::SendMessage(message);
50 extern "C" void AxWin4_ResizeWindow(tAxWin4_Window *Window, unsigned int W, unsigned int H)
53 message.WriteU8(IPCMSG_SETWINATTR);
54 message.WriteU16(Window->m_id);
55 message.WriteU16(IPC_WINATTR_DIMENSIONS);
58 ::AxWin::SendMessage(message);
61 extern "C" void AxWin4_SetTitle(tAxWin4_Window *Window, const char *Title)
64 message.WriteU8(IPCMSG_SETWINATTR);
65 message.WriteU16(Window->m_id);
66 message.WriteU16(IPC_WINATTR_TITLE);
67 message.WriteString(Title);
68 ::AxWin::SendMessage(message);
71 extern "C" void *AxWin4_GetWindowBuffer(tAxWin4_Window *Window)
73 //if( !Window->m_buffer )
75 // // TODO: Support non-blocking operations