summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/SDL2/Xcode-iOS/Demos/src/rectangles.c
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/SDL2/Xcode-iOS/Demos/src/rectangles.c')
-rw-r--r--3rdparty/SDL2/Xcode-iOS/Demos/src/rectangles.c91
1 files changed, 51 insertions, 40 deletions
diff --git a/3rdparty/SDL2/Xcode-iOS/Demos/src/rectangles.c b/3rdparty/SDL2/Xcode-iOS/Demos/src/rectangles.c
index 86fce49fe68..10f9f851b3f 100644
--- a/3rdparty/SDL2/Xcode-iOS/Demos/src/rectangles.c
+++ b/3rdparty/SDL2/Xcode-iOS/Demos/src/rectangles.c
@@ -11,14 +11,18 @@
void
render(SDL_Renderer *renderer)
{
-
Uint8 r, g, b;
+ int renderW;
+ int renderH;
+
+ SDL_RenderGetLogicalSize(renderer, &renderW, &renderH);
+
/* Come up with a random rectangle */
SDL_Rect rect;
rect.w = randomInt(64, 128);
rect.h = randomInt(64, 128);
- rect.x = randomInt(0, SCREEN_WIDTH);
- rect.y = randomInt(0, SCREEN_HEIGHT);
+ rect.x = randomInt(0, renderW);
+ rect.y = randomInt(0, renderH);
/* Come up with a random color */
r = randomInt(50, 255);
@@ -31,51 +35,58 @@ render(SDL_Renderer *renderer)
/* update screen */
SDL_RenderPresent(renderer);
-
}
int
main(int argc, char *argv[])
{
- if (SDL_Init(SDL_INIT_VIDEO/* | SDL_INIT_AUDIO */) < 0)
- {
- printf("Unable to initialize SDL");
+
+ SDL_Window *window;
+ SDL_Renderer *renderer;
+ int done;
+ SDL_Event event;
+ int windowW;
+ int windowH;
+
+ /* initialize SDL */
+ if (SDL_Init(SDL_INIT_VIDEO) < 0) {
+ fatalError("Could not initialize SDL");
+ }
+
+ /* seed random number generator */
+ srand(time(NULL));
+
+ /* create window and renderer */
+ window = SDL_CreateWindow(NULL, 0, 0, 320, 480, SDL_WINDOW_ALLOW_HIGHDPI);
+ if (window == 0) {
+ fatalError("Could not initialize Window");
}
-
- SDL_LogSetAllPriority(SDL_LOG_PRIORITY_WARN);
- SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2);
- SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
-
- int landscape = 1;
- int modes = SDL_GetNumDisplayModes(0);
- int sx = 0, sy = 0;
- for (int i = 0; i < modes; i++)
- {
- SDL_DisplayMode mode;
- SDL_GetDisplayMode(0, i, &mode);
- if (landscape ? mode.w > sx : mode.h > sy)
- {
- sx = mode.w;
- sy = mode.h;
+ renderer = SDL_CreateRenderer(window, -1, 0);
+ if (!renderer) {
+ fatalError("Could not create renderer");
+ }
+
+ SDL_GetWindowSize(window, &windowW, &windowH);
+ SDL_RenderSetLogicalSize(renderer, windowW, windowH);
+
+ /* Fill screen with black */
+ SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
+ SDL_RenderClear(renderer);
+
+ /* Enter render loop, waiting for user to quit */
+ done = 0;
+ while (!done) {
+ while (SDL_PollEvent(&event)) {
+ if (event.type == SDL_QUIT) {
+ done = 1;
+ }
}
+ render(renderer);
+ SDL_Delay(1);
}
-
- printf("picked: %d %d\n", sx, sy);
-
- SDL_Window *_sdl_window = NULL;
- SDL_GLContext _sdl_context = NULL;
-
- _sdl_window = SDL_CreateWindow("fred",
- 0, 0,
- sx, sy,
- SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS);
-
- SDL_SetHint("SDL_HINT_ORIENTATIONS", "LandscapeLeft LandscapeRight");
-
- int ax = 0, ay = 0;
- SDL_GetWindowSize(_sdl_window, &ax, &ay);
-
- printf("given: %d %d\n", ax, ay);
+
+ /* shutdown SDL */
+ SDL_Quit();
return 0;
}