diff options
-rw-r--r-- | meson.build | 2 | ||||
-rw-r--r-- | sdl2.c | 67 |
2 files changed, 69 insertions, 0 deletions
diff --git a/meson.build b/meson.build index 9a5f339..205b210 100644 --- a/meson.build +++ b/meson.build @@ -2,5 +2,7 @@ project('LimoX', 'c') gtkdep = dependency('gtk4') strophedep = dependency('libstrophe') sdldep = dependency('sdl') +sdl2dep = dependency('sdl2') executable('limox', ['main.c', 'gtk.c', 'net.c', 'data.c'], dependencies : [gtkdep, strophedep]) executable('limox_sdl', ['main.c', 'sdl.c', 'net.c', 'data.c'], dependencies : [sdldep, strophedep]) +executable('limox_sdl2', ['main.c', 'sdl2.c', 'net.c', 'data.c'], dependencies : [sdl2dep, strophedep]) @@ -0,0 +1,67 @@ + + +/* mention the SDL2 documentation at http://wiki.libsdl.org/APIByCategory */ + +/* WARNING this seems to be not working on Wayland! */ + + +#include <SDL2/SDL.h> +#include <stdbool.h> + +#include "net.h" +#include "data.h" + + +void gui_run(void) { + + bool quit = false; + SDL_Event event; + SDL_Window* window; + + // init SDL2 and create window + SDL_Init(SDL_INIT_VIDEO); + window = SDL_CreateWindow("LimoX", + SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, + 0 + ); + + // handle failed window creation + if (window == NULL) { + fprintf(stderr, "Failed to create SDL2 window!\n"); + return; + } else { + while (!quit) { + SDL_WaitEvent(&event); + switch (event.type) + { + case SDL_QUIT: + quit = true; + break; + } + } + SDL_DestroyWindow(window); + } + + SDL_Quit(); + +} + +void gui_connected(char* jid, char* password) { + +} + +void gui_disconnected(void) { + +} + +void gui_add_roster_item_widget(roster_item_t* item) { + +} + +void gui_add_chat_widget(chat_t* chat) { + +} + +void gui_add_message_widget(message_t* message, chat_t* chat) { + +} |