diff options
Diffstat (limited to 'src')
-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 |