- [FIX] Arreglat un warning en Windows, coses de les putes llibreries STL, que son de tot menos estandar

- [WIP] En Windows, després de redimensionar finestra, es veu mal, treballant en ello, pero a Windows li ha pegat per actualiztar-se a Windows 11 i a vore qui li diu que no
This commit is contained in:
2025-11-19 10:10:06 +01:00
parent 33d72f8990
commit c83aa61162
2 changed files with 15 additions and 5 deletions

View File

@@ -9,6 +9,7 @@ namespace draw
SDL_Renderer *sdl_renderer {nullptr}; // El renderer de SDL
SDL_Texture *sdl_texture {nullptr}; // La textura a la que ho renderitze tot
SDL_Texture *sdl_source {nullptr};
SDL_FRect window_rect {0,0,0,0};
void init(const char *titol, const uint16_t width, const uint16_t height)
{
@@ -18,20 +19,29 @@ namespace draw
exit(1);
}
sdl_renderer = SDL_CreateRenderer(sdl_window, NULL);
printf("AVAILABLE RENDER DRIVERS:\n");
for (int i=0; i<SDL_GetNumRenderDrivers(); ++i) {
printf("%i: %s\n", i, SDL_GetRenderDriver(i));
}
sdl_renderer = SDL_CreateRenderer(sdl_window, nullptr);
if (!sdl_renderer) {
SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "ERROR (draw::init): Failed to initialize renderer!\n");
exit(1);
}
printf("Using: %s\n", SDL_GetRendererName(sdl_renderer));
sdl_texture = SDL_CreateTexture(sdl_renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_TARGET, width, height);
//SDL_SetRenderDrawBlendMode(sdl_renderer, SDL_BLENDMODE_BLEND);
window_rect = {0,0,float(width),float(height)};
}
void resizeSystemTexture(const uint16_t width, const uint16_t height)
{
SDL_DestroyTexture(sdl_texture);
sdl_texture = SDL_CreateTexture(sdl_renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_TARGET, width, height);
window_rect = {0,0,float(width),float(height)};
}
void quit()
@@ -199,7 +209,7 @@ namespace draw
void render()
{
SDL_SetRenderTarget(sdl_renderer, nullptr);
SDL_RenderTexture(sdl_renderer, sdl_texture, nullptr, nullptr);
SDL_RenderTexture(sdl_renderer, sdl_texture, &window_rect, &window_rect);
SDL_RenderPresent(sdl_renderer);
SDL_SetRenderTarget(sdl_renderer, sdl_texture);
}