X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fcanvas%2Ftypes.cc;h=a8c690bbbe85e2a9bea8cbc7af143f82a3cb0807;hb=a1f858d3b207739e0719c1fc28003f1d9dd3965d;hp=dfd934b126f7bbfd47d13bd11dbb9edfd31f3868;hpb=ce8731b32d5e91f56396cb5f6ca0798bc7fed48a;p=ardour.git diff --git a/libs/canvas/types.cc b/libs/canvas/types.cc index dfd934b126..a8c690bbbe 100644 --- a/libs/canvas/types.cc +++ b/libs/canvas/types.cc @@ -20,6 +20,9 @@ #include #include #include + +#include + #include "canvas/types.h" using namespace std; @@ -118,6 +121,39 @@ Rect::fix () const return r; } +Rect +Rect::convert_to_device (Cairo::RefPtr c) const +{ + Coord xa, ya, xb, yb; + + xa = x0; + xb = x1; + ya = y0; + yb = y1; + + c->user_to_device (xa, ya); + c->user_to_device (xb, yb); + + return Rect (xa, ya, xb, yb); +} + + +Rect +Rect::convert_to_user (Cairo::RefPtr c) const +{ + Coord xa, ya, xb, yb; + + xa = x0; + xb = x1; + ya = y0; + yb = y1; + + c->device_to_user (xa, ya); + c->device_to_user (xb, yb); + + return Rect (xa, ya, xb, yb); +} + Duple ArdourCanvas::operator- (Duple const & o) {