UNPKG

crossbrowdy

Version:

A Multimedia JavaScript framework to create real cross-platform and hybrid game engines, games, emulators, multimedia libraries and apps.

1,925 lines (666 loc) 59.6 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>CrossBrowdy API documentation Namespace: Orientation</title> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css"> <link type="text/css" rel="stylesheet" href="styles/site.cosmo.css"> </head> <body style="min-width:800px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <div class="navbar navbar-default navbar-fixed-top "> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="index.html">CrossBrowdy API documentation</a> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="navbar-collapse collapse" id="topNavigation"> <ul class="nav navbar-nav"> <li class="dropdown"> <a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="CB_Arrays.html">CB_Arrays</a></li><li><a href="CB_AudioDetector.html">CB_AudioDetector</a></li><li><a href="CB_Client.html">CB_Client</a></li><li><a href="CB_Collisions.html">CB_Collisions</a></li><li><a href="CB_Configuration.html">CB_Configuration</a></li><li><a href="CB_Configuration.CrossBase.html">CB_Configuration.CrossBase</a></li><li><a href="CB_Configuration.CrossBrowdy.html">CB_Configuration.CrossBrowdy</a></li><li><a href="CB_Controllers.html">CB_Controllers</a></li><li><a href="CB_Controllers_Proprietary.html">CB_Controllers_Proprietary</a></li><li><a href="CB_Controllers_Proprietary.WII.html">CB_Controllers_Proprietary.WII</a></li><li><a href="CB_Controllers_Proprietary.WII_U.html">CB_Controllers_Proprietary.WII_U</a></li><li><a href="CB_Device.html">CB_Device</a></li><li><a href="CB_Device.AmbientLight.html">CB_Device.AmbientLight</a></li><li><a href="CB_Device.Battery.html">CB_Device.Battery</a></li><li><a href="CB_Device.Location.html">CB_Device.Location</a></li><li><a href="CB_Device.Motion.html">CB_Device.Motion</a></li><li><a href="CB_Device.Orientation.html">CB_Device.Orientation</a></li><li><a href="CB_Device.Proximity.html">CB_Device.Proximity</a></li><li><a href="CB_Device.Vibration.html">CB_Device.Vibration</a></li><li><a href="CB_Elements.html">CB_Elements</a></li><li><a href="CB_Events.html">CB_Events</a></li><li><a href="CB_Keyboard.html">CB_Keyboard</a></li><li><a href="CB_Keyboard.chars.html">CB_Keyboard.chars</a></li><li><a href="CB_Keyboard.extended.html">CB_Keyboard.extended</a></li><li><a href="CB_Keyboard.keys.html">CB_Keyboard.keys</a></li><li><a href="CB_Modules.html">CB_Modules</a></li><li><a href="CB_Mouse.html">CB_Mouse</a></li><li><a href="CB_Mouse.CursorImage.html">CB_Mouse.CursorImage</a></li><li><a href="CB_Net.html">CB_Net</a></li><li><a href="CB_Net.Fetch.html">CB_Net.Fetch</a></li><li><a href="CB_Net.REST.html">CB_Net.REST</a></li><li><a href="CB_Net.Sockets.html">CB_Net.Sockets</a></li><li><a href="CB_Net.Sockets.SockJS.html">CB_Net.Sockets.SockJS</a></li><li><a href="CB_Net.XHR.html">CB_Net.XHR</a></li><li><a href="CB_Pointer.html">CB_Pointer</a></li><li><a href="CB_Screen.html">CB_Screen</a></li><li><a href="CB_Speaker.html">CB_Speaker</a></li><li><a href="CB_Touch.html">CB_Touch</a></li><li><a href="CB_baseSymbols.html">CB_baseSymbols</a></li> </ul> </li> <li class="dropdown"> <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="CB_AudioFile.html">CB_AudioFile</a></li><li><a href="CB_AudioFileCache.html">CB_AudioFileCache</a></li><li><a href="CB_AudioFileSprites.html">CB_AudioFileSprites</a></li><li><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></li><li><a href="CB_AudioFile_API.AAPI.html">CB_AudioFile_API.AAPI</a></li><li><a href="CB_AudioFile_API.ACMP.html">CB_AudioFile_API.ACMP</a></li><li><a href="CB_AudioFile_API.SM2.html">CB_AudioFile_API.SM2</a></li><li><a href="CB_AudioFile_API.WAAPI.html">CB_AudioFile_API.WAAPI</a></li><li><a href="CB_Canvas.html">CB_Canvas</a></li><li><a href="CB_GraphicSprites.html">CB_GraphicSprites</a></li><li><a href="CB_GraphicSpritesScene.html">CB_GraphicSpritesScene</a></li> </ul> </li> <li class="dropdown"> <a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="global.html#CB_BASE_NAME">CB_BASE_NAME</a></li><li><a href="global.html#CB_CREDITS_DEFAULT">CB_CREDITS_DEFAULT</a></li><li><a href="global.html#CB_NAME">CB_NAME</a></li><li><a href="global.html#CB_OPTIONS">CB_OPTIONS</a></li><li><a href="global.html#CB_VERSION">CB_VERSION</a></li><li><a href="global.html#CB_addCredits">CB_addCredits</a></li><li><a href="global.html#CB_baseToBase">CB_baseToBase</a></li><li><a href="global.html#CB_baseToInt">CB_baseToInt</a></li><li><a href="global.html#CB_br2nl">CB_br2nl</a></li><li><a href="global.html#CB_brToNl">CB_brToNl</a></li><li><a href="global.html#CB_combineArraysOrObjects">CB_combineArraysOrObjects</a></li><li><a href="global.html#CB_combineAutomatically">CB_combineAutomatically</a></li><li><a href="global.html#CB_combineJSON">CB_combineJSON</a></li><li><a href="global.html#CB_combineURIParameters">CB_combineURIParameters</a></li><li><a href="global.html#CB_combineURLParameters">CB_combineURLParameters</a></li><li><a href="global.html#CB_console">CB_console</a></li><li><a href="global.html#CB_copyObject">CB_copyObject</a></li><li><a href="global.html#CB_countDecimalDigits">CB_countDecimalDigits</a></li><li><a href="global.html#CB_countDecimalPart">CB_countDecimalPart</a></li><li><a href="global.html#CB_countDecimals">CB_countDecimals</a></li><li><a href="global.html#CB_countIntegerDigits">CB_countIntegerDigits</a></li><li><a href="global.html#CB_countIntegerPart">CB_countIntegerPart</a></li><li><a href="global.html#CB_credits">CB_credits</a></li><li><a href="global.html#CB_forEach">CB_forEach</a></li><li><a href="global.html#CB_forceString">CB_forceString</a></li><li><a href="global.html#CB_getBase64StringObject">CB_getBase64StringObject</a></li><li><a href="global.html#CB_getCookie">CB_getCookie</a></li><li><a href="global.html#CB_getDatum">CB_getDatum</a></li><li><a href="global.html#CB_getJSONPropertyValue">CB_getJSONPropertyValue</a></li><li><a href="global.html#CB_getLZStringObject">CB_getLZStringObject</a></li><li><a href="global.html#CB_getValueIndex">CB_getValueIndex</a></li><li><a href="global.html#CB_getValuePath">CB_getValuePath</a></li><li><a href="global.html#CB_includeJSFile">CB_includeJSFile</a></li><li><a href="global.html#CB_indexOf">CB_indexOf</a></li><li><a href="global.html#CB_init">CB_init</a></li><li><a href="global.html#CB_intToBase">CB_intToBase</a></li><li><a href="global.html#CB_isArray">CB_isArray</a></li><li><a href="global.html#CB_isEmail">CB_isEmail</a></li><li><a href="global.html#CB_isFileLocal">CB_isFileLocal</a></li><li><a href="global.html#CB_isString">CB_isString</a></li><li><a href="global.html#CB_lastIndexOf">CB_lastIndexOf</a></li><li><a href="global.html#CB_ltrim">CB_ltrim</a></li><li><a href="global.html#CB_nl2br">CB_nl2br</a></li><li><a href="global.html#CB_nlToBr">CB_nlToBr</a></li><li><a href="global.html#CB_numberFormat">CB_numberFormat</a></li><li><a href="global.html#CB_numberOfDecimalDigits">CB_numberOfDecimalDigits</a></li><li><a href="global.html#CB_numberOfDecimals">CB_numberOfDecimals</a></li><li><a href="global.html#CB_numberOfIntegerDigits">CB_numberOfIntegerDigits</a></li><li><a href="global.html#CB_parseJSON">CB_parseJSON</a></li><li><a href="global.html#CB_parseString">CB_parseString</a></li><li><a href="global.html#CB_regularExpressionString">CB_regularExpressionString</a></li><li><a href="global.html#CB_renderString">CB_renderString</a></li><li><a href="global.html#CB_replaceAll">CB_replaceAll</a></li><li><a href="global.html#CB_rtrim">CB_rtrim</a></li><li><a href="global.html#CB_scriptPath">CB_scriptPath</a></li><li><a href="global.html#CB_scriptPathCalculate">CB_scriptPathCalculate</a></li><li><a href="global.html#CB_setCookie">CB_setCookie</a></li><li><a href="global.html#CB_setDatum">CB_setDatum</a></li><li><a href="global.html#CB_sizeOf">CB_sizeOf</a></li><li><a href="global.html#CB_sizeof">CB_sizeof</a></li><li><a href="global.html#CB_stringifyJSON">CB_stringifyJSON</a></li><li><a href="global.html#CB_symmetricCall">CB_symmetricCall</a></li><li><a href="global.html#CB_symmetricCallClear">CB_symmetricCallClear</a></li><li><a href="global.html#CB_this">CB_this</a></li><li><a href="global.html#CB_trim">CB_trim</a></li> </ul> </li> </ul> <div class="col-sm-3 col-md-3"> <form class="navbar-form" role="search"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search" name="q" id="search-input"> <div class="input-group-btn"> <button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button> </div> </div> </form> </div> </div> </div> </div> <div class="container" id="toc-content" style="width:100%;"> <div class="row" style="width:100%;"> <div class="col-md-8" style="width:85%;"> <div id="main"> <h1 class="page-title">Namespace: Orientation</h1> <section> <header> <h2> <span class="ancestors"><a href="CB_Device.html">CB_Device</a>.</span> Orientation </h2> </header> <article> <div class="container-overview"> <div class="description"><p>Static class to manage the device's orientation. It will return itself if it is tried to be instantiated.</p></div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-394">line 394</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Normalize more differences between web clients.</li> </ul> </dd> </dl> </div> <h3 class="subsection-title">Members</h3> <dl> <hr> <dt class="name" id=".cordova_getCompassConstantly_lastId"> <h4 id=".cordova_getCompassConstantly_lastId"><span class="type-signature">&lt;static, readonly> </span>cordova_getCompassConstantly_lastId<span class="type-signature"> :integer|null</span></h4> </dt> <dd> <div class="description"> <p>Keeps the last watch ID that gets the compass heading constantly using the <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a>. Used by the <a href="CB_Device.Orientation.html#.cordova_getCompassConstantly"><code>CB_Device.Orientation.cordova_getCompassConstantly</code></a> function.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">integer</span> | <span class="param-type">null</span> </li> </ul> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-403">line 403</a> </li> </ul> </dd> </dl> </dd> </dl> <h3 class="subsection-title">Methods</h3> <dl> <hr> <dt> <h4 class="name" id=".cordova_getCompass"><span class="type-signature">&lt;static> </span>cordova_getCompass<span class="signature">(callbackOk, callbackError)</span><span class="type-signature"> &rarr; {undefined|false}</span></h4> </dt> <dd> <div class="description"> <p>Gets the compass heading using the <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a>. Uses &quot;navigator.compass.getCurrentHeading&quot; internally.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>callbackOk</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The function that will be called when it succeeds getting the compass heading. Following the same rules as in <a href="https://github.com/apache/cordova-plugin-device-orientation">https://github.com/apache/cordova-plugin-device-orientation</a> (&quot;navigator.compass.getCurrentHeading&quot; function).</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>callbackError</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The function that will be called if there is any error getting the compass heading. Following the same rules as in <a href="https://github.com/apache/cordova-plugin-device-orientation">https://github.com/apache/cordova-plugin-device-orientation</a> (&quot;navigator.compass.getCurrentHeading&quot; function).</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-545">line 545</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Add a function to normalize the event and call it automatically.</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns false in the case that the <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a> is not supported or undefined otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">undefined</span> | <span class="param-type">false</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".cordova_getCompassConstantly"><span class="type-signature">&lt;static> </span>cordova_getCompassConstantly<span class="signature">( [callbackOkOrId] [, callbackError] [, options])</span><span class="type-signature"> &rarr; {integer|undefined|false}</span></h4> </dt> <dd> <div class="description"> <p>Starts or stops getting the compass heading constantly at a regular interval. Uses the <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a> (&quot;navigator.compass.watchHeading&quot; and &quot;navigator.compass.clearWatch&quot; functions).</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>callbackOkOrId</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> | <span class="param-type">integer</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <a href="CB_Device.Orientation.html#.cordova_getCompassConstantly_lastId"><code>CB_Device.Orientation.cordova_getCompassConstantly_lastId</code></a> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>In the case that we want to start getting the compass heading, use a function callback that will be called regularly when the compass heading is gotten successfully (using the &quot;navigator.compass.watchHeading&quot; function). To stop getting the compass heading, use the watch ID that we want to stop (using the &quot;navigator.compass.clearWatch&quot; function). Following the same rules as the first parameter of the &quot;navigator.compass.watchHeading&quot; function (when we want to start watching) or the first parameter of &quot;navigator.compass.clearWatch&quot; function (when we want to stop watching) described in <a href="https://github.com/apache/cordova-plugin-device-orientation">https://github.com/apache/cordova-plugin-device-orientation</a>.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>callbackError</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Callback that will be called if there is any error getting the compass heading. Only used when we want to start getting the compass heading (&quot;callbackOkOrId&quot; is a function). Following the same rules as the second parameter of the &quot;navigator.compass.watchHeading&quot; function described in <a href="https://github.com/apache/cordova-plugin-device-orientation">https://github.com/apache/cordova-plugin-device-orientation</a>.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>options</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">Object</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Object that represents the desired options. Only used when we want to start getting the compass heading (&quot;callbackOkOrId&quot; is a function). Following the same rules as the third parameter of the &quot;navigator.compass.watchHeading&quot; function described in <a href="https://github.com/apache/cordova-plugin-device-orientation">https://github.com/apache/cordova-plugin-device-orientation</a>.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-562">line 562</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Add a function to normalize the event and call it automatically.</li> <li>Add parameters to keep old callbacks and options.</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns false in the case that <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a> is not supported. In the case that we want to start getting the compass heading (&quot;callbackOkOrId&quot; is a function), it will return the watch ID that has been created. In the case that we want to stop getting the compass heading (&quot;callbackOkOrId&quot; is a watch ID), it will return undefined.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">integer</span> | <span class="param-type">undefined</span> | <span class="param-type">false</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".cordova_getCompassConstantlyDisable"><span class="type-signature">&lt;static> </span>cordova_getCompassConstantlyDisable<span class="signature">( [id])</span><span class="type-signature"> &rarr; {undefined|false}</span></h4> </dt> <dd> <div class="description"> <p>Stops getting the compass heading constantly at a regular interval. Uses the <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a> (&quot;navigator.compass.clearWatch&quot; function).</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>id</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">integer</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <a href="CB_Device.Orientation.html#.cordova_getCompassConstantly_lastId"><code>CB_Device.Orientation.cordova_getCompassConstantly_lastId</code></a> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The watch ID that we want to stop. Following the same rules as the first parameter of the &quot;navigator.compass.clearWatch&quot; function described in <a href="https://github.com/apache/cordova-plugin-device-orientation">https://github.com/apache/cordova-plugin-device-orientation</a>.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-591">line 591</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Add parameters to keep old callbacks and options.</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns false in the case that <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a> is not supported or undefined otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">undefined</span> | <span class="param-type">false</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".cordova_isCompassSupported"><span class="type-signature">&lt;static> </span>cordova_isCompassSupported<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4> </dt> <dd> <div class="description"> <p>Tells whether the <a href="https://github.com/apache/cordova-plugin-device-orientation">Apache Cordova's Device Orientation plugin</a> is available or not.</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-531">line 531</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".isCompassNeedsCalibrationSupported"><span class="type-signature">&lt;static> </span>isCompassNeedsCalibrationSupported<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4> </dt> <dd> <div class="description"> <p>Tells whether the <a href="https://w3c.github.io/deviceorientation/spec-source-orientation.html#compassneedscalibration">Compass Needs Calibration Event</a> (used by the <a href="https://developer.mozilla.org/docs/Web/API/Detecting_device_orientation">Device Orientation API</a> or compatible one) is supported or not.</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-505">line 505</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".isMozOrientationSupported"><span class="type-signature">&lt;static> </span>isMozOrientationSupported<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4> </dt> <dd> <div class="description"> <p>Tells whether the <a href="https://developer.mozilla.org/docs/Web/Events/MozOrientation">MozOrientation API</a> is supported or not.</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-423">line 423</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".isSupported"><span class="type-signature">&lt;static> </span>isSupported<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4> </dt> <dd> <div class="description"> <p>Tells whether the <a href="https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent">Device Orientation Event</a> (used by the <a href="https://developer.mozilla.org/docs/Web/API/Detecting_device_orientation">Device Orientation API</a> or compatible one) is supported or not.</p> </div> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-412">line 412</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Think about using the "ondeviceorientationabsolute" event.</li> </ul> </dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".normalizeEvent"><span class="type-signature">&lt;static> </span>normalizeEvent<span class="signature">(e, eventName)</span><span class="type-signature"> &rarr; {Event}</span></h4> </dt> <dd> <div class="description"> <p>Normalizes the data gotten from the <a href="https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent">Device Orientation Event</a> produced by different clients to try to match the <a href="https://developer.mozilla.org/docs/Web/API/Detecting_device_orientation">Device Orientation API</a> and follow always the same rules as much as possible.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>e</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">Event</span> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The event object that we want to normalize.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>eventName</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">'deviceorientation'</span> | <span class="param-type">'MozOrientation'</span> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The name of the event that we want to normalize. Case sensitive.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-477">line 477</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Think about using the "deviceorientationabsolute" event.</li> <li>Normalize more differences between web clients.</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the given event object again but normalized (if possible).</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Event</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".onChange"><span class="type-signature">&lt;static> </span>onChange<span class="signature">(eventFunction [, keepOldFunction] [, useCapture])</span><span class="type-signature"> &rarr; {undefined|false}</span></h4> </dt> <dd> <div class="description"> <p>Sets a function to execute for the <a href="https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent">Device Orientation Event</a> (used by the <a href="https://developer.mozilla.org/docs/Web/API/Detecting_device_orientation">Device Orientation API</a> or compatible one) or removes it. Falls back to the <a href="https://developer.mozilla.org/docs/Web/Events/MozOrientation">MozOrientation API</a> if possible.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>eventFunction</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> | <span class="param-type">null</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>The function that will be called when the event is fired. The event object received will already be normalized by the <a href="CB_Device.Orientation.html#.normalizeEvent"><code>CB_Device.Orientation.normalizeEvent</code></a> function automatically. Following the same rules as in <a href="https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent">https://developer.mozilla.org/docs/Web/API/DeviceOrientationEvent</a>. If a null value is used, the event will be removed.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>keepOldFunction</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">boolean</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> true </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Defines whether we want to keep any possible previous event listener or not.</p></td> </tr> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>useCapture</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">float</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> &lt;optional><br> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> false </td> <td class="description last" style="min-width:310px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><p>Defines whether the event we want to add will use capture or not. This parameter will be effective only if the current client supports the <a href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener">addEventListener</a> method and will be used as its third parameter.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_device_CB_Device.js.html">CrossBase/device/CB_Device.js</a>, <a href="CrossBase_device_CB_Device.js.html#sunlight-1-line-438">line 438</a> </li> </ul> </dd> <dt class="tag-todo method-doc-label method-doc-details-label">To Do:</dt> <dd class="tag-todo"> <ul> <li>Think about using the "deviceorientationabsolute" event.</li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns false in the case that neither the <a href="https://developer.mozilla.org/docs/Web/API/Detecting_device_orientation">Device Orientation API</a> (or compatible one) nor the <a href="https://developer.mozilla.org/docs/Web/Events/MozOrientation">MozOrientation API</a> are supported or undefined otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">undefined</span> | <span class="param-type">false</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id=".onCompassNeedsCalibration"><span class="type-signature">&lt;static> </span>onCompassNeedsCalibration<span class="signature">(eventFunction [, keepOldFunction] [, useCapture])</span><span class="type-signature"> &rarr; {undefined|false}</span></h4> </dt> <dd> <div class="description"> <p>Sets a function to execute for the <a href="https://w3c.github.io/deviceorientation/spec-source-orientation.html#compassneedscalibration">Compass Needs Calibration Event</a> (used by the <a href="https://developer.mozilla.org/docs/Web/API/Detecting_device_orientation">Device Orientation API</a> or compatible one) or removes it.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th style="width:12%; min-width:110px;">Name</th> <th style="width:12%; min-width:110px;">Type</th> <th style="width:12%; min-width:110px;">Argument</th> <th style="width:12%; min-width:110px;">Default</th> <th class="last" style="min-width:310px;">Description</th> </tr> </thead> <tbody> <tr> <td class="name" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"><code>eventFunction</code></td> <td class="type" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <span class="param-type">function</span> | <span class="param-type">null</span> </td> <td class="attributes" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="default" style="width:12%; min-width:110px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> </td> <td class="description last" style="min-width:310px; overflow-wrap:break-w