#ifndef _AXWIN3_AXWIN_H_
#define _AXWIN3_AXWIN_H_
+// === CONSTANTS ===
+
+// === TYPES ===
typedef struct sAxWin3_Window *tHWND;
typedef unsigned int tAxWin3_Colour; // TODO: Actual 32-bit
typedef void (*tAxWin3_MessageCallback)(int SourceTID, int Length);
-typedef int (*tAxWin3_WindowMessageHandler)(tHWND Window, int Length, void *Data);
+typedef int (*tAxWin3_WindowMessageHandler)(tHWND Window, int Message, int Length, void *Data);
// --- Connection management
extern void AxWin3_Connect(const char *ServerDesc);
extern tAxWin3_MessageCallback AxWin3_SetMessageCallback(tAxWin3_MessageCallback Callback);
extern void AxWin3_MainLoop(void);
+// --- Non-Window based functions
+extern int AxWin3_GetDisplayCount(void);
+extern int AxWin3_GetDisplayDims(int Display, int *X, int *Y, int *Width, int *Height);
+
// --- Window creation/deletion
/**
* \brief Create a new window (with the required client structures)
// --- Core window management functions
extern void AxWin3_SendMessage(tHWND Window, tHWND Dest, int Message, int Length, void *Data);
+extern void AxWin3_SetWindowTitle(tHWND Window, const char *Title);
+extern void AxWin3_FocusWindow(tHWND Window);
extern void AxWin3_ShowWindow(tHWND Window, int bShow);
+extern void AxWin3_DecorateWindow(tHWND Window, int bDecorate);
extern void AxWin3_SetWindowPos(tHWND Window, short X, short Y, short W, short H);
extern void AxWin3_MoveWindow(tHWND Window, short X, short Y);
extern void AxWin3_ResizeWindow(tHWND Window, short W, short H);