mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2025-05-04 18:07:55 +02:00
since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
82 lines
1.9 KiB
C
82 lines
1.9 KiB
C
/*
|
|
* rectangles.c
|
|
* written by Holmes Futrell
|
|
* use however you want
|
|
*/
|
|
|
|
#include "SDL.h"
|
|
#include <time.h>
|
|
#include "common.h"
|
|
|
|
void
|
|
render(SDL_Renderer *renderer)
|
|
{
|
|
|
|
Uint8 r, g, b;
|
|
/* 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);
|
|
|
|
/* Come up with a random color */
|
|
r = randomInt(50, 255);
|
|
g = randomInt(50, 255);
|
|
b = randomInt(50, 255);
|
|
|
|
/* Fill the rectangle in the color */
|
|
SDL_SetRenderDrawColor(renderer, r, g, b, 255);
|
|
SDL_RenderFillRect(renderer, &rect);
|
|
|
|
/* 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_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;
|
|
}
|
|
}
|
|
|
|
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);
|
|
|
|
return 0;
|
|
}
|