Tiene problemas inicializar un SDL_Surface
-
21-08-2019 - |
Pregunta
Estoy tratando de configurar algo en SDL [en C ++] donde puedo dibujar un rectángulo grande de un píxel. Tengo todo en mi código de trabajo, excepto mi segundo SDL_Surface llamada rectángulo. Tengo problemas para inicializarlo. Aquí está la línea donde trato de inicializarlo:
rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL |
SDL_SRCALPHA | SDL_HWSURFACE,
screen->format, 1, 1, 16, NULL, clip_rect, 1);
Gracias por tomarse el tiempo para leer esto y las respuestas que puede optar por dar.
Solución
Creo que el principal problema que tiene es que no hay ninguna función SDL_Surface
. Para crear una nueva superficie, utilice SDL_CreateRGBSurface
. Asegúrese de llamar SDL_FreeSurface
en la superficie de volver después de que haya terminado con él o usted perderá memoria.
Además, no estoy seguro de por qué se está creando una superficie para el rectángulo. Una forma más limpia de dibujar un rectángulo de color sólido es SDL_FillRect
sin crear una nueva superficie.