+// === FUNCTIONS ===
+// --- Management
+extern tWindow *WM_CreateWindow(tWindow *Parent, tIPC_Client *Client, uint32_t ID, int Flags, const char *Renderer);
+extern void WM_Invalidate(tWindow *Window);
+extern void WM_SetWindowTitle(tWindow *Window, const char *Title);
+extern void WM_FocusWindow(tWindow *Destination);
+extern void WM_RaiseWindow(tWindow *Window);
+extern void WM_ShowWindow(tWindow *Window, int bShow);
+extern void WM_DecorateWindow(tWindow *Window, int bDecorate);
+extern int WM_ResizeWindow(tWindow *Window, int W, int H);
+extern int WM_MoveWindow(tWindow *Window, int X, int Y);
+extern int WM_SendMessage(tWindow *Source, tWindow *Dest, int MessageID, int Length, const void *Data);
+// --- Rendering
+extern void WM_Render_FillRect(tWindow *Window, int X, int Y, int W, int H, tColour Colour);
+extern void WM_Render_DrawRect(tWindow *Window, int X, int Y, int W, int H, tColour Colour);
+extern int WM_Render_DrawText(tWindow *Window, int X, int Y, int W, int H, tFont *Font, tColour Colour, const char *Text);
+extern void WM_Render_GetTextDims(tFont *Font, const char *Text, int *W, int *H);
+extern void WM_Render_DrawImage(tWindow *Window, int X, int Y, int W, int H, tImage *Image);
+// NOTE: Should really be elsewhere
+extern tColour Video_AlphaBlend(tColour _orig, tColour _new, uint8_t _alpha);