Fixed resolution change function
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@627 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
@@ -63,9 +63,10 @@ function svg_edit_setup() {
|
||||
for (var i = 0; i < elems.length; ++i) {
|
||||
var elem = elems[i];
|
||||
// if the element changed was the svg, then it could be a resolution change
|
||||
if (elem && elem.tagName == "svg") {
|
||||
changeResolution(parseInt(elem.getAttribute("width")),
|
||||
parseInt(elem.getAttribute("height")));
|
||||
if (elem && elem.tagName == "svg" && elem.getAttribute("viewBox")) {
|
||||
var vb = elem.getAttribute("viewBox").split(' ');
|
||||
changeResolution(parseInt(vb[2]),
|
||||
parseInt(vb[3]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -597,7 +598,7 @@ function svg_edit_setup() {
|
||||
var clickZoom = function(zoomIn) {
|
||||
var res = svgCanvas.getResolution();
|
||||
var multiplier = zoomIn? res.zoom * 2 : res.zoom * 0.5;
|
||||
setResolution(res.w * multiplier, res.h * multiplier);
|
||||
setResolution(res.w * multiplier, res.h * multiplier, true);
|
||||
svgCanvas.setZoom(multiplier);
|
||||
};
|
||||
|
||||
@@ -935,17 +936,19 @@ function svg_edit_setup() {
|
||||
}
|
||||
});
|
||||
if(!found) $('#resolution').val('Custom');
|
||||
|
||||
setResolution(x, y);
|
||||
var zoom = svgCanvas.getResolution().zoom;
|
||||
setResolution(x * zoom, y * zoom);
|
||||
}
|
||||
|
||||
function setResolution(w, h) {
|
||||
function setResolution(w, h, center) {
|
||||
$('#svgcanvas').css( { 'width': w, 'height': h } );
|
||||
var w_area = $('#workarea');
|
||||
var scroll_y = h/2 - w_area.height()/2;
|
||||
var scroll_x = w/2 - w_area.width()/2;
|
||||
w_area[0].scrollTop = scroll_y;
|
||||
w_area[0].scrollLeft = scroll_x;
|
||||
if(center) {
|
||||
var w_area = $('#workarea');
|
||||
var scroll_y = h/2 - w_area.height()/2;
|
||||
var scroll_x = w/2 - w_area.width()/2;
|
||||
w_area[0].scrollTop = scroll_y;
|
||||
w_area[0].scrollLeft = scroll_x;
|
||||
}
|
||||
}
|
||||
|
||||
$('#resolution').change(function(){
|
||||
|
||||
@@ -2491,7 +2491,7 @@ function BatchCommand(text) {
|
||||
selectorManager.update();
|
||||
|
||||
addCommandToHistory(batchCmd);
|
||||
call("changed", [svgroot]);
|
||||
call("changed", [svgzoom]);
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
return false;
|
||||
@@ -2534,10 +2534,10 @@ function BatchCommand(text) {
|
||||
var vb = svgzoom.getAttribute("viewBox").split(' ');
|
||||
return {'w':vb[2], 'h':vb[3], 'zoom': current_zoom};
|
||||
};
|
||||
// TODO: change svgzoom's viewBox here also and create a batch command
|
||||
this.setResolution = function(x, y) {
|
||||
var w = svgroot.getAttribute("width"),
|
||||
h = svgroot.getAttribute("height");
|
||||
var res = canvas.getResolution();
|
||||
var w = res.w, h = res.h;
|
||||
var batchCmd = new BatchCommand("Change Image Dimensions");
|
||||
|
||||
var handle = svgroot.suspendRedraw(1000);
|
||||
|
||||
@@ -2555,13 +2555,17 @@ function BatchCommand(text) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
svgroot.setAttribute("width", x);
|
||||
svgroot.setAttribute("height", y);
|
||||
svgroot.setAttribute('width', x * current_zoom);
|
||||
svgroot.setAttribute('height', y * current_zoom);
|
||||
batchCmd.addSubCommand(new ChangeElementCommand(svgroot, {"width":w, "height":h}));
|
||||
|
||||
svgzoom.setAttribute("viewBox", ["0 0", x, y].join(' '));
|
||||
batchCmd.addSubCommand(new ChangeElementCommand(svgzoom, {"viewBox": ["0 0", w, h].join(' ')}));
|
||||
|
||||
svgroot.unsuspendRedraw(handle);
|
||||
addCommandToHistory(new ChangeElementCommand(svgroot, {"width":w,"height":h}, "resolution"));
|
||||
call("changed", [svgroot]);
|
||||
|
||||
addCommandToHistory(batchCmd);
|
||||
call("changed", [svgzoom]);
|
||||
};
|
||||
|
||||
this.setZoom = function(zoomlevel) {
|
||||
@@ -2818,6 +2822,7 @@ function BatchCommand(text) {
|
||||
|
||||
this.getRotationAngle = function(elem) {
|
||||
var selected = elem || selectedElements[0];
|
||||
if(!elem.transform) return null;
|
||||
// find the rotation transform (if any) and set it
|
||||
var tlist = selected.transform.baseVal;
|
||||
var t = tlist.numberOfItems;
|
||||
|
||||
Reference in New Issue
Block a user