diff --git a/new/ui_windows.h b/new/ui_windows.h new file mode 100644 index 0000000..eb68475 --- /dev/null +++ b/new/ui_windows.h @@ -0,0 +1,29 @@ +// 7 april 2015 + +/* +This file assumes that you have included and "ui.h" beforehand. It provides API-specific functions for interfacing with foreign controls in Windows. +*/ + +#ifndef __UI_UI_WINDOWS_H__ +#define __UI_UI_WINDOWS_H__ + +// uiWindowsNewControl() creates a new uiControl with the given Windows API control inside. +typedef struct uiWindowsNewControlParams uiWindowsNewControlParams; +struct uiWindowsNewControlParams { + // These match the CreateWindowExW() function. + DWORD dwExStyle; + LPCWSTR lpClassName; +//TODO? LPCWSTR lpWindowName; + DWORD dwStyle; // WS_CHILD and WS_VISIBLE are automatically applied. + HINSTANCE hInstance; + + // These are called when the control sends a WM_COMMAND or WM_NOTIFY (respectively) to its parent. + // ui redirects the message back and calls these functions. + // Store the result in the LRESULT pointer and return TRUE to return the given result; return FALSE to pass the notification up to your window procedure. + // Note that these are only issued if they come from the uiControl itself; notifications from children of the uiControl (such as a header control) will be received normally. + BOOL (*onWM_COMMAND)(uiControl *, WPARAM, LPARAM, LRESULT *); + BOOL (*onWM_NOTIFY)(uiControl *, WPARAM, LPARAM, LRESULT *); +}; +uiControl *uiWindowsNewControl(uiWindowsNewControlParams *); + +#endif diff --git a/new/uipriv_darwin.h b/new/uipriv_darwin.h index 64b01db..3322138 100644 --- a/new/uipriv_darwin.h +++ b/new/uipriv_darwin.h @@ -1,8 +1,5 @@ // 6 january 2015 -#ifndef __UI_UI_DARWIN_H__ -#define __UI_UI_DARWIN_H__ - #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_7 #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_7 #import @@ -14,5 +11,3 @@ extern void *uiAlloc(size_t); extern void *uiRealloc(void *, size_t); extern void uiFree(void *); - -#endif diff --git a/new/uipriv_unix.h b/new/uipriv_unix.h index 642dd49..d7933ef 100644 --- a/new/uipriv_unix.h +++ b/new/uipriv_unix.h @@ -1,13 +1,8 @@ // 6 april 2015 -#ifndef __UI_UI_UNIX_H__ -#define __UI_UI_UNIX_H__ - #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_32 #define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_32 #define GDK_VERSION_MIN_REQUIRED GDK_VERSION_3_4 #define GDK_VERSION_MAX_ALLOWED GDK_VERSION_3_4 #include #include "uipriv.h" - -#endif diff --git a/new/uipriv_windows.h b/new/uipriv_windows.h index 896762f..7f714ac 100644 --- a/new/uipriv_windows.h +++ b/new/uipriv_windows.h @@ -1,8 +1,5 @@ // 6 january 2015 -#ifndef __UI_UI_WINDOWS_H__ -#define __UI_UI_WINDOWS_H__ - #define UNICODE #define _UNICODE #define STRICT @@ -64,5 +61,3 @@ struct uiSingleHWNDControl { void *voidEventData; }; extern uiSingleHWNDControl *newSingleHWNDControl(DWORD, const WCHAR *, DWORD, HINSTANCE); - -#endif