fixed ARC_String, worked on ARC_Text, and did some stuff with buffers

This commit is contained in:
herbglitch 2025-04-11 04:34:00 -06:00
parent 21a66f7fe6
commit d01d78972e
8 changed files with 86 additions and 41 deletions

View file

@ -62,6 +62,8 @@ void ARC_Renderer_Clear(ARC_Renderer *renderer){
SDL_SetRenderTarget(renderer->renderer, NULL);
SDL_SetRenderDrawColor(renderer->renderer, renderer->clearColor.r, renderer->clearColor.g, renderer->clearColor.b, renderer->clearColor.a);
SDL_RenderClear(renderer->renderer);
ARC_Renderer_ClearBuffers(renderer);
}
void ARC_Renderer_Render(ARC_Renderer *renderer){
@ -90,6 +92,20 @@ void ARC_Renderer_RemoveBuffer(ARC_Renderer *renderer, uint32_t zIndex){
ARC_Hashtable_Remove(renderer->buffers, &zIndex);
}
void ARC_Renderer_RenderBuffer(ARC_Renderer *renderer, uint32_t zIndex){
SDL_Texture *buffer = (SDL_Texture *)ARC_Hashtable_Get(renderer->buffers, &zIndex);
SDL_RenderTexture(renderer->renderer, buffer, NULL, NULL);
}
//TODO: write this
void ARC_Renderer_BuffersHashtableRenderIteratorFn(void *key, void *value, void *userData){
}
//TODO: write this
void ARC_Renderer_RenderBuffers(ARC_Renderer *renderer){
}
//private function to iterate and clear each available buffer
void ARC_Renderer_BuffersHashtableClearIteratorFn(void *key, void *value, void *userData){
ARC_Renderer *renderer = (ARC_Renderer *)userData;