Wiki Page Content

Differences between revisions 28 and 29
Revision 28 as of 2015-05-08 19:39:50
Size: 3435
Comment: Added related function (Feedback 2015-04-07).
Revision 29 as of 2015-07-16 02:17:41
Size: 3587
Editor: urkle
Comment: add note about getting HighDPI working on OS X
Deletions are marked like this. Additions are marked like this.
Line 91: Line 91:
On Apple's OS X you '''must''' set the NSHighResolutionCapable Info.plist property to YES, otherwise you will not receive a High DPI OpenGL canvas.

SDL_CreateWindow

Use this function to create a window with the specified position, dimensions, and flags.

Syntax

SDL_Window* SDL_CreateWindow(const char* title,
                             int         x,
                             int         y,
                             int         w,
                             int         h,
                             Uint32      flags)

Function Parameters

title

the title of the window, in UTF-8 encoding

x

the x position of the window, SDL_WINDOWPOS_CENTERED, or SDL_WINDOWPOS_UNDEFINED

y

the y position of the window, SDL_WINDOWPOS_CENTERED, or SDL_WINDOWPOS_UNDEFINED

w

the width of the window

h

the height of the window

flags

0, or one or more SDL_WindowFlags OR'd together; see Remarks for details

Return Value

Returns the window that was created or NULL on failure; call SDL_GetError() for more information.

Code Examples

// Example program:
// Using SDL2 to create an application window

#include "SDL.h"
#include <stdio.h>

int main(int argc, char* argv[]) {

    SDL_Window *window;                    // Declare a pointer

    SDL_Init(SDL_INIT_VIDEO);              // Initialize SDL2

    // Create an application window with the following settings:
    window = SDL_CreateWindow(
        "An SDL2 window",                  // window title
        SDL_WINDOWPOS_UNDEFINED,           // initial x position
        SDL_WINDOWPOS_UNDEFINED,           // initial y position
        640,                               // width, in pixels
        480,                               // height, in pixels
        SDL_WINDOW_OPENGL                  // flags - see below
    );

    // Check that the window was successfully made
    if (window == NULL) {
        // In the event that the window could not be made...
        printf("Could not create window: %s\n", SDL_GetError());
        return 1;
    }

    // The window is open: enter program loop (see SDL_PollEvent)

    SDL_Delay(3000);  // Pause execution for 3000 milliseconds, for example

    // Close and destroy the window
    SDL_DestroyWindow(window);

    // Clean up
    SDL_Quit();
    return 0;
}

Remarks

flags may be any of the following OR'd together:

SDL_WINDOW_FULLSCREEN

fullscreen window

SDL_WINDOW_FULLSCREEN_DESKTOP

fullscreen window at the current desktop resolution

SDL_WINDOW_OPENGL

window usable with OpenGL context

SDL_WINDOW_HIDDEN

window is not visible

SDL_WINDOW_BORDERLESS

no window decoration

SDL_WINDOW_RESIZABLE

window can be resized

SDL_WINDOW_MINIMIZED

window is minimized

SDL_WINDOW_MAXIMIZED

window is maximized

SDL_WINDOW_INPUT_GRABBED

window has grabbed input focus

SDL_WINDOW_ALLOW_HIGHDPI

window should be created in high-DPI mode if supported (>= SDL 2.0.1)

SDL_WINDOW_SHOWN is ignored by SDL_CreateWindow(). The SDL_Window is implicitly shown if SDL_WINDOW_HIDDEN is not set. SDL_WINDOW_SHOWN may be queried later using SDL_GetWindowFlags().

On Apple's OS X you must set the NSHighResolutionCapable Info.plist property to YES, otherwise you will not receive a High DPI OpenGL canvas.


CategoryAPI, CategoryVideo

None: SDL_CreateWindow (last edited 2018-09-04 21:50:13 by ninepoints)

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit