
SDL_Surface has been simplified and internal details are no longer in the public structure. The `format` member of SDL_Surface is now an enumerated pixel format value. You can get the full details of the pixel format by calling `SDL_GetPixelFormatDetails(surface->format)`. You can get the palette associated with the surface by calling SDL_GetSurfacePalette(). You can get the clip rectangle by calling SDL_GetSurfaceClipRect(). SDL_PixelFormat has been renamed SDL_PixelFormatDetails and just describes the pixel format, it does not include a palette for indexed pixel types. SDL_PixelFormatEnum has been renamed SDL_PixelFormat and is used instead of Uint32 for API functions that refer to pixel format by enumerated value. SDL_MapRGB(), SDL_MapRGBA(), SDL_GetRGB(), and SDL_GetRGBA() take an optional palette parameter for indexed color lookups.
24 lines
720 B
C
24 lines
720 B
C
#include <SDL3/SDL.h>
|
|
#include <SDL3/SDL_main.h>
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
SDL_Window *window = NULL;
|
|
SDL_Surface *screenSurface = NULL;
|
|
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
|
SDL_Log("Could not initialize SDL: %s\n", SDL_GetError());
|
|
return 1;
|
|
}
|
|
window = SDL_CreateWindow("Hello SDL", 640, 480, 0);
|
|
if (!window) {
|
|
SDL_Log("could not create window: %s\n", SDL_GetError());
|
|
return 1;
|
|
}
|
|
screenSurface = SDL_GetWindowSurface(window);
|
|
SDL_FillSurfaceRect(screenSurface, NULL, SDL_MapSurfaceRGB(screenSurface, 0xff, 0xff, 0xff));
|
|
SDL_UpdateWindowSurface(window);
|
|
SDL_Delay(100);
|
|
SDL_DestroyWindow(window);
|
|
SDL_Quit();
|
|
return 0;
|
|
}
|