_setAlignment(ctx, x, y, baseline) {
    // check for label alignment (for edges)
    // TODO: make alignment for nodes
    if (
      this.isEdgeLabel &&
      this.fontOptions.align !== "horizontal" &&
      this.pointToSelf === false
    ) {
      x = 0;
      y = 0;

      const lineMargin = 2;
      if (this.fontOptions.align === "top") {
        ctx.textBaseline = "alphabetic";
        y -= 2 * lineMargin; // distance from edge, required because we use alphabetic. Alphabetic has less difference between browsers
      } else if (this.fontOptions.align === "bottom") {
        ctx.textBaseline = "hanging";
        y += 2 * lineMargin; // distance from edge, required because we use hanging. Hanging has less difference between browsers
      } else {
        ctx.textBaseline = "middle";
      }
    } else {
      ctx.textBaseline = baseline;
    }
    return [x, y];
  }
@param {CanvasRenderingContext2D} ctx
@param {number} x
@param {number} y
@param {string} baseline
@returns {Array.<number>}
@private