summaryrefslogtreecommitdiff
path: root/libs/canvas
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2018-07-03 09:22:18 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2018-07-03 09:22:32 -0400
commit5102d8fae14c2a2acf9e575e6d83e34726379e6f (patch)
treeaa36237424c03c3f4818d03ae248dcf658d81908 /libs/canvas
parent9d99cc8b017b732dd3cbe5fafdae737d73b98024 (diff)
minor code optimization for Rectangle::render()
Diffstat (limited to 'libs/canvas')
-rw-r--r--libs/canvas/canvas/rectangle.h4
-rw-r--r--libs/canvas/rectangle.cc23
2 files changed, 5 insertions, 22 deletions
diff --git a/libs/canvas/canvas/rectangle.h b/libs/canvas/canvas/rectangle.h
index 8b65940454..351074cc42 100644
--- a/libs/canvas/canvas/rectangle.h
+++ b/libs/canvas/canvas/rectangle.h
@@ -87,10 +87,6 @@ public:
void set_outline_what (What);
void set_outline_all () { set_outline_what (ArdourCanvas::Rectangle::ALL); }
- protected:
- void render_self (Rect const &, Cairo::RefPtr<Cairo::Context>, Rect) const;
- Rect get_self_for_render () const;
-
private:
/** Our rectangle; note that x0 may not always be less than x1
* and likewise with y0 and y1.
diff --git a/libs/canvas/rectangle.cc b/libs/canvas/rectangle.cc
index 488d5bf1fe..985dcb6815 100644
--- a/libs/canvas/rectangle.cc
+++ b/libs/canvas/rectangle.cc
@@ -55,8 +55,8 @@ Rectangle::Rectangle (Item* parent, Rect const & rect)
{
}
-Rect
-Rectangle::get_self_for_render () const
+void
+Rectangle::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) const
{
/* In general, a Rectangle will have a _position of (0,0) within its
parent, and its extent is actually defined by _rect. But in the
@@ -64,20 +64,13 @@ Rectangle::get_self_for_render () const
we should take that into account when rendering.
*/
- return item_to_window (_rect.translate (_position), false);
-}
-
-void
-Rectangle::render_self (Rect const & area, Cairo::RefPtr<Cairo::Context> context, Rect self) const
-{
- Rect r = self.intersection (area);
+ Rect self (item_to_window (_rect.translate (_position), false));
+ const Rect draw = self.intersection (area);
- if (!r) {
+ if (!draw) {
return;
}
- Rect draw = r;
-
if (_fill && !_transparent) {
if (_stops.empty()) {
setup_fill_context (context);
@@ -143,12 +136,6 @@ Rectangle::render_self (Rect const & area, Cairo::RefPtr<Cairo::Context> context
}
void
-Rectangle::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) const
-{
- render_self (area, context, get_self_for_render ());
-}
-
-void
Rectangle::compute_bounding_box () const
{
if (!_rect.empty()) {