UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

115 lines (96 loc) 3.08 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2008 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Fabian Jakobs (fjakobs) ************************************************************************ */ /** * Managed wrapper for the HTML canvas tag. */ qx.Class.define("qx.html.Canvas", { extend: qx.html.Element, /* ***************************************************************************** CONSTRUCTOR ***************************************************************************** */ /** * @param styles {Map?null} optional map of CSS styles, where the key is the name * of the style and the value is the value to use. * @param attributes {Map?null} optional map of element attributes, where the * key is the name of the attribute and the value is the value to use. */ construct(styles, attributes) { super("canvas", styles, attributes); this.__canvas = document.createElement("canvas"); }, /* ***************************************************************************** MEMBERS ***************************************************************************** */ members: { __canvas: null, // overridden _createDomElement() { return this.__canvas; }, /** * Get the canvas element [<a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvas">W3C-HMTL5</a>] * * @return {Element} The canvas DOM element. */ getCanvas() { return this.__canvas; }, /** * Set the width attribute of the canvas element. This property controls the * size of the canvas coordinate space. * * @param width {Integer} canvas width */ setWidth(width) { this.__canvas.width = width; }, /** * Get the width attribute of the canvas element * * @return {Integer} canvas width */ getWidth() { return this.__canvas.width; }, /** * Set the height attribute of the canvas element. This property controls the * size of the canvas coordinate space. * * @param height {Integer} canvas height */ setHeight(height) { this.__canvas.height = height; }, /** * Get the height attribute of the canvas element * * @return {Integer} canvas height */ getHeight() { return this.__canvas.height; }, /** * Get the canvas' 2D rendering context * [<a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvasrenderingcontext2d">W3C-HTML5</a>]. * All drawing operations are performed on this context. * * @return {CanvasRenderingContext2D} The 2D rendering context. */ getContext2d() { return this.__canvas.getContext("2d"); } } });