Commit Diff


commit - ed95fb5f71dab4a4ea1809b6c88d63fedfce91a9
commit + 505b557c39f60c33968f0aa3252ad94ea45a6789
blob - bb3058c078154d7eb7f571756a7c0e392bd9c9ba
blob + 05dea7d5eeebc776750c1c185b4f4f6105f6ed6a
--- aui.h
+++ aui.h
@@ -64,7 +64,7 @@ struct aui_window_config {
 };
 
 struct aui_button_config {
-	struct aui_color fg;
+	struct aui_color foreground;
 	const char *text; /* Not allocated by libaui */
 	void (*command) (struct aui_button *, void *args);
 	void *args;
@@ -80,12 +80,10 @@ struct aui_canvas_config {
 
 struct aui_label_config {
 	const char *text;
-	struct aui_color fg;
+	struct aui_color foreground;
 	struct aui_color bg;
 };
 
-struct aui_canvas_item;
-
 void aui_run(void);
 void aui_destroy(struct aui_widget *);
 struct aui_window *aui_window_new(struct aui_window_config *);
@@ -93,6 +91,7 @@ struct aui_button *aui_button_new(struct aui_widget *,
 struct aui_frame *aui_frame_new(struct aui_widget *);
 struct aui_canvas *aui_canvas_new(struct aui_widget *);
 struct aui_label *aui_label_new(struct aui_widget *, struct aui_label_config *);
+int aui_label_config(struct aui_widget *, struct aui_label_config *);
 int aui_place(struct aui_widget *, struct aui_placepar *);
 int aui_pack(struct aui_widget *, struct aui_packpar *);
 int aui_grid(struct aui_widget *, struct aui_gridpar *);
@@ -100,6 +99,18 @@ int aui_getplacepar(struct aui_widget *, struct aui_pl
 int aui_getgridpar(struct aui_widget *, struct aui_gridpar *);
 int aui_getpackpar(struct aui_widget *, struct aui_packpar *);
 
+#define AUI_CANVAS_RECTANGLE		0
+#define AUI_CANVAS_ARC				1
+#define AUI_CANVAS_IMAGE			2
+#define AUI_CANVAS_BITMAP			3
+#define AUI_CANVAS_OVAL				4
+#define AUI_CANVAS_POLYGON			5
+#define AUI_CANVAS_LINE				6
+#define AUI_CANVAS_TEXT				7
+#define AUI_CANVAS_WINDOW			8
+
+struct aui_canvas_item;
+
 struct aui_canvas_line {
 	int x1, y1;
 	int x2, y2;
@@ -118,15 +129,6 @@ struct aui_canvas_item_config {
 	};
 };
 
-#define AUI_CANVAS_RECTANGLE		0
-#define AUI_CANVAS_ARC				1
-#define AUI_CANVAS_IMAGE			2
-#define AUI_CANVAS_BITMAP			3
-#define AUI_CANVAS_OVAL				4
-#define AUI_CANVAS_POLYGON			5
-#define AUI_CANVAS_LINE				6
-#define AUI_CANVAS_TEXT				7
-#define AUI_CANVAS_WINDOW			8
 struct aui_canvas_item *aui_canvas_create(struct aui_canvas *, unsigned char,
 	struct aui_canvas_item_config *);
 void aui_canvas_delete(struct aui_canvas *, struct aui_canvas_item *);
blob - d1b87b2834c3c894c2546c1d69356c0ecd5abb1f
blob + 8992755a9f908bfc20928dd3142f9154d9990df6
--- button.c
+++ button.c
@@ -32,7 +32,7 @@ struct aui_color color[] = {
 
 static struct aui_button_config default_config = {
 	.text = NULL,
-	.fg = { 0xff, 0, 0, 0xff }
+	.foreground = { 0xff, 0, 0, 0xff }
 };
 
 struct aui_button*
@@ -57,7 +57,7 @@ aui_button_new(struct aui_widget *parent, struct aui_b
 	driver->ops->set_rectangle_color(widget->window, widget->primitives.list[0], &color[0]);
 	driver->ops->set_rectangle_color(widget->window, widget->primitives.list[1], &color[1]);
 	driver->ops->set_text(widget->primitives.list[2], button->config.text, 0, 0);
-	driver->ops->set_text_color(widget->primitives.list[2], &button->config.fg);
+	driver->ops->set_text_color(widget->primitives.list[2], &button->config.foreground);
 
 	return button;
 }
@@ -118,19 +118,19 @@ static void
 button_set_geometry(struct aui_widget *widget, struct aui_geometry *geom)
 {
 	struct aui_button *button = (struct aui_button *)widget;
-	struct aui_geometry fgeom = { 0 };
+	struct aui_geometry foregroundeom = { 0 };
 	struct aui_geometry tgeom = driver->ops->get_text_geometry(widget->primitives.list[2]);
 	int tx = geom->x + geom->width / 2 - tgeom.width / 2;
 	int ty = geom->y + geom->height / 2 + tgeom.height / 2;
 
-	fgeom.x = geom->x + 1;
-	fgeom.y = geom->y + 1;
-	fgeom.width = geom->width - 2;
-	fgeom.height = geom->height - 2;
+	foregroundeom.x = geom->x + 1;
+	foregroundeom.y = geom->y + 1;
+	foregroundeom.width = geom->width - 2;
+	foregroundeom.height = geom->height - 2;
 
 	memcpy(&widget->geom, geom, sizeof(struct aui_geometry));
 	driver->ops->set_rectangle_geometry(widget->window, widget->primitives.list[0], geom);
-	driver->ops->set_rectangle_geometry(widget->window, widget->primitives.list[1], &fgeom);
+	driver->ops->set_rectangle_geometry(widget->window, widget->primitives.list[1], &foregroundeom);
 	driver->ops->set_text(widget->primitives.list[2], button->config.text, tx, ty);
 }
 
blob - 5d6c1758815a2dbf8c816da02ec80bb0a9566460
blob + 67e29c8288c0653462bfe0dd6cc2f9ecfd0659b0
--- label.c
+++ label.c
@@ -25,7 +25,7 @@ static struct widget_ops label_ops = {
 
 struct aui_label_config default_config = {
 	.text = "Hello AUI",
-	.fg = { 0, 0, 0, 255 },
+	.foreground = { 0, 0, 0, 255 },
 };
 
 struct aui_label*
@@ -37,18 +37,29 @@ aui_label_new(struct aui_widget *parent, struct aui_la
 	widget_init(widget, WIDGET_TYPE_LABEL, &label_ops);
 	widget_add(parent, widget);
 
-	label->config = (config == NULL) ? default_config : *config;
-
 	widget->primitives.count = 1;
 	widget->primitives.list = calloc(widget->primitives.count, sizeof(struct primitive*));
 
 	widget->primitives.list[0] = driver->ops->create_text();
-	driver->ops->set_text(widget->primitives.list[0], label->config.text, 0, 0);
-	driver->ops->set_text_color(widget->primitives.list[0], &config->fg);
+	aui_label_config(widget, config);
 
 	return label;
 }
 
+int
+aui_label_config(struct aui_widget *widget, struct aui_label_config *config)
+{
+	struct aui_label *label = (struct aui_label *)widget;
+	struct aui_geometry geom = widget->geom;
+
+	label->config = (config == NULL) ? default_config : *config;
+
+	driver->ops->set_text(widget->primitives.list[0], label->config.text, 0, 0);
+	driver->ops->set_text_color(widget->primitives.list[0], &label->config.foreground);
+	label_set_geometry(widget, &geom);
+	return 0;
+}
+
 static void
 label_mouse_hover(struct aui_widget *widget, uint16_t dx, uint16_t dy)
 {