constructor(x, y, settings) {
		// call the parent constructor
		super(x, y, settings.width || 0, settings.height || 0);

		/**
		 * defines the color used to draw the font.
		 * @type {Color}
		 * @default black
		 */
		this.fillStyle = colorPool.get(0, 0, 0);

		/**
		 * defines the color used to draw the font stroke.<br>
		 * @type {Color}
		 * @default black
		 */
		this.strokeStyle = colorPool.get(0, 0, 0);

		/**
		 * sets the current line width, in pixels, when drawing stroke
		 * @type {number}
		 * @default 0
		 */
		this.lineWidth = 0;

		/**
		 * Set the default text alignment (or justification),<br>
		 * possible values are "left", "right", and "center".<br>
		 * @type {string}
		 * @default "left"
		 */
		this.textAlign = "left";

		/**
		 * Set the text baseline (e.g. the Y-coordinate for the draw operation), <br>
		 * possible values are "top", "hanging, "middle, "alphabetic, "ideographic, "bottom"<br>
		 * @type {string}
		 * @default "top"
		 */
		this.textBaseline = "top";

		/**
		 * Set the line spacing height (when displaying multi-line strings). <br>
		 * Current font height will be multiplied with this value to set the line height.
		 * @type {number}
		 * @default 1.0
		 */
		this.lineHeight = 1.0;

		/**
		 * the maximum length in CSS pixel for a single segment of text.
		 * (use -1 to disable word wrapping)
		 * @type {number}
		 * @default -1
		 */
		this.wordWrapWidth = -1;

		/**
		 * the font size (in px)
		 * @type {number}
		 * @default 10
		 */
		this.fontSize = 10;

		/**
		 * the text to be displayed
		 * @private
		 */
		this._text = [];

		// initalize the object based on the given settings
		this.onResetEvent(x, y, settings);
	}
@param {number} x - position of the text object
@param {number} y - position of the text object
@param {object} settings - the text configuration
@param {string} settings.font - a CSS family font name
@param {number|string} settings.size - size, or size + suffix (px, em, pt)
@param {Color|string} [settings.fillStyle="#000000"] - a CSS color value
@param {Color|string} [settings.strokeStyle="#000000"] - a CSS color value
@param {number} [settings.lineWidth=0] - line width, in pixels, when drawing stroke
@param {string} [settings.textAlign="left"] - horizontal text alignment
@param {string} [settings.textBaseline="top"] - the text baseline
@param {number} [settings.lineHeight=1.0] - line spacing height
@param {Vector2d} [settings.anchorPoint={x:0.0, y:0.0}] - anchor point to draw the text at
@param {number} [settings.wordWrapWidth] - the maximum length in CSS pixel for a single segment of text
@param {(string|string[])} [settings.text=""] - a string, or an array of strings
@example
let font = new me.Text(0, 0, {font: "Arial", size: 8, fillStyle: this.color});