#include "arc/engine/engine.h" #include #include #include "arc/graphics/window.h" #include "arc/graphics/renderer.h" //NOTE: this is very temp, mostly to get smthn running so I can test out different ideas #ifdef ARC_SDL #include #include "arc/graphics/sdl/window.h" #include "arc/graphics/sdl/renderer.h" #endif // ARC_SDL void ARC_EngineData_Create(ARC_EngineData **data){ *data = (ARC_EngineData *)malloc(sizeof(ARC_EngineData)); (*data)->window = NULL; (*data)->renderer = NULL; ARC_WindowInfo windowInfo; ARC_RenderInfo renderInfo; #ifdef ARC_SDL if(SDL_Init(SDL_INIT_VIDEO) < 0){ printf("Error: initializing SDL\nSDL Error: %s\n", SDL_GetError()); free(*data); return; } windowInfo = (ARC_WindowInfo){ "title", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 1920, 1080, 0 }; #endif // ARC_SDL ARC_Window_Create(&((*data)->window), &windowInfo); //TODO: handle arc_errno errors here #ifdef ARC_SDL renderInfo = (ARC_RenderInfo){ (SDL_Window *)(*data)->window->window, -1, SDL_RENDERER_ACCELERATED }; #endif // ARC_SDL ARC_Renderer_Create(&((*data)->renderer), &renderInfo); //TODO: handle arc_errno errors here } void ARC_EngineData_Destroy(ARC_EngineData *data){ #ifdef ARC_SDL ARC_Window_Destroy( data->window ); ARC_Renderer_Destroy(data->renderer); #endif // ARC_SDL } void ARC_Engine_Run(ARC_EngineData *data){ }