Difference between revisions of "love.window.getPixelScale"

m
m
Line 1: Line 1:
 
{{newin|[[0.9.1]]|091|type=function}}
 
{{newin|[[0.9.1]]|091|type=function}}
Gets the DPI scale factor associated with the window. In Mac OS X with the window in a retina screen and the <code>highdpi</code> window flag enabled this will be 2.0, otherwise it will be 1.0.
+
Gets the DPI scale factor associated with the window.
  
The scale factor is used to display graphics at a size the user is expecting, rather than the size of the pixels. On retina displays with the <code>highdpi</code> window flag enabled, the pixels in the window are 2x smaller than the scale of the normal content on the screen, so [[love.window.getPixelScale]] will return 2.
+
The pixel density inside the window might be greater (or smaller) than the "size" of the window. For example on a retina screen in Mac OS X with the <code>highdpi</code> [[love.window.setMode|window flag]] enabled, the window may take up the same physical size as an 800x600 window, but the area inside the window uses 1600x1200 pixels. <code>love.window.getPixelScale()</code> would return <code>2.0</code> in that case.
 +
 
 +
The <code>highdpi</code> window flag must be enabled to use the full pixel density of the screen on Mac OS X and iOS. It is not currently supported on Windows and Linux, and on Android it is effectively always enabled.
  
 
== Function ==
 
== Function ==
Line 15: Line 17:
  
 
== Notes ==
 
== Notes ==
The units of [[love.graphics.getWidth]], [[love.graphics.getHeight]], [[love.mouse.getPosition]], and mouse events are always in terms of pixels.
+
The units of [[love.graphics.getWidth]], [[love.graphics.getHeight]], [[love.mouse.getPosition]], mouse events, [[love.touch.getPosition]], and touch events are always in terms of pixels.
  
 
== See Also ==
 
== See Also ==

Revision as of 18:22, 25 November 2015

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

Gets the DPI scale factor associated with the window.

The pixel density inside the window might be greater (or smaller) than the "size" of the window. For example on a retina screen in Mac OS X with the highdpi window flag enabled, the window may take up the same physical size as an 800x600 window, but the area inside the window uses 1600x1200 pixels. love.window.getPixelScale() would return 2.0 in that case.

The highdpi window flag must be enabled to use the full pixel density of the screen on Mac OS X and iOS. It is not currently supported on Windows and Linux, and on Android it is effectively always enabled.

Function

Synopsis

scale = love.window.getPixelScale( )

Arguments

None.

Returns

number scale
The pixel scale factor associated with the window.

Notes

The units of love.graphics.getWidth, love.graphics.getHeight, love.mouse.getPosition, mouse events, love.touch.getPosition, and touch events are always in terms of pixels.

See Also

Other Languages