11 } Window_InternalType;
13 typedef struct ObWindow {
14 Window_InternalType type;
17 /* Wrapper for internal stuff. If its struct matches this then it can be used
19 typedef struct InternalWindow {
24 #define WINDOW_IS_MENU(win) (((ObWindow*)win)->type == Window_Menu)
25 #define WINDOW_IS_SLIT(win) (((ObWindow*)win)->type == Window_Slit)
26 #define WINDOW_IS_CLIENT(win) (((ObWindow*)win)->type == Window_Client)
27 #define WINDOW_IS_INTERNAL(win) (((ObWindow*)win)->type == Window_Internal)
33 #define WINDOW_AS_MENU(win) ((struct Menu*)win)
34 #define WINDOW_AS_SLIT(win) ((struct Slit*)win)
35 #define WINDOW_AS_CLIENT(win) ((struct Client*)win)
36 #define WINDOW_AS_INTERNAL(win) ((struct InternalWindow*)win)
38 #define MENU_AS_WINDOW(menu) ((ObWindow*)menu)
39 #define SLIT_AS_WINDOW(slit) ((ObWindow*)slit)
40 #define CLIENT_AS_WINDOW(client) ((ObWindow*)client)
41 #define INTERNAL_AS_WINDOW(intern) ((ObWindow*)intern)
43 Window window_top(ObWindow *self);
44 Window window_layer(ObWindow *self);