diff options
author | Ian Moffett <ian@osmora.org> | 2025-09-30 13:53:11 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-09-30 13:53:11 -0400 |
commit | b267bb8b2e047ebe786124566c15eeacf04ef504 (patch) | |
tree | 5e5bbee41cd3f66d3b2e81a1f6fd8e038430799c /src/lib | |
parent | 32f94c626dbe70ae8cd3385f7c898068ab09031d (diff) |
libwidget: Initialize vram/fbdev pointer
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libwidget/include/libwidget/core.h | 4 | ||||
-rw-r--r-- | src/lib/libwidget/src/core/widget_core.c | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/lib/libwidget/include/libwidget/core.h b/src/lib/libwidget/include/libwidget/core.h index 5a5b891..85b33d4 100644 --- a/src/lib/libwidget/include/libwidget/core.h +++ b/src/lib/libwidget/include/libwidget/core.h @@ -35,6 +35,10 @@ /* Forward declarations */ struct widget; +struct libwidget_state { + uint32_t *fbdev; +}; + typedef enum { WIDGET_WINDOW, MAX_WIDGETS diff --git a/src/lib/libwidget/src/core/widget_core.c b/src/lib/libwidget/src/core/widget_core.c index c36d88e..20857ba 100644 --- a/src/lib/libwidget/src/core/widget_core.c +++ b/src/lib/libwidget/src/core/widget_core.c @@ -31,12 +31,34 @@ #include <stdint.h> #include <stddef.h> #include <string.h> +#include <sys/mac.h> #include <libwidget/window.h> #include <libwidget/core.h> static struct widget backends[]; /* + * Initialize lib widget + */ +int +libwidget_init(struct libwidget_state *lwsp) +{ + int error; + + if (lwsp == NULL) { + return -EINVAL; + } + + /* Grab the whole framebuffer, directly mapped */ + error = cross(BORDER_FBDEV, -1, 0, 0, &lwsp->fbdev); + if (error < 0) { + return error; + } + + return 0; +} + +/* * Put the widget into a known state */ int |