updateBounds(absolute = true) {
		const bounds = this.getBounds();

		bounds.clear();

		if (typeof this.metrics !== "undefined") {
			let ax;
			let ay;

			bounds.addBounds(this.metrics.measureText(this._text));

			switch (this.textAlign) {
				case "right":
					ax = this.metrics.width * 1.0;
					break;

				case "center":
					ax = this.metrics.width * 0.5;
					break;

				default:
					ax = 0; //this.metrics.width * 0.0;
					break;
			}

			// adjust y pos based on alignment value
			switch (this.textBaseline) {
				case "middle":
					ay = this.metrics.height * 0.5;
					break;

				case "ideographic":
				case "alphabetic":
				case "bottom":
					ay = this.metrics.height * 1.0;
					break;

				default:
					ay = 0; //this.metrics.height * 0.0;
					break;
			}

			// translate the bounds accordingly
			bounds.translate(ax, ay);
		}

		if (absolute === true) {
			if (
				typeof this.ancestor !== "undefined" &&
				typeof this.ancestor.getAbsolutePosition === "function" &&
				this.floating !== true
			) {
				bounds.translate(this.ancestor.getAbsolutePosition());
			}
		}

		return bounds;
	}
update the bounding box for this Bitmap Text.
@param {boolean} [absolute=true] - update the bounds size and position in (world) absolute coordinates
@returns {Bounds} this Bitmap Text bounding box Rectangle object