summaryrefslogtreecommitdiff
path: root/new
diff options
context:
space:
mode:
Diffstat (limited to 'new')
-rw-r--r--new/ui_windows.h29
-rw-r--r--new/uipriv_darwin.h5
-rw-r--r--new/uipriv_unix.h5
-rw-r--r--new/uipriv_windows.h5
4 files changed, 29 insertions, 15 deletions
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 <windows.h> 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 <Cocoa/Cocoa.h>
@@ -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 <gtk/gtk.h>
#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