UNPKG

crossbrowdy

Version:

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

1,599 lines (570 loc) 117 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>CrossBrowdy API documentation Class: CB_Canvas</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">Class: CB_Canvas</h1> <section> <header> <h2> CB_Canvas </h2> <div class="class-description"><p>Class to manage a canvas. For clients which do not support native <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas">canvas</a>, it provides <a href="https://en.wikipedia.org/wiki/Adobe_Flash_Player">Adobe Flash (formerly Macromedia Flash)</a> emulation with <a href="https://github.com/everlaat/flashcanvas">FlashCanvas</a>, Microsoft Silverlight emulation with <a href="https://slcanvas.codeplex.com/">SLCanvas</a>, VML emulation with <a href="https://github.com/arv/explorercanvas">ExplorerCanvas</a> (reinforced with <a href="https://github.com/PhenX/canvas-text">canvas-text</a>) and DHTML (DOM elements) emulation with <a href="https://github.com/robertinglin/CanBox">CanBox</a>.<br> NOTE:<br> To make the VML emulation work without errors (using <a href="https://github.com/arv/explorercanvas">ExplorerCanvas</a>), it is recommended to always load <a href="https://github.com/everlaat/flashcanvas">FlashCanvas</a> (which already includes <a href="https://github.com/arv/explorercanvas">ExplorerCanvas</a>) in your HTML code (without using lazy-load, as <a href="https://github.com/arv/explorercanvas">ExplorerCanvas</a> does not support it). This is recommended even when we are not going to use <a href="https://en.wikipedia.org/wiki/Adobe_Flash_Player">Adobe Flash (formerly Macromedia Flash)</a> emulation with <a href="https://github.com/everlaat/flashcanvas">FlashCanvas</a>.<br> This is an example (should be placed before loading the main &quot;CrossBrowdy&quot; script):<br> &lt;!-- Loads FlashCanvas (Flash emulation) before CrossBrowdy. Needed also to use ExplorerCanvas (VML emulation) without problems: --&gt;<br> &lt;script type=&quot;text/javascript&quot; src=&quot;CrossBrowdy/CrossBase/audiovisual/image/canvas/FlashCanvas/pro/bin/flashcanvas.js&quot;&gt;&lt;/script&gt;&lt;!-- FlashCanvas/ExplorerCanvas do not support lazy load. --&gt;</p></div> </header> <article> <div class="container-overview"> <hr> <dt> <h4 class="name" id="CB_Canvas"><span class="type-signature"></span>new CB_Canvas<span class="signature">(canvasId [, contextType] [, canvasWidth] [, canvasHeight] [, onLoad] [, onError] [, canvasParent] [, alternativeCanvasEmulationPreferredOrder] [, forceFirstEmulationMethod] [, addOtherMethods] [, allowFlashCanvasLocally])</span><span class="type-signature"> &rarr; {<a href="CB_Canvas.html">CB_Canvas</a>}</span></h4> </dt> <dd> <div class="description"> <p>Class to manage a canvas.</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>canvasId</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">string</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 desired ID for the canvas.</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>contextType</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">'2d'</span> | <span class="param-type">'webgl'</span> | <span class="param-type">'experimental-webgl'</span> | <span class="param-type">'webgl2'</span> | <span class="param-type">'experimental-webgl2'</span> | <span class="param-type">'bitmaprenderer'</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;"> '2d' </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 contextType desired by default. More information: <a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext">HTMLCanvasElement.getContext</a>. Note that most emulation methods will only support &quot;2d&quot;.</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>canvasWidth</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_Canvas.html#.WIDTH_DEFAULT"><code>CB_Canvas.WIDTH_DEFAULT</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 desired width (horizontal size) in pixels for the canvas.</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>canvasHeight</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_Canvas.html#.HEIGHT_DEFAULT"><code>CB_Canvas.HEIGHT_DEFAULT</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 desired height (vertical size) in pixels for the canvas.</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>onLoad</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 function that will be called when the canvas is finally loaded. It will not receive parameters, being &quot;this&quot; the <a href="CB_Canvas.html"><code>CB_Canvas</code></a> object itself.</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>onError</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 function that will be called when there is an error creating or loading the canvas. Being &quot;this&quot; the <a href="CB_Canvas.html"><code>CB_Canvas</code></a> object itself, the unique parameter received will be a string describing the error (if it could be determined).</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>canvasParent</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">Element</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;"> document.body </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 parent element desired to adopt the canvas.</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>alternativeCanvasEmulationPreferredOrder</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">array</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_Configuration.CrossBase.html#.CB_Canvas_PREFERRED_EMULATION_METHODS"><code>CB_Configuration.CrossBase.CB_Canvas_PREFERRED_EMULATION_METHODS</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>Numeric array listing the desired alternative emulation methods for rendering the canvas, in order of preference. Supported emulation methods: &quot;FLASH&quot;, &quot;VML&quot;, &quot;DHTML&quot; and &quot;SILVERLIGHT&quot;.</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>forceFirstEmulationMethod</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;"> 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>If set to true, it will force to use the first alternative emulation method desired (even when this alternative emulation method could be not supported and even when native <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas">canvas</a> support could be supported).</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>addOtherMethods</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>If set to true, it will add other alternative methods (if any is missing) at the end of the desired alternative emulation methods so they will also be checked and used if the previous ones are not finally used. The order they will be added will be the one used in the <a href="CB_Configuration.CrossBase.html#.CB_Canvas_PREFERRED_EMULATION_METHODS"><code>CB_Configuration.CrossBase.CB_Canvas_PREFERRED_EMULATION_METHODS</code></a> constant.</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>allowFlashCanvasLocally</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;"> <a href="CB_Configuration.CrossBase.html#.FLASHCANVAS_ALLOW_RUN_LOCALLY_DEFAULT"><code>CB_Configuration.CrossBase.FLASHCANVAS_ALLOW_RUN_LOCALLY_DEFAULT</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>If set to true, it will allow to use <a href="https://en.wikipedia.org/wiki/Adobe_Flash_Player">Adobe Flash (formerly Macromedia Flash)</a> emulation (if needed) even when it is running locally. Uses the <a href="CB_Client.html#.isRunningLocally"><code>CB_Client.isRunningLocally</code></a> function internally.</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_audiovisual_image_canvas_CB_Canvas.js.html">CrossBase/audiovisual/image/canvas/CB_Canvas.js</a>, <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html#sunlight-1-line-30">line 30</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns a new <a href="CB_Canvas.html"><code>CB_Canvas</code></a> object.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="CB_Canvas.html">CB_Canvas</a></span> </dd> </dl> </dd> </div> <h3 class="subsection-title">Members</h3> <dl> <hr> <dt class="name" id=".HEIGHT_DEFAULT"> <h4 id=".HEIGHT_DEFAULT"><span class="type-signature">&lt;static, constant> </span>HEIGHT_DEFAULT<span class="type-signature"> :integer</span></h4> </dt> <dd> <div class="description"> <p>Default canvas height in pixels.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">integer</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li>240</li> </ul> </dd> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html">CrossBase/audiovisual/image/canvas/CB_Canvas.js</a>, <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html#sunlight-1-line-81">line 81</a> </li> </ul> </dd> </dl> </dd> <hr> <dt class="name" id=".WIDTH_DEFAULT"> <h4 id=".WIDTH_DEFAULT"><span class="type-signature">&lt;static, constant> </span>WIDTH_DEFAULT<span class="type-signature"> :integer</span></h4> </dt> <dd> <div class="description"> <p>Default canvas width in pixels.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">integer</span> </li> </ul> <dl class="details"> <dt class="tag-default method-doc-label method-doc-details-label">Default Value:</dt> <dd class="tag-default"> <ul class="dummy"> <li>320</li> </ul> </dd> <dt class="tag-source method-doc-label method-doc-details-label">Source:</dt> <dd class="tag-source"> <ul class="dummy"> <li> <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html">CrossBase/audiovisual/image/canvas/CB_Canvas.js</a>, <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html#sunlight-1-line-74">line 74</a> </li> </ul> </dd> </dl> </dd> </dl> <h3 class="subsection-title">Methods</h3> <dl> <hr> <dt> <h4 class="name" id="clear"><span class="type-signature"></span>clear<span class="signature">( [keepTransform] [, backgroundFillStyle])</span><span class="type-signature"> &rarr; {boolean}</span></h4> </dt> <dd> <div class="description"> <p>Clear the canvas entirely.</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>keepTransform</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;"> 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>If set to true, it will <a href="https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/save">save</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/restore">restore</a> the current transformation.</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>backgroundFillStyle</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">string</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>The style used (color, gradient, pattern...) to fill the canvas background. If defined, it will be used as the value for the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillStyle">fillStyle</a> property of the <a href="https://developer.mozilla.org/en-US/docs/Web/API/RenderingContext">context</a> object, internally.</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_audiovisual_image_canvas_CB_Canvas.js.html">CrossBase/audiovisual/image/canvas/CB_Canvas.js</a>, <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html#sunlight-1-line-840">line 840</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns true if the action could be performed or false otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id="clearCanvas"><span class="type-signature"></span>clearCanvas<span class="signature">()</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Alias for <a href="CB_Canvas.html#clear"><code>CB_Canvas#clear</code></a>.</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_audiovisual_image_canvas_CB_Canvas.js.html">CrossBase/audiovisual/image/canvas/CB_Canvas.js</a>, <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html#sunlight-1-line-828">line 828</a> </li> </ul> </dd> <dt class="tag-see method-doc-label method-doc-details-label">See:</dt> <dd class="tag-see"> <ul> <li><a href="CB_Canvas.html#clear"><code>CB_Canvas#clear</code></a></li> </ul> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id="disableAntiAliasing"><span class="type-signature"></span>disableAntiAliasing<span class="signature">( [performTranslate])</span><span class="type-signature"> &rarr; {boolean}</span></h4> </dt> <dd> <div class="description"> <p>Disables anti-aliasing. Useful to work with image sprites (to avoid problems showing adjacent ones), for example.</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>performTranslate</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;"> 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>If set to true, it will also call the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/transform">transform</a> method.</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_audiovisual_image_canvas_CB_Canvas.js.html">CrossBase/audiovisual/image/canvas/CB_Canvas.js</a>, <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html#sunlight-1-line-889">line 889</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns true if the action could be performed or false otherwise.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id="get"><span class="type-signature"></span>get<span class="signature">()</span><span class="type-signature"> &rarr; {Element|null}</span></h4> </dt> <dd> <div class="description"> <p>Returns the canvas element (if any).</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_audiovisual_image_canvas_CB_Canvas.js.html">CrossBase/audiovisual/image/canvas/CB_Canvas.js</a>, <a href="CrossBase_audiovisual_image_canvas_CB_Canvas.js.html#sunlight-1-line-602">line 602</a> </li> </ul> </dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Returns the canvas element (if any). If not found, null will be returned.</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Element</span> | <span class="param-type">null</span> </dd> </dl> </dd> <hr> <dt> <h4 class="name" id="getContext"><span class="type-signature"></span>getContext<span class="signature">( [contextType])</span><span class="type-signature"> &rarr; {RenderingContext|Object}</span></h4> </dt> <dd> <div class="description"> <p>Defines and returns the canvas <a href="https://developer.mozilla.org/en-US/docs/Web/API/RenderingContext">context</a>. It could call the <a href="CB_Canvas.html#prepareContext"><code>CB_Canvas#prepareContext</code></a> method 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 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>contextType</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">'2d'</span> | <span class="param-type">'webgl'</span> | <span class="param-type">'experimental-webgl'</span> | <span class="param-type">'webgl2'</span> | <span class="param-type">'experimental-webgl2'</span> | <span class="param-type">'bitmaprenderer'</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;">