diff options
Diffstat (limited to 'gui/window.c')
| -rw-r--r-- | gui/window.c | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/gui/window.c b/gui/window.c deleted file mode 100644 index 66e8edb..0000000 --- a/gui/window.c +++ /dev/null @@ -1,137 +0,0 @@ -#include "gui/window.h" -#include "gui/renderer.h" -#include "internal/utils.h" - -int RuimToplevelBackendInit(RuimToplevelBackend *backend) { - if (backend == NULL) { - crash_error("backend must be non-null"); - } - - if (backend->type == 0) { - /* TODO: select default one based on platform */ - backend->type = RUIM_TOPLEVEL_X11; - } - - switch (backend->type) { -#ifdef RUIM_PLATFORM_LINUX - case RUIM_TOPLEVEL_X11: { - return _init_xcb_backend(backend); - } break; -#endif - default: - printf("%d\n", backend->type); - crash_error("unrecognized backend type"); - } - - crash_error("unreachable"); - return -1; -} - -int RuimToplevelBackendDeinit(RuimToplevelBackend *backend) { - if (backend == NULL || backend->type == 0) { - crash_error("some crash"); - } - - switch (backend->type) { -#ifdef RUIM_PLATFORM_LINUX - case RUIM_TOPLEVEL_X11: { - return _deinit_xcb_backend(backend); - } break; -#endif - default: - crash_error("some crash"); - } - - return 0; -} - -int RuimToplevelCreate(RuimToplevel *toplevel, RuimToplevelType type) { - if (type && type != RUIM_TOPLEVEL_WINDOW) { - crash_error("TODO: toplevel must be a window"); - } - - if (toplevel->backend == NULL) { - crash_error("TODO: backend must be set"); - } - - switch (toplevel->backend->type) { -#ifdef RUIM_PLATFORM_LINUX - case RUIM_TOPLEVEL_X11: { - return _create_toplevel_xcb(toplevel); - } break; -#endif - default: - crash_error("unknown backend type"); - } - - return 0; -} - -int RuimToplevelDisplay(RuimToplevel *toplevel) { - if (toplevel == NULL) { - crash_error("toplevel must be non-null"); - } - - switch (toplevel->backend->type) { -#ifdef RUIM_PLATFORM_LINUX - case RUIM_TOPLEVEL_X11: { - return _display_toplevel_xcb(toplevel); - } break; -#endif - default: - crash_error("some crash"); - } - - return 0; -} - -int RuimToplevelPoll(RuimToplevel *toplevel, RuimToplevelEvent *event) { - switch (toplevel->backend->type) { -#ifdef RUIM_PLATFORM_LINUX - case RUIM_TOPLEVEL_X11: { - if (_poll_event_xcb(toplevel, event) != 0) { - crash_error("xcb connection error"); - } - } break; -#endif - default: - crash_error("unknown backend type"); - } - - if (event->type == RUIM_TOPLEVEL_EVENT_NOTHING) { - return 0; - } else { - return 1; - } -} - -int RuimToplevelWaitForEvent(RuimToplevel *toplevel) { - switch (toplevel->backend->type) { -#ifdef RUIM_PLATFORM_LINUX - case RUIM_TOPLEVEL_X11: { - return _wait_event_xcb(toplevel); - } break; -#endif - default: - crash_error("unknown backend type"); - } - - crash_error("unreachable"); - return -1; -} - -int RuimToplevelDestroy(RuimToplevel *toplevel) { - - switch (toplevel->backend->type) { -#ifdef RUIM_PLATFORM_LINUX - case RUIM_TOPLEVEL_X11: { - return _destroy_toplevel_xcb(toplevel); - } break; -#endif - default: - crash_error("unknown backend type"); - } - - crash_error("unreachable"); - return -1; -} |