Difference between revisions of "love.window.setMode"

m (Added note about auto-resizing when the size isn't supported in fullscreen)
m (Added example)
Line 32: Line 32:
  
 
If you have disabled the window in [[conf.lua]] and use this functon to manually create the window, then you must not call any other [[love.graphics]].* function before this one. Doing so will result in undefined behavior and/or crashes because OpenGL cannot function properly without a window.
 
If you have disabled the window in [[conf.lua]] and use this functon to manually create the window, then you must not call any other [[love.graphics]].* function before this one. Doing so will result in undefined behavior and/or crashes because OpenGL cannot function properly without a window.
 +
 +
== Examples ==
 +
Make the window resizable with vsync disabled and a minimum width and height set.
 +
<source lang="lua">
 +
function love.load()
 +
    love.window.setMode(800, 600, {resizable=true, vsync=false, minwidth=400, minheight=300})
 +
end
 +
</source>
  
 
== See Also ==
 
== See Also ==
Line 37: Line 45:
 
* [[love.window.getMode]]
 
* [[love.window.getMode]]
 
* [[love.window.getModes]]
 
* [[love.window.getModes]]
 +
* [[love.resize]]
 
[[Category:Functions]]
 
[[Category:Functions]]
 
{{#set:Description=Changes the display mode.}}
 
{{#set:Description=Changes the display mode.}}

Revision as of 00:39, 28 August 2013

Available since LÖVE 0.9.0
Moved from love.graphics.setMode.


Changes the display mode.

If width or height is 0, setMode will use the width and height of the desktop.

Changing the display mode may have side effects: for example, canvases will be cleared; make sure to save their contents beforehand if you need to.

Function

Synopsis

success = love.window.setMode( width, height, flags )

Arguments

number width
Display width.
number height
Display height.
table flags
The flags table with the options:
boolean fullscreen (false)
Fullscreen (true), or windowed (false).
FullscreenType fullscreentype ("normal")
The type of fullscreen to use.
boolean vsync (true)
True if LÖVE should wait for vsync, false otherwise.
number fsaa (0)
The number of antialiasing samples.
boolean resizable (false)
True if the window should be resizable in windowed mode, false otherwise.
boolean borderless (false)
True if the window should be borderless in windowed mode, false otherwise.
boolean centered (true)
True if the window should be centered in windowed mode, false otherwise.
number display (1)
The index of the display to show the window in, if multiple monitors are available.
number minwidth (100)
The minimum width of the window, if it's resizable.
number minheight (100)
The minimum height of the window, if it's resizable.

Returns

boolean success
True if successful, false otherwise.

Notes

If fullscreen is enabled and the width or height is not supported (see love.window.checkMode), the window may be resized to the closest available resolution and a resize event will be triggered. If the fullscreen type is "desktop", then the window will be automatically resized to the desktop resolution.

If you have disabled the window in conf.lua and use this functon to manually create the window, then you must not call any other love.graphics.* function before this one. Doing so will result in undefined behavior and/or crashes because OpenGL cannot function properly without a window.

Examples

Make the window resizable with vsync disabled and a minimum width and height set.

function love.load()
    love.window.setMode(800, 600, {resizable=true, vsync=false, minwidth=400, minheight=300})
end

See Also


Other Languages