///
var canvas = new fabric.Canvas('c');
var $ = function (id) { return document.getElementById(id); };
var rect = new fabric.Rect({
width: 100,
height: 100,
top: 150,
left: 150,
fill: 'rgba(255,0,0,0.5)'
});
canvas.add(rect);
var angleControl = $('angle-control');
angleControl.onchange = function() {
rect.setAngle(this.value).setCoords();
canvas.renderAll();
};
var scaleControl = $('scale-control');
scaleControl.onchange = function() {
rect.scale(this.value).setCoords();
canvas.renderAll();
};
var topControl = $('top-control');
topControl.onchange = function() {
rect.setTop(this.value).setCoords();
canvas.renderAll();
};
var leftControl = $('left-control');
leftControl.onchange = function() {
rect.setLeft(this.value).setCoords();
canvas.renderAll();
};
function updateControls() {
scaleControl.value = rect.getScaleX().toString();
angleControl.value = rect.getAngle().toString();
leftControl.value = rect.getLeft().toString();
topControl.value = rect.getTop().toString();
}
canvas.on({
'object:moving': updateControls,
'object:scaling': updateControls,
'object:resizing': updateControls
});