/* * rectangles.c * written by Holmes Futrell * use however you want */ #include "SDL.h" #include #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; }