Difference between revisions of "love.window.getSafeArea"

m (Example: Minor improvements)
m
 
(One intermediate revision by the same user not shown)
Line 21: Line 21:
 
[[File:safe-area-07.png|150px|thumb|right|Show safe area]]
 
[[File:safe-area-07.png|150px|thumb|right|Show safe area]]
 
<source lang="lua">
 
<source lang="lua">
-- outside of love.load
+
function love.draw()
love.window.setMode(240, 320) -- QVGA, but vertical (this sets viewport to portrait)
+
local safeX, safeY, safeW, safeH = love.window.getSafeArea()
love.window.setMode(240, 320) -- double it!
 
safeX, safeY, safeW, safeH = love.window.getSafeArea( )
 
  
function love.draw()
 
 
love.graphics.translate(safeX, safeY)
 
love.graphics.translate(safeX, safeY)
 
love.graphics.rectangle("line", 0, 0, safeW, safeH)
 
love.graphics.rectangle("line", 0, 0, safeW, safeH)

Latest revision as of 00:22, 4 February 2023

Available since LÖVE 11.3
This function is not supported in earlier versions.

Gets area inside the window which is known to be unobstructed by a system title bar, the iPhone X notch, etc. Useful for making sure UI elements can be seen by the user.

Function

Synopsis

x, y, w, h = love.window.getSafeArea( )

Arguments

None.

Returns

number x
Starting position of safe area (x-axis).
number y
Starting position of safe area (y-axis).
number w
Width of safe area.
number h
Height of safe area.

Notes

Values returned are in DPI-scaled units (the same coordinate system as most other window-related APIs), not in pixels.

Example

Show safe area
function love.draw()
	local safeX, safeY, safeW, safeH = love.window.getSafeArea()

	love.graphics.translate(safeX, safeY)
	love.graphics.rectangle("line", 0, 0, safeW, safeH)
	love.graphics.line(0, 0, safeW, safeH)
	love.graphics.line(0, safeH, safeW, 0)
	love.graphics.circle('line', safeW/2, safeH/2, safeW/2)
	love.graphics.circle('line', safeW/2, safeH/2, safeH/2)
end

See Also


Other Languages