From 58a4b5d2dae9dff93c489803c8c933054a8808d2 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 15 Jun 2015 22:36:49 -0400 Subject: [PATCH] More work. uiSizing on Unix done. --- redo/ui_unix.h | 3 +++ redo/unix/control.c | 2 +- redo/unix/util.c | 20 ++++++++++++++++++++ unix/container.c | 3 --- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/redo/ui_unix.h b/redo/ui_unix.h index c9b94fe7..ea1301c3 100644 --- a/redo/ui_unix.h +++ b/redo/ui_unix.h @@ -17,4 +17,7 @@ struct uiSizingSys { // this structure currently left blank }; +// This creates a uiSizing for Unix systems. +_UI_EXTERN uiSizing *uiUnixNewSizing(void); + #endif diff --git a/redo/unix/control.c b/redo/unix/control.c index 7c6f3750..332469d0 100644 --- a/redo/unix/control.c +++ b/redo/unix/control.c @@ -35,7 +35,7 @@ static void singleWidgetResize(uiControl *c, intmax_t x, intmax_t y, intmax_t wi static uiSizing *singleWidgetSizing(uiControl *c) { - // TODO + return uiUnixNewSizing(); } static void singleWidgetCommitShow(uiControl *c) diff --git a/redo/unix/util.c b/redo/unix/util.c index 523d4cb2..fdea1351 100644 --- a/redo/unix/util.c +++ b/redo/unix/util.c @@ -11,3 +11,23 @@ void complain(const char *fmt, ...) va_end(ap); g_error("[libui] %s\n", msg); } + +#define gtkXPadding 12 +#define gtkYPadding 6 + +uiSizing *uiUnixNewSizing(void) +{ + uiSizing *d; + + d = uiNew(uiSizing); + d->XPadding = gtkXPadding; + d->YPadding = gtkYPadding; + d->Sys = uiNew(uiSizingSys); + return d; +} + +void uiFreeSizing(uiSizing *d) +{ + uiFree(d->Sys); + uiFree(d); +} diff --git a/unix/container.c b/unix/container.c index 1a066597..f232fa0c 100644 --- a/unix/container.c +++ b/unix/container.c @@ -61,9 +61,6 @@ static void containerWidget_remove(GtkContainer *container, GtkWidget *widget) complain("widget %p not found in containerWidget gtk_container_remove()", widget); } -#define gtkXPadding 12 -#define gtkYPadding 6 - static void containerWidget_size_allocate(GtkWidget *widget, GtkAllocation *allocation) { containerWidget *c = containerWidget(widget);