commit 505b557c39f60c33968f0aa3252ad94ea45a6789 from: Onana Onana Xavier Manuel date: Tue Jul 7 12:09:27 2026 UTC Changed fg to foreground to match with Tk 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) {