diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 44b50d0131..7004f9b419 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -1,4 +1,4 @@ -* +/* Copyright (C) 2009 Paul Davis This program is free software; you can redistribute it and/or modify diff --git a/libs/canvas/canvas/item.h b/libs/canvas/canvas/item.h index 5483c5124c..980f11be07 100644 --- a/libs/canvas/canvas/item.h +++ b/libs/canvas/canvas/item.h @@ -148,6 +148,11 @@ public: void canvas_to_item (Coord &, Coord &) const; void item_to_canvas (Coord &, Coord &) const; + Duple canvas_to_item (Duple const&) const; + Rect item_to_canvas (Rect const&) const; + Duple item_to_canvas (Duple const&) const; + Rect canvas_to_item (Rect const&) const; + Duple item_to_window (Duple const&, bool rounded = true) const; Duple window_to_item (Duple const&) const; Rect item_to_window (Rect const&) const; diff --git a/libs/canvas/item.cc b/libs/canvas/item.cc index ddc05a817a..bab6e73b54 100644 --- a/libs/canvas/item.cc +++ b/libs/canvas/item.cc @@ -173,8 +173,10 @@ Item::item_to_window (ArdourCanvas::Duple const & d, bool rounded) const { Duple ret = item_to_canvas (d).translate (-scroll_offset()); - ret.x = round (ret.x); - ret.y = round (ret.y); + if (rounded) { + ret.x = round (ret.x); + ret.y = round (ret.y); + } return ret; }