Программировать закругленные прямоугольники просто.В папке tests вы найдете test_shadows.html, в котором есть строка, в которую добавляется прямоугольник с закругленными углами:
myDrawing.addStencil("rect", {data:{x:50, y:175, width:100, height:50, r:10}});
Вы создаете объект данных с x, y, width, height и значением дляr (в противном случае значение по умолчанию равно 0).
Если вы хотите сделать это путем расширения прямоугольника, самый простой способ сделать это - просто установить значение в функции конструктора (data.r = 10, дляпример), или вы можете создать функцию pointsToData для переопределения версии Rect.Либо вы бы установили значение this.data.r, либо значение по умолчанию:
pointsToData: function(/*Array*/p){
// summary:
// Converts points to data
p = p || this.points;
var s = p[0];
var e = p[2];
this.data = {
x: s.x,
y: s.y,
width: e.x-s.x,
height: e.y-s.y,
r:this.data.r || 10
};
return this.data;
},
В этом примере я задаю значение r по умолчанию 10, а не 0, как было раньше.Это работает, потому что каждый раз, когда трафарет рисует ваш прямоугольник, он преобразует точки холста x, y (все трафареты запоминают свои точки) в данные (которые gfx использует для рисования).Другими словами, эта функция всегда будет вызываться перед рендерингом прямоугольника.