fabri cjs подкласс не выбирается - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть следующие два вопроса о подклассе.

  1. Почему я могу видеть этот объект, только если свойство objectCaching: false? Если objectCaching: true и я масштабирую свой холст, то я в конечном итоге вижу объект. Однако, когда я устанавливаю objectCaching: false, тогда появляется объект.

  2. Почему я не могу выбрать мои объекты подкласса? Я могу видеть круг на холсте, но не могу выбрать его. Если нарисовать какие-либо стандартные фигуры, встроенные в фабрику cjs, например Line, Rect, et c. Тогда я могу выбрать объект. Мой подкласс customCircle ниже действительно отображается, если вызов fabric.getObjects(). Я попытался установить selectable: true, но это также не решило мою проблему.

var CustomCircle = fabric.util.createClass(fabric.Object, {

  objectCaching : false,

  type: "customCircle",
  width: 10,
  height: 10,
  radius: 4,

  initialize: function (options) {
      this.callSuper('initialize', options);
      this.set({ 
        width: this.width,
        height: this.height,
        radius: this.radius
      })
  },

  toObject: function () {
    return fabric.util.object.extend(this.callSuper('toObject'), {
      width: this.width,
      height: this.height,
      radius: this.radius,
      type: this.type
    });
  },

  _render: function (ctx) {
      this.callSuper('_render', ctx);

      ctx.beginPath();
      ctx.arc(100, 250, 50, 0, 2 * Math.PI, false);
      ctx.fillStyle = 'green';
      ctx.fill();
      ctx.lineWidth = 5;
      ctx.strokeStyle = '#003300';
      ctx.stroke();
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...