Make canvas relatively positioned in workarea, centered in the workarea if small enough

git-svn-id: http://svg-edit.googlecode.com/svn/trunk@722 eee81c28-f429-11dd-99c0-75d572ba1ddd
master
Jeff Schiller 2009-09-28 20:14:18 +00:00
parent 7ea7c8933e
commit 6f5a5f1030
3 changed files with 24 additions and 6 deletions

View File

@ -32,6 +32,7 @@ body {
width: 640px;
height: 480px;
-apple-dashboard-region:dashboard-region(control rectangle 0px 0px 0px 0px); /* for widget regions that shouldn't react to dragging */
position: relative;
}
#svg_editor div#palette_holder {

View File

@ -1226,6 +1226,19 @@ function svg_edit_setup() {
$('#svgcanvas').css( { 'width': w, 'height': h } );
$('#canvas_width').val(w);
$('#canvas_height').val(h);
// this centers the canvas in the workarea if it's small enough
var wa = {w: parseInt($('#workarea').css('width')),
h: parseInt($('#workarea').css('height'))};
var ca = {w: parseInt($('#svgcanvas').css('width')),
h: parseInt($('#svgcanvas').css('height'))};
if (wa.w > ca.w) {
$('#svgcanvas').css({'left': (wa.w-ca.w)/2});
}
if (wa.h > ca.h) {
$('#svgcanvas').css({'top': (wa.h-ca.h)/2});
}
if(center) {
var w_area = $('#workarea');
var scroll_y = h/2 - w_area.height()/2;
@ -1269,6 +1282,9 @@ function svg_edit_setup() {
}
}
// set starting resolution (centers canvas)
setResolution(640,480);
return svgCanvas;
};

View File

@ -1383,8 +1383,9 @@ function BatchCommand(text) {
// and do nothing else
var mouseDown = function(evt)
{
var mouse_x = evt.pageX - container.parentNode.offsetLeft + container.parentNode.scrollLeft;
var mouse_y = evt.pageY - container.parentNode.offsetTop + container.parentNode.scrollTop;
console.dir(container);
var mouse_x = evt.pageX - container.parentNode.offsetLeft + container.parentNode.scrollLeft - container.offsetLeft;
var mouse_y = evt.pageY - container.parentNode.offsetTop + container.parentNode.scrollTop - container.offsetTop;
evt.preventDefault();
@ -1670,8 +1671,8 @@ function BatchCommand(text) {
{
if (!started) return;
var selected = selectedElements[0];
var mouse_x = evt.pageX - container.parentNode.offsetLeft + container.parentNode.scrollLeft;
var mouse_y = evt.pageY - container.parentNode.offsetTop + container.parentNode.scrollTop;
var mouse_x = evt.pageX - container.parentNode.offsetLeft + container.parentNode.scrollLeft - container.offsetLeft;
var mouse_y = evt.pageY - container.parentNode.offsetTop + container.parentNode.scrollTop - container.offsetTop;
var shape = svgdoc.getElementById(getId());
x = mouse_x / current_zoom;
@ -2231,8 +2232,8 @@ function BatchCommand(text) {
justSelected = null;
if (!started) return;
var mouse_x = evt.pageX - container.parentNode.offsetLeft + container.parentNode.scrollLeft;
var mouse_y = evt.pageY - container.parentNode.offsetTop + container.parentNode.scrollTop;
var mouse_x = evt.pageX - container.parentNode.offsetLeft + container.parentNode.scrollLeft - container.offsetLeft;
var mouse_y = evt.pageY - container.parentNode.offsetTop + container.parentNode.scrollTop - container.offsetTop;
var x = mouse_x / current_zoom;
var y = mouse_y / current_zoom;