From 9090a75259ee4bac593e30eed8bc88dc205fa1e0 Mon Sep 17 00:00:00 2001 From: David Husicka Date: Sun, 5 Dec 2021 15:31:33 +0100 Subject: [PATCH] basics --- gui.c | 38 ++++++++++++++++++++++++++++++++++++++ gui.h | 14 ++++++++++++++ main.c | 8 +++++++- meson.build | 1 + 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 gui.c create mode 100644 gui.h diff --git a/gui.c b/gui.c new file mode 100644 index 0000000..7270e92 --- /dev/null +++ b/gui.c @@ -0,0 +1,38 @@ +#include "gui.h" + +#include "SDL.h" + +const SCREEN_WIDTH = 800; +const SCREEN_HEIGHT = 600; + +SDL_Window* window = NULL; +SDL_Surface* screenSurface = NULL; + +void gui_init() { + + //Initialize SDL + if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) + { + printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() ); + } + + window = SDL_CreateWindow( "2048", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN ); + if( window == NULL ) + { + printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() ); + } +} + +void gui_destroy () { + //Destroy window + SDL_DestroyWindow( window ); + + //Quit SDL subsystems + SDL_Quit(); + +} + +void gui_loop(Game *game) { + sleep(2000); + +} \ No newline at end of file diff --git a/gui.h b/gui.h new file mode 100644 index 0000000..1d7000b --- /dev/null +++ b/gui.h @@ -0,0 +1,14 @@ +#include +#include "2048.h" + +#ifndef HEADER_GUI +#define HEADER_GUI + +typedef struct GUI { +} GUI; + +void gui_init(); +void gui_destroy(); +void gui_loop(Game *game); + +#endif \ No newline at end of file diff --git a/main.c b/main.c index ccd3fed..d3b499d 100644 --- a/main.c +++ b/main.c @@ -1,15 +1,21 @@ #include "tui.h" +#include "gui.h" #include "2048.h" int main(int argc, char *argv[]) { Game game; game = game_init(4, 4); - tui_init(); + /*tui_init(); tui_loop(&game); tui_destroy(); + */ + + gui_init(); + gui_loop(&game); + gui_destroy(); game_destroy(game); return 0; } diff --git a/meson.build b/meson.build index 1d61be0..8e2a5d5 100644 --- a/meson.build +++ b/meson.build @@ -6,6 +6,7 @@ ncurses = dependency('ncurses') src_2048 = [ '2048.c', 'tui.c', + 'gui.c', 'main.c', ]