Migrated uipriv_windows.h. Mostly.
This commit is contained in:
parent
0e24e16bda
commit
e916c2f5fc
|
@ -0,0 +1,67 @@
|
|||
|
||||
// menu.c
|
||||
extern HMENU makeMenubar(void);
|
||||
extern const uiMenuItem *menuIDToItem(UINT_PTR);
|
||||
extern void runMenuEvent(WORD, uiWindow *);
|
||||
extern void freeMenubar(HMENU);
|
||||
extern void uninitMenus(void);
|
||||
|
||||
// tabpage.c
|
||||
extern void tabPageMargins(HWND, intmax_t *, intmax_t *, intmax_t *, intmax_t *);
|
||||
extern HWND newTabPage(void);
|
||||
|
||||
// draw.c
|
||||
extern HRESULT initDraw(void);
|
||||
extern void uninitDraw(void);
|
||||
extern ID2D1HwndRenderTarget *makeHWNDRenderTarget(HWND hwnd);
|
||||
extern uiDrawContext *newContext(ID2D1RenderTarget *);
|
||||
extern void freeContext(uiDrawContext *);
|
||||
extern ID2D1Brush *createSolidColorBrushInternal(ID2D1RenderTarget *rt, double r, double g, double b, double a);
|
||||
|
||||
// dwrite.cpp
|
||||
#ifdef __cplusplus
|
||||
extern IDWriteFactory *dwfactory;
|
||||
#endif
|
||||
extern HRESULT initDrawText(void);
|
||||
extern void uninitDrawText(void);
|
||||
#ifdef __cplusplus
|
||||
struct fontCollection {
|
||||
IDWriteFontCollection *fonts;
|
||||
WCHAR userLocale[LOCALE_NAME_MAX_LENGTH];
|
||||
int userLocaleSuccess;
|
||||
};
|
||||
extern fontCollection *loadFontCollection(void);
|
||||
extern WCHAR *fontCollectionFamilyName(fontCollection *fc, IDWriteFontFamily *family);
|
||||
extern void fontCollectionFree(fontCollection *fc);
|
||||
extern WCHAR *fontCollectionCorrectString(fontCollection *fc, IDWriteLocalizedStrings *names);
|
||||
#endif
|
||||
|
||||
// drawtext.cpp
|
||||
#ifdef __cplusplus
|
||||
extern uiDrawTextFont *mkTextFont(IDWriteFont *df, BOOL addRef, WCHAR *family, BOOL copyFamily, double size);
|
||||
struct dwriteAttr {
|
||||
uiDrawTextWeight weight;
|
||||
uiDrawTextItalic italic;
|
||||
uiDrawTextStretch stretch;
|
||||
DWRITE_FONT_WEIGHT dweight;
|
||||
DWRITE_FONT_STYLE ditalic;
|
||||
DWRITE_FONT_STRETCH dstretch;
|
||||
};
|
||||
extern void attrToDWriteAttr(struct dwriteAttr *attr);
|
||||
extern void dwriteAttrToAttr(struct dwriteAttr *attr);
|
||||
#endif
|
||||
extern void doDrawText(ID2D1RenderTarget *rt, ID2D1Brush *black, double x, double y, uiDrawTextLayout *layout);
|
||||
|
||||
// fontdialog.cpp
|
||||
#ifdef __cplusplus
|
||||
struct fontDialogParams {
|
||||
IDWriteFont *font;
|
||||
double size;
|
||||
WCHAR *familyName;
|
||||
WCHAR *styleName;
|
||||
};
|
||||
extern BOOL showFontDialog(HWND parent, struct fontDialogParams *params);
|
||||
extern void loadInitialFontDialogParams(struct fontDialogParams *params);
|
||||
extern void destroyFontDialogParams(struct fontDialogParams *params);
|
||||
extern WCHAR *fontDialogParamsToString(struct fontDialogParams *params);
|
||||
#endif
|
|
@ -1,188 +0,0 @@
|
|||
// 6 january 2015
|
||||
#include "winapi.hpp"
|
||||
#include "../ui.h"
|
||||
#include "../ui_windows.h"
|
||||
#undef this // TODO
|
||||
#include "../common/uipriv.h"
|
||||
#include "resources.hpp"
|
||||
#include "compilerver.hpp"
|
||||
|
||||
// ui internal window messages
|
||||
enum {
|
||||
// redirected WM_COMMAND and WM_NOTIFY
|
||||
msgCOMMAND = WM_APP + 0x40, // start offset just to be safe
|
||||
msgNOTIFY,
|
||||
msgHSCROLL,
|
||||
msgConsoleEndSession,
|
||||
msgQueued,
|
||||
msgD2DScratchPaint,
|
||||
};
|
||||
|
||||
// init.c
|
||||
extern HINSTANCE hInstance;
|
||||
extern int nCmdShow;
|
||||
extern HFONT hMessageFont;
|
||||
extern HBRUSH hollowBrush;
|
||||
|
||||
// util.c
|
||||
extern int windowClassOf(HWND, ...);
|
||||
extern void mapWindowRect(HWND, HWND, RECT *);
|
||||
extern DWORD getStyle(HWND);
|
||||
extern void setStyle(HWND, DWORD);
|
||||
extern DWORD getExStyle(HWND);
|
||||
extern void setExStyle(HWND, DWORD);
|
||||
extern void clientSizeToWindowSize(HWND, intmax_t *, intmax_t *, BOOL);
|
||||
|
||||
// text.c
|
||||
extern WCHAR *toUTF16(const char *);
|
||||
extern char *toUTF8(const WCHAR *);
|
||||
extern WCHAR *windowText(HWND);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
|
||||
// resize.c
|
||||
extern void initResizes(void);
|
||||
extern void uninitResizes(void);
|
||||
extern void doResizes(void);
|
||||
extern void setWindowInsertAfter(HWND, HWND);
|
||||
|
||||
// utilwindow.c
|
||||
extern HWND utilWindow;
|
||||
extern const char *initUtilWindow(HICON, HCURSOR);
|
||||
extern void uninitUtilWindow(void);
|
||||
|
||||
// parent.c
|
||||
extern void paintContainerBackground(HWND, HDC, RECT *);
|
||||
extern BOOL handleParentMessages(HWND, UINT, WPARAM, LPARAM, LRESULT *);
|
||||
|
||||
// debug.c
|
||||
extern HRESULT logLastError(const char *);
|
||||
extern HRESULT logHRESULT(const char *, HRESULT);
|
||||
extern HRESULT logMemoryExhausted(const char *);
|
||||
|
||||
// window.c
|
||||
extern ATOM registerWindowClass(HICON, HCURSOR);
|
||||
extern void unregisterWindowClass(void);
|
||||
extern void ensureMinimumWindowSize(uiWindow *);
|
||||
|
||||
// container.c
|
||||
#define containerClass L"libui_uiContainerClass"
|
||||
extern ATOM initContainer(HICON, HCURSOR);
|
||||
extern void uninitContainer(void);
|
||||
extern HWND newContainer(void);
|
||||
|
||||
// menu.c
|
||||
extern HMENU makeMenubar(void);
|
||||
extern const uiMenuItem *menuIDToItem(UINT_PTR);
|
||||
extern void runMenuEvent(WORD, uiWindow *);
|
||||
extern void freeMenubar(HMENU);
|
||||
extern void uninitMenus(void);
|
||||
|
||||
// alloc.c
|
||||
extern void initAlloc(void);
|
||||
extern void uninitAlloc(void);
|
||||
|
||||
// events.c
|
||||
extern BOOL runWM_COMMAND(WPARAM, LPARAM, LRESULT *);
|
||||
extern BOOL runWM_NOTIFY(WPARAM, LPARAM, LRESULT *);
|
||||
extern BOOL runWM_HSCROLL(WPARAM, LPARAM, LRESULT *);
|
||||
extern void issueWM_WININICHANGE(WPARAM, LPARAM);
|
||||
|
||||
// child.c
|
||||
extern struct child *newChild(uiControl *child, uiControl *parent, HWND parentHWND);
|
||||
extern struct child *newChildWithTabPage(uiControl *child, uiControl *parent, HWND parentHWND);
|
||||
extern void childRemove(struct child *c);
|
||||
extern void childDestroy(struct child *c);
|
||||
extern HWND childHWND(struct child *c);
|
||||
extern void childMinimumSize(struct child *c, uiWindowsSizing *d, intmax_t *width, intmax_t *height);
|
||||
extern void childRelayout(struct child *c, intmax_t x, intmax_t y, intmax_t width, intmax_t height);
|
||||
extern void childQueueRelayout(struct child *c);
|
||||
extern int childVisible(struct child *c);
|
||||
extern void childUpdateState(struct child *c);
|
||||
extern void childAssignControlIDZOrder(struct child *c, LONG_PTR *controlID, HWND *insertAfter);
|
||||
extern void childSetSoleControlID(struct child *c);
|
||||
extern HWND childTabPage(struct child *c);
|
||||
extern int childMargined(struct child *c);
|
||||
extern void childSetMargined(struct child *c, int margined);
|
||||
extern int childFlag(struct child *c);
|
||||
extern void childSetFlag(struct child *c, int flag);
|
||||
extern intmax_t childIntmax(struct child *c, int n);
|
||||
extern void childSetIntmax(struct child *c, int n, intmax_t to);
|
||||
|
||||
// tabpage.c
|
||||
extern void tabPageMargins(HWND, intmax_t *, intmax_t *, intmax_t *, intmax_t *);
|
||||
extern HWND newTabPage(void);
|
||||
|
||||
// area.c
|
||||
#define areaClass L"libui_uiAreaClass"
|
||||
extern ATOM registerAreaClass(HICON, HCURSOR);
|
||||
extern void unregisterArea(void);
|
||||
|
||||
// areaevents.c
|
||||
// TODO merge into registerAreaClass()?
|
||||
extern int registerAreaFilter(void);
|
||||
|
||||
// draw.c
|
||||
extern HRESULT initDraw(void);
|
||||
extern void uninitDraw(void);
|
||||
extern ID2D1HwndRenderTarget *makeHWNDRenderTarget(HWND hwnd);
|
||||
extern uiDrawContext *newContext(ID2D1RenderTarget *);
|
||||
extern void freeContext(uiDrawContext *);
|
||||
extern ID2D1Brush *createSolidColorBrushInternal(ID2D1RenderTarget *rt, double r, double g, double b, double a);
|
||||
|
||||
// dwrite.cpp
|
||||
#ifdef __cplusplus
|
||||
extern IDWriteFactory *dwfactory;
|
||||
#endif
|
||||
extern HRESULT initDrawText(void);
|
||||
extern void uninitDrawText(void);
|
||||
#ifdef __cplusplus
|
||||
struct fontCollection {
|
||||
IDWriteFontCollection *fonts;
|
||||
WCHAR userLocale[LOCALE_NAME_MAX_LENGTH];
|
||||
int userLocaleSuccess;
|
||||
};
|
||||
extern fontCollection *loadFontCollection(void);
|
||||
extern WCHAR *fontCollectionFamilyName(fontCollection *fc, IDWriteFontFamily *family);
|
||||
extern void fontCollectionFree(fontCollection *fc);
|
||||
extern WCHAR *fontCollectionCorrectString(fontCollection *fc, IDWriteLocalizedStrings *names);
|
||||
#endif
|
||||
|
||||
// drawtext.cpp
|
||||
#ifdef __cplusplus
|
||||
extern uiDrawTextFont *mkTextFont(IDWriteFont *df, BOOL addRef, WCHAR *family, BOOL copyFamily, double size);
|
||||
struct dwriteAttr {
|
||||
uiDrawTextWeight weight;
|
||||
uiDrawTextItalic italic;
|
||||
uiDrawTextStretch stretch;
|
||||
DWRITE_FONT_WEIGHT dweight;
|
||||
DWRITE_FONT_STYLE ditalic;
|
||||
DWRITE_FONT_STRETCH dstretch;
|
||||
};
|
||||
extern void attrToDWriteAttr(struct dwriteAttr *attr);
|
||||
extern void dwriteAttrToAttr(struct dwriteAttr *attr);
|
||||
#endif
|
||||
extern void doDrawText(ID2D1RenderTarget *rt, ID2D1Brush *black, double x, double y, uiDrawTextLayout *layout);
|
||||
|
||||
// fontdialog.cpp
|
||||
#ifdef __cplusplus
|
||||
struct fontDialogParams {
|
||||
IDWriteFont *font;
|
||||
double size;
|
||||
WCHAR *familyName;
|
||||
WCHAR *styleName;
|
||||
};
|
||||
extern BOOL showFontDialog(HWND parent, struct fontDialogParams *params);
|
||||
extern void loadInitialFontDialogParams(struct fontDialogParams *params);
|
||||
extern void destroyFontDialogParams(struct fontDialogParams *params);
|
||||
extern WCHAR *fontDialogParamsToString(struct fontDialogParams *params);
|
||||
#endif
|
||||
|
||||
// d2dscratch.c
|
||||
extern ATOM registerD2DScratchClass(HICON, HCURSOR);
|
||||
extern void unregisterD2DScratchClass(void);
|
||||
extern HWND newD2DScratch(HWND parent, RECT *rect, HMENU controlID, SUBCLASSPROC subclass, DWORD_PTR subclassData);
|
|
@ -1,4 +1,21 @@
|
|||
// 21 april 2016
|
||||
#include "winapi.hpp"
|
||||
#include "../ui.h"
|
||||
#include "../ui_windows.h"
|
||||
#include "../common/uipriv.h"
|
||||
#include "resources.hpp"
|
||||
#include "compilerver.hpp"
|
||||
|
||||
// ui internal window messages
|
||||
enum {
|
||||
// redirected WM_COMMAND and WM_NOTIFY
|
||||
msgCOMMAND = WM_APP + 0x40, // start offset just to be safe
|
||||
msgNOTIFY,
|
||||
msgHSCROLL,
|
||||
msgGetuiWindow,
|
||||
msgQueued,
|
||||
msgD2DScratchPaint,
|
||||
};
|
||||
|
||||
// alloc.cpp
|
||||
extern void initAlloc(void);
|
||||
|
@ -77,7 +94,28 @@ extern ATOM registerD2DScratchClass(HICON hDefaultIcon, HCURSOR hDefaultCursor);
|
|||
extern void unregisterD2DScratchClass(void);
|
||||
extern HWND newD2DScratch(HWND parent, RECT *rect, HMENU controlID, SUBCLASSPROC subclass, DWORD_PTR subclassData);
|
||||
|
||||
// area.cpp
|
||||
#define areaClass L"libui_uiAreaClass"
|
||||
extern ATOM registerAreaClass(HICON, HCURSOR);
|
||||
extern void unregisterArea(void);
|
||||
|
||||
// areaevents.cpp
|
||||
extern BOOL areaFilter(MSG *);
|
||||
|
||||
// window.cpp
|
||||
extern ATOM registerWindowClass(HICON, HCURSOR);
|
||||
extern void unregisterWindowClass(void);
|
||||
extern void ensureMinimumWindowSize(uiWindow *);
|
||||
|
||||
// container.cpp
|
||||
#define containerClass L"libui_uiContainerClass"
|
||||
extern ATOM initContainer(HICON, HCURSOR);
|
||||
extern void uninitContainer(void);
|
||||
extern HWND newContainer(void);
|
||||
|
||||
|
||||
// TODO
|
||||
#include "_uipriv_migrate.hpp"
|
||||
|
||||
// TODO
|
||||
// child.cpp
|
|
@ -306,6 +306,7 @@ uiWindow *uiNewWindow(const char *title, int width, int height, int hasMenubar)
|
|||
return w;
|
||||
}
|
||||
|
||||
// this cannot queue a resize because it's called by the resize handler
|
||||
void ensureMinimumWindowSize(uiWindow *w)
|
||||
{
|
||||
uiWindowsControl *c;
|
||||
|
|
Loading…
Reference in New Issue