Finished Windows conversion. Works perfectly!

This commit is contained in:
Pietro Gagliardi 2015-04-09 17:57:08 -04:00
parent cba301abbc
commit 1a525dea31
5 changed files with 30 additions and 11 deletions

View File

@ -88,12 +88,12 @@ void resize(uiControl *control, HWND parent, RECT r, RECT margin)
logLastError("error restoring previous font into device context in resize()"); logLastError("error restoring previous font into device context in resize()");
if (ReleaseDC(parent, dc) == 0) if (ReleaseDC(parent, dc) == 0)
logLastError("error releasing DC in resize()"); logLastError("error releasing DC in resize()");
r.left += uiDlgUnitToX(margin.left, d.baseX); r.left += uiDlgUnitToX(margin.left, sys.baseX);
r.top += uiDlgUnitToY(margin.top, d.baseY); r.top += uiDlgUnitToY(margin.top, sys.baseY);
r.right -= uiDlgUnitToX(margin.right, d.baseX); r.right -= uiDlgUnitToX(margin.right, sys.baseX);
r.bottom -= uiDlgUnitToY(margin.bottom, d.baseY); r.bottom -= uiDlgUnitToY(margin.bottom, sys.baseY);
d.xPadding = uiDlgUnitToX(winXPadding, d.baseX); d.xPadding = uiDlgUnitToX(winXPadding, sys.baseX);
d.yPadding = uiDlgUnitToY(winYPadding, d.baseY); d.yPadding = uiDlgUnitToY(winYPadding, sys.baseY);
d.sys = &sys; d.sys = &sys;
uiControlResize(control, r.left, r.top, r.right - r.left, r.bottom - r.top, &d); uiControlResize(control, r.left, r.top, r.right - r.left, r.bottom - r.top, &d);
} }

View File

@ -11,4 +11,22 @@ uintptr_t uiControlHandle(uiControl *c)
return (*(c->handle))(c); return (*(c->handle))(c);
} }
// TODO do this for the others void uiControlSetParent(uiControl *c, uintptr_t parent)
{
(*(c->setParent))(c, parent);
}
void uiControlRemoveParent(uiControl *c)
{
(*(c->removeParent))(c);
}
void uiControlPreferredSize(uiControl *c, uiSizing *d, intmax_t *width, intmax_t *height)
{
(*(c->preferredSize))(c, d, width, height);
}
void uiControlResize(uiControl *c, intmax_t x, intmax_t y, intmax_t width, intmax_t height, uiSizing *d)
{
(*(c->resize))(c, x, y, width, height, d);
}

View File

@ -4,12 +4,12 @@
struct entry { struct entry {
}; };
static BOOL onWM_COMMAND(uiControl *c, WPARAM wParam, LPARAM lParam, void *data, LRESULT *lResult) static BOOL onWM_COMMAND(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult)
{ {
return FALSE; return FALSE;
} }
static BOOL onWM_NOTIFY(uiControl *c, WPARAM wParam, LPARAM lParam, void *data, LRESULT *lResult) static BOOL onWM_NOTIFY(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult)
{ {
return FALSE; return FALSE;
} }

View File

@ -3,7 +3,7 @@
typedef struct singleHWND singleHWND; typedef struct singleHWND singleHWND;
struct uiSingleHWNDControl { struct singleHWND {
HWND hwnd; HWND hwnd;
BOOL (*onWM_COMMAND)(uiControl *, WPARAM, LPARAM, LRESULT *); BOOL (*onWM_COMMAND)(uiControl *, WPARAM, LPARAM, LRESULT *);
BOOL (*onWM_NOTIFY)(uiControl *, WPARAM, LPARAM, LRESULT *); BOOL (*onWM_NOTIFY)(uiControl *, WPARAM, LPARAM, LRESULT *);

View File

@ -18,10 +18,11 @@ void uiQuit(void);
void uiFreeText(char *); void uiFreeText(char *);
typedef struct uiSizing uiSizing; typedef struct uiSizing uiSizing;
typedef struct uiSizingSys uiSizingSys;
struct uiSizing { struct uiSizing {
intmax_t xPadding; intmax_t xPadding;
intmax_t yPadding; intmax_t yPadding;
struct uiSizingSys *sys; uiSizingSys *sys;
}; };
typedef struct uiControl uiControl; typedef struct uiControl uiControl;