45 lines
1.5 KiB
JavaScript
45 lines
1.5 KiB
JavaScript
jvm.VMLCanvasElement = function(container, width, height){
|
|
this.classPrefix = 'VML';
|
|
jvm.VMLCanvasElement.parentClass.call(this, 'group');
|
|
jvm.AbstractCanvasElement.apply(this, arguments);
|
|
this.node.style.position = 'absolute';
|
|
};
|
|
|
|
jvm.inherits(jvm.VMLCanvasElement, jvm.VMLElement);
|
|
jvm.mixin(jvm.VMLCanvasElement, jvm.AbstractCanvasElement);
|
|
|
|
jvm.VMLCanvasElement.prototype.setSize = function(width, height){
|
|
var paths,
|
|
groups,
|
|
i,
|
|
l;
|
|
|
|
this.width = width;
|
|
this.height = height;
|
|
this.node.style.width = width + "px";
|
|
this.node.style.height = height + "px";
|
|
this.node.coordsize = width+' '+height;
|
|
this.node.coordorigin = "0 0";
|
|
if (this.rootElement) {
|
|
paths = this.rootElement.node.getElementsByTagName('shape');
|
|
for(i = 0, l = paths.length; i < l; i++) {
|
|
paths[i].coordsize = width+' '+height;
|
|
paths[i].style.width = width+'px';
|
|
paths[i].style.height = height+'px';
|
|
}
|
|
groups = this.node.getElementsByTagName('group');
|
|
for(i = 0, l = groups.length; i < l; i++) {
|
|
groups[i].coordsize = width+' '+height;
|
|
groups[i].style.width = width+'px';
|
|
groups[i].style.height = height+'px';
|
|
}
|
|
}
|
|
};
|
|
|
|
jvm.VMLCanvasElement.prototype.applyTransformParams = function(scale, transX, transY) {
|
|
this.scale = scale;
|
|
this.transX = transX;
|
|
this.transY = transY;
|
|
this.rootElement.node.coordorigin = (this.width-transX-this.width/100)+','+(this.height-transY-this.height/100);
|
|
this.rootElement.node.coordsize = this.width/scale+','+this.height/scale;
|
|
}; |