diff --git a/src/src/sdl3.c b/src/src/sdl3.c index e6e1476..679484d 100644 --- a/src/src/sdl3.c +++ b/src/src/sdl3.c @@ -59,7 +59,7 @@ static int SAC_EventHandler(void *data) exit(0); } -SDLcontext *SAC_InitDisplay(int height, int width) +SDLcontext *SAC_InitDisplay(sac_int height, sac_int width) { SDLcontext *ctx = (SDLcontext *)malloc(sizeof(SDLcontext)); ctx->width = width; @@ -73,11 +73,11 @@ SDLcontext *SAC_InitDisplay(int height, int width) SAC_RuntimeError("SDL_Init failed: %s", SDL_GetError()); } - if(!SDL_CreateWindowAndRenderer("SaC SDL3", width, height, 0, &ctx->window, &ctx->renderer)) { + if(!SDL_CreateWindowAndRenderer("SaC SDL3", (int)width, (int)height, 0, &ctx->window, &ctx->renderer)) { SAC_RuntimeError("SDL_CreateWindowAndRenderer failed: %s", SDL_GetError()); } - ctx->texture = SDL_CreateTexture(ctx->renderer, SDL_PIXELFORMAT_RGB24, SDL_TEXTUREACCESS_STREAMING, width, height); + ctx->texture = SDL_CreateTexture(ctx->renderer, SDL_PIXELFORMAT_RGB24, SDL_TEXTUREACCESS_STREAMING, (int)width, (int)height); if(ctx->texture == NULL) { SAC_RuntimeError("SDL_CreateTexture failed: %s", SDL_GetError()); } @@ -102,14 +102,14 @@ SDLcontext *SAC_InitDisplay(int height, int width) return ctx; } -void SAC_DrawPixelsOffset(SDLcontext *ctx, SACarg *sacPixels, int xOffset, int yOffset) +void SAC_DrawPixelsOffset(SDLcontext *ctx, SACarg *sacPixels, sac_int xOffset, sac_int yOffset) { assert(SACARGgetDim(sacPixels) == 3); assert(SACARGgetShape(sacPixels, 2) == 3); - const int srcHeight = SACARGgetShape(sacPixels, 0); - const int srcWidth = SACARGgetShape(sacPixels, 1); - const int *srcPixels = SACARGgetSharedData(SACTYPE__MAIN__int, sacPixels); + const sac_int srcHeight = (sac_int)SACARGgetShape(sacPixels, 0); + const sac_int srcWidth = (sac_int)SACARGgetShape(sacPixels, 1); + const sac_int *srcPixels = SACARGgetSharedData(SACTYPE__MAIN__int, sacPixels); uint8_t *dstPixels; int pitch; @@ -117,11 +117,11 @@ void SAC_DrawPixelsOffset(SDLcontext *ctx, SACarg *sacPixels, int xOffset, int y SAC_RuntimeError("SDL_LockTexture failed: %s", SDL_GetError()); } - for (size_t y = 0; y < MIN(srcHeight, ctx->height - yOffset); y++) { - const int *srcRow = srcPixels + y * srcWidth * 3; - uint8_t *dstRow = dstPixels + (yOffset + y) * pitch; + for (sac_int y = 0; y < MIN(srcHeight, (sac_int)ctx->height - yOffset); y++) { + const sac_int *srcRow = srcPixels + y * srcWidth * 3; + uint8_t *dstRow = dstPixels + (yOffset + y) * (sac_int)pitch; - for (size_t x = 0; x < 3 * MIN(srcWidth, ctx->width - xOffset); x += 3) { + for (sac_int x = 0; x < 3 * MIN(srcWidth, (sac_int)ctx->width - xOffset); x += 3) { dstRow[xOffset + x + 0] = (uint8_t)(srcRow[x + 0]); dstRow[xOffset + x + 1] = (uint8_t)(srcRow[x + 1]); dstRow[xOffset + x + 2] = (uint8_t)(srcRow[x + 2]); @@ -144,7 +144,7 @@ SACarg *SAC_GetSelection(SDLcontext *ctx) SDL_WaitSemaphore(ctx->selection.isSelecting); assert(ctx->selection.mode == SEL_none); - int *res = malloc(4 * sizeof(int)); + sac_int *res = malloc(4 * sizeof(sac_int)); // Ensure coordinates are [topleft, bottomright] and each of the form [y,x] if (ctx->selection.coords[0] <= ctx->selection.coords[2]) { res[1] = ctx->selection.coords[0]; @@ -164,7 +164,7 @@ SACarg *SAC_GetSelection(SDLcontext *ctx) return SACARGcreateFromPointer(SACTYPE__MAIN__int, (void *)res, 2, 2, 2); } -int SAC_CloseDisplay(SDLcontext *ctx) +sac_int SAC_CloseDisplay(SDLcontext *ctx) { if (ctx->running) { SDL_Event quitEvent; @@ -174,11 +174,11 @@ int SAC_CloseDisplay(SDLcontext *ctx) } } - int exitStatus; - SDL_WaitThread(ctx->eventHandler, &exitStatus); + int status; + SDL_WaitThread(ctx->eventHandler, &status); SDL_Quit(); - return exitStatus; + return (sac_int)status; } bool SAC_IsRunning(SDLcontext *ctx) diff --git a/src/src/sdl3.h b/src/src/sdl3.h index fe6834f..f658d1b 100644 --- a/src/src/sdl3.h +++ b/src/src/sdl3.h @@ -16,7 +16,7 @@ typedef enum { typedef struct SDLselection { SDL_Semaphore *isSelecting; selmode_t mode; - int coords[4]; + sac_int coords[4]; } SDLselection; typedef struct SDLcontext { @@ -29,11 +29,11 @@ typedef struct SDLcontext { SDLselection selection; } SDLcontext; -extern SDLcontext *SAC_InitDisplay(int height, int width); -extern void SAC_DrawPixelsOffset(SDLcontext *ctx, SACarg *sacPixels, int xOffset, int yOffset); +extern SDLcontext *SAC_InitDisplay(sac_int height, sac_int width); +extern void SAC_DrawPixelsOffset(SDLcontext *ctx, SACarg *sacPixels, sac_int xOffset, sac_int yOffset); extern void SAC_DrawPixels(SDLcontext *ctx, SACarg *sacPixels); extern SACarg *SAC_GetSelection(SDLcontext *ctx); -extern int SAC_CloseDisplay(SDLcontext *ctx); +extern sac_int SAC_CloseDisplay(SDLcontext *ctx); extern bool SAC_IsRunning(SDLcontext *ctx); #endif /* _SACSDL3_H_ */