#include "TZR.h" #include "TZR_globals.h" #include "sdl_error.h" int TZR_SetViewportSize(int width, int height) { const int pw = ___tzr_config.width; const int ph = ___tzr_config.height; ___tzr_config.width = width; ___tzr_config.height = height; if (___tzr_config.hd_render) { if (SDL_RenderSetLogicalSize(___tzr_renderer, ___tzr_config.width, ___tzr_config.height) < 0) return sdl_error(-1); } else { if (___tzr_target != NULL && pw == width && ph == height) return 0; if (___tzr_target != NULL) SDL_DestroyTexture(___tzr_target); ___tzr_target = SDL_CreateTexture(___tzr_renderer, SDL_PIXELFORMAT_RGB888, SDL_TEXTUREACCESS_TARGET, ___tzr_config.width, ___tzr_config.height); if (___tzr_target == NULL) return sdl_error(-1); if (___tzr_config.interlace) { ___tzr_target_pre = SDL_CreateTexture( ___tzr_renderer, SDL_PIXELFORMAT_RGB888, SDL_TEXTUREACCESS_TARGET, ___tzr_config.width, ___tzr_config.height); } } return 0; }