mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-23 17:30:39 +02:00
Windows: Always set the system timer resolution to 1ms by default.
An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
This commit is contained in:
81
Xcode-iOS/Demos/src/rectangles.c
Normal file
81
Xcode-iOS/Demos/src/rectangles.c
Normal file
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
Reference in New Issue
Block a user