In progress...
This commit is contained in:
parent
6e09e42b95
commit
036d9db437
|
@ -268,32 +268,32 @@ namespace CairoChart {
|
||||||
|
|
||||||
d.x /= -plarea.width; d.y /= -plarea.height;
|
d.x /= -plarea.width; d.y /= -plarea.height;
|
||||||
|
|
||||||
var z0 = zoom;
|
var z = zoom;
|
||||||
|
|
||||||
zoom_out();
|
zoom_out();
|
||||||
|
|
||||||
d.x *= plarea.width; d.y *= plarea.height;
|
d.x *= plarea.width; d.y *= plarea.height;
|
||||||
|
|
||||||
var xmin = plarea.x + plarea.width * z0.x;
|
var x0 = plarea.x + plarea.width * z.x;
|
||||||
var xmax = plarea.x + plarea.width * (z0.x + z0.width);
|
var x1 = plarea.x + plarea.width * (z.x + z.width);
|
||||||
var ymin = plarea.y + plarea.height * z0.y;
|
var y0 = plarea.y + plarea.height * z.y;
|
||||||
var ymax = plarea.y + plarea.height * (z0.y + z0.height);
|
var y1 = plarea.y + plarea.height * (z.y + z.height);
|
||||||
|
|
||||||
d.x *= z0.width; d.y *= z0.height;
|
d.x *= z.width; d.y *= z.height;
|
||||||
|
|
||||||
var px1 = plarea.x + plarea.width;
|
var px1 = plarea.x + plarea.width;
|
||||||
var py1 = plarea.y + plarea.height;
|
var py1 = plarea.y + plarea.height;
|
||||||
|
|
||||||
if (xmin + d.x < plarea.x) d.x = plarea.x - xmin;
|
if (x0 + d.x < plarea.x) d.x = plarea.x - x0;
|
||||||
if (xmax + d.x > px1) d.x = px1 - xmax;
|
if (x1 + d.x > px1) d.x = px1 - x1;
|
||||||
if (ymin + d.y < plarea.y) d.y = plarea.y - ymin;
|
if (y0 + d.y < plarea.y) d.y = plarea.y - y0;
|
||||||
if (ymax + d.y > py1) d.y = py1 - ymax;
|
if (y1 + d.y > py1) d.y = py1 - y1;
|
||||||
|
|
||||||
zoom_in(Cairo.Rectangle() {
|
zoom_in(Cairo.Rectangle() {
|
||||||
x = xmin + d.x,
|
x = x0 + d.x,
|
||||||
y = ymin + d.y,
|
y = y0 + d.y,
|
||||||
width = plarea.width * z0.width,
|
width = plarea.width * z.width,
|
||||||
height = plarea.height * z0.height
|
height = plarea.height * z.height
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue