diff options
Diffstat (limited to 'libs/canvas/item.cc')
-rw-r--r-- | libs/canvas/item.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libs/canvas/item.cc b/libs/canvas/item.cc index 06ad24f2e6..589f1214b7 100644 --- a/libs/canvas/item.cc +++ b/libs/canvas/item.cc @@ -571,9 +571,15 @@ Item::grab_focus () /* XXX */ } +void +Item::size_allocate (Rect const & r) +{ + _allocation = r; +} + /** @return Bounding box in this item's coordinates */ ArdourCanvas::Rect -Item::bounding_box () const +Item::bounding_box (bool for_own_purposes) const { if (_bounding_box_dirty) { compute_bounding_box (); @@ -581,6 +587,12 @@ Item::bounding_box () const add_child_bounding_boxes (); } + if (!for_own_purposes) { + if (_allocation) { + return _allocation; + } + } + return _bounding_box; } |