Difference between revisions of "Application:getDeviceOrientation"
From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
Line 3: | Line 3: | ||
=== Description === | === Description === | ||
− | Gets the device orientation (and not what is in project properties as done with ''getOrientation''). Please check Accelerometer | + | Gets the device orientation (and not what is in project properties as done with ''getOrientation''). Please check Accelerometer sample project for usage. |
− | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
(string) = application:getDeviceOrientation() | (string) = application:getDeviceOrientation() | ||
Line 11: | Line 10: | ||
=== Return values === | === Return values === | ||
'''Returns''' (string) values can be: "portrait", "portraitUpsideDown", "landscapeLeft", "landscapeRight" | '''Returns''' (string) values can be: "portrait", "portraitUpsideDown", "landscapeLeft", "landscapeRight" | ||
+ | |||
+ | === Example === | ||
+ | '''Accelerometer sample project excerpt''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local function compensateAccelerometer(x, y, z) | ||
+ | local orientation = application:getOrientation() | ||
+ | local deviceOrientation = application:getDeviceOrientation() | ||
+ | |||
+ | local p1 = orientation == "portrait" or orientation == "portraitUpsideDown" | ||
+ | local p2 = deviceOrientation == "portrait" or deviceOrientation == "portraitUpsideDown" | ||
+ | |||
+ | local rotation = (p1 == p2) and deviceOrientation or orientation | ||
+ | |||
+ | if rotation == "portrait" then | ||
+ | return x, y, z | ||
+ | elseif rotation == "landscapeLeft" then | ||
+ | return -y, x, z | ||
+ | elseif rotation == "portraitUpsideDown" then | ||
+ | return -x, -y, z | ||
+ | elseif rotation == "landscapeRight" then | ||
+ | return y, -x, z | ||
+ | end | ||
+ | end | ||
+ | </syntaxhighlight> | ||
{{Application}} | {{Application}} |
Revision as of 18:00, 12 January 2025
Available since: Gideros 2014.01
Class: Application
Description
Gets the device orientation (and not what is in project properties as done with getOrientation). Please check Accelerometer sample project for usage.
(string) = application:getDeviceOrientation()
Return values
Returns (string) values can be: "portrait", "portraitUpsideDown", "landscapeLeft", "landscapeRight"
Example
Accelerometer sample project excerpt
local function compensateAccelerometer(x, y, z)
local orientation = application:getOrientation()
local deviceOrientation = application:getDeviceOrientation()
local p1 = orientation == "portrait" or orientation == "portraitUpsideDown"
local p2 = deviceOrientation == "portrait" or deviceOrientation == "portraitUpsideDown"
local rotation = (p1 == p2) and deviceOrientation or orientation
if rotation == "portrait" then
return x, y, z
elseif rotation == "landscapeLeft" then
return -y, x, z
elseif rotation == "portraitUpsideDown" then
return -x, -y, z
elseif rotation == "landscapeRight" then
return y, -x, z
end
end
- Application:applyStyles
- Application:canOpenUrl
- Application:checkPermission
- Application:configureFrustum
- Application:enableDrawInfo
- Application:enableOnDemandDraw
- Application:exit
- Application:get
- Application:getApiVersion
- Application:getAppId
- Application:getBackgroundColor
- Application:getClipboard
- Application:getContentHeight
- Application:getContentWidth
- Application:getDeviceHeight
- Application:getDeviceInfo
- Application:getDeviceName
- Application:getDeviceOrientation
- Application:getDeviceSafeArea
- Application:getDeviceWidth
- Application:getFps
- Application:getKeyboardModifiers
- Application:getLanguage
- Application:getLocale
- Application:getLogicalBounds
- Application:getLogicalHeight
- Application:getLogicalScaleX
- Application:getLogicalScaleY
- Application:getLogicalTranslateX
- Application:getLogicalTranslateY
- Application:getLogicalWidth
- Application:getNativePath
- Application:getOrientation
- Application:getProjectProperties
- Application:getScaleMode
- Application:getScreenDensity
- Application:getTextureMemoryUsage
- Application:isPlayerMode
- Application:openUrl
- Application:requestPermissions
- Application:set
- Application:setBackgroundColor
- Application:setClipboard
- Application:setEventMerging
- Application:setFps
- Application:setFullScreen
- Application:setKeepAwake
- Application:setKeyboardVisibility
- Application:setLogicalDimensions
- Application:setOrientation
- Application:setScaleMode
- Application:setTextInput
- Application:setWindowSize
- Application:vibrate