summaryrefslogtreecommitdiff
path: root/gui/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'gui/window.c')
-rw-r--r--gui/window.c137
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;
-}