# JSDoc: Source: objects/Text.js

# Source: objects/Text.js

    "use strict";

    import {Object2D} from "../Object2D.js";

    /**
     * Text element, used to draw text into the canvas.
     *
     * @class
     * @extends {Object2D}
     */
    function Text()
    {
    	Object2D.call(this);

    	/**
    	 * Text value.
    	 */
    	this.text = "";

    	/**
    	 * Font of the text.
    	 */
    	this.font = "16px Arial";

    	/**
    	 * Style of the object border line.
    	 *
    	 * If set null it is ignored.
    	 */
    	this.strokeStyle = null;

    	/**
    	 * Line width, only used if a valid strokeStyle is defined.
    	 */
    	this.lineWidth = 1;

    	/**
    	 * Background color of the box.
    	 *
    	 * If set null it is ignored.
    	 */
    	this.fillStyle = "#000000";

    	/**
    	 * Text align property.
    	 */
    	this.textAlign = "center";
    }

    Text.prototype = Object.create(Object2D.prototype);

    Text.prototype.draw = function(context, viewport, canvas)
    {
    	context.font = this.font;
    	context.textAlign = this.textAlign;
    	context.textBaseline = "middle";

    	if(this.fillStyle !== null)
    	{
    		context.fillStyle = this.fillStyle;
    		context.fillText(this.text, 0, 0);
    	}

    	if(this.strokeStyle !== null)
    	{
    		context.strokeStyle = this.strokeStyle;
    		context.strokeText(this.text, 0, 0);
    	}
    };

    export {Text};