diff options
Diffstat (limited to 'src/editing_tools/EditingTools.vala')
-rw-r--r-- | src/editing_tools/EditingTools.vala | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/editing_tools/EditingTools.vala b/src/editing_tools/EditingTools.vala index 0042d57..3345a3f 100644 --- a/src/editing_tools/EditingTools.vala +++ b/src/editing_tools/EditingTools.vala @@ -1294,11 +1294,13 @@ public class CropTool : EditingTool { // scaled_crop is not maintained relative to photo's position on canvas Box offset_scaled_crop = scaled_crop.get_offset(scaled_pixbuf_pos.x, scaled_pixbuf_pos.y); + var xmul = (int)Math.lround(x * Application.get_scale()); + var ymul = (int)Math.lround(y * Application.get_scale()); + // determine where the mouse down landed and store for future events - in_manipulation = offset_scaled_crop.approx_location((int)Math.lround(x * Application.get_scale()), - (int)Math.lround(y * Application.get_scale())); - last_grab_x = x -= scaled_pixbuf_pos.x; - last_grab_y = y -= scaled_pixbuf_pos.y; + in_manipulation = offset_scaled_crop.approx_location(xmul, ymul); + last_grab_x = xmul - scaled_pixbuf_pos.x; + last_grab_y = ymul - scaled_pixbuf_pos.y; // repaint because the crop changes on a mouse down canvas.repaint(); |