basic sdl init graphics and engine implementaiton

This commit is contained in:
herbglitch 2022-10-29 00:22:23 -06:00
parent db1adbb838
commit 685364929b
18 changed files with 257 additions and 7 deletions

View file

@ -1,5 +0,0 @@
#ifndef ARC_GRAPHICS_DATA_H_
#define ARC_GRAPHICS_DATA_H_
#endif //ARC_GRAPHICS_DATA_H_

View file

@ -0,0 +1,24 @@
#ifndef ARC_GRAPHICS_RENDERER_H_
#define ARC_GRAPHICS_RENDERER_H_
typedef struct ARC_Renderer ARC_Renderer;
typedef struct ARC_RenderInfo ARC_RenderInfo;
/**
* @brief creates ARC_Renderer type
*
* @note the parameter data is determined by which graphics library you are using
* please refer to the graphics library section to see what needs to be passed
*
* @param renderer ARC_Window to initialize
* @param data Data to create ARC_Window
*/
void ARC_Renderer_Create(ARC_Renderer **renderer, void *data);
/**
* @brief destroys ARC_Renderer type
*/
void ARC_Renderer_Destroy(ARC_Renderer *renderer);
#endif // !ARC_GRAPHICS_RENDERER_H_

View file

@ -0,0 +1,22 @@
#ifndef ARC_SDL_RENDERER_H_
#define ARC_SDL_RENDERER_H_
#ifdef ARC_SDL
#include <SDL.h>
/**
* @brief struct for info needed to create SDL_Renderer
*
* @note this is what needs to be passed into the data parameter for ARC_Renderer_Create
*/
struct ARC_RenderInfo {
ARC_Window *window;
int index;
Uint32 flags;
} ARC_RenderInfo;
#endif // ARC_SDL
#endif // ARC_SDL_RENDERER_H_

View file

@ -0,0 +1,25 @@
#ifndef ARC_SDL_RENDERER_H_
#define ARC_SDL_RENDERER_H_
#ifdef ARC_SDL
#include <SDL.h>
/**
* @brief struct for info needed to create SDL_Window
*
* @note this is what needs to be passed into the data parameter for ARC_Window_Create
*/
struct ARC_WindowInfo {
char *title;
int x;
int y;
int w;
int h;
Uint32 flags;
} ARC_WindowInfo;
#endif // ARC_SDL
#endif // ARC_SDL_RENDERER_H_

View file

@ -0,0 +1,24 @@
#ifndef ARC_GRAPHICS_WINDOW_H_
#define ARC_GRAPHICS_WINDOW_H_
typedef struct ARC_Window ARC_Window;
typedef struct ARC_WindowInfo ARC_WindowInfo;
/**
* @brief creates ARC_Window type
*
* @note the parameter data is determined by which graphics library you are using
* please refer to the graphics library section to see what needs to be passed
*
* @param window ARC_Window to initialize
* @param data Data to create ARC_Window
*/
void ARC_Window_Create(ARC_Window **window, void *data);
/**
* @brief destroys ARC_Window type
*/
void ARC_Window_Destroy(ARC_Window *window);
#endif // !ARC_GRAPHICS_WINDOW_H_