diff options
author | Carl Hetherington <carl@carlh.net> | 2009-02-04 14:26:00 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-02-04 14:26:00 +0000 |
commit | dc6571fb29e120b24a3ce3665dd04d291623ecc4 (patch) | |
tree | 23e6becb946edc84b68c9295bef4b59c1be79577 /gtk2_ardour/port_matrix_body.cc | |
parent | b6daa2d643c5cf4d07ae53b7e347b03e1bc145de (diff) |
Fix minor visual glitch with mouseover when a label is partially out-of-sight.
git-svn-id: svn://localhost/ardour2/branches/3.0@4489 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix_body.cc')
-rw-r--r-- | gtk2_ardour/port_matrix_body.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gtk2_ardour/port_matrix_body.cc b/gtk2_ardour/port_matrix_body.cc index 8c75cac74b..de73adcaff 100644 --- a/gtk2_ardour/port_matrix_body.cc +++ b/gtk2_ardour/port_matrix_body.cc @@ -97,9 +97,22 @@ PortMatrixBody::on_expose_event (GdkEventExpose* event) } cairo_t* cr = gdk_cairo_create (get_window()->gobj()); + + cairo_save (cr); + set_cairo_clip (cr, _grid.parent_rectangle ()); _grid.draw_extra (cr); + cairo_restore (cr); + + cairo_save (cr); + set_cairo_clip (cr, _row_labels.parent_rectangle ()); _row_labels.draw_extra (cr); + cairo_restore (cr); + + cairo_save (cr); + set_cairo_clip (cr, _column_labels.parent_rectangle ()); _column_labels.draw_extra (cr); + cairo_restore (cr); + cairo_destroy (cr); return true; @@ -458,3 +471,10 @@ PortMatrixBody::highlight_associated_channels (int dim, uint32_t N) } } } + +void +PortMatrixBody::set_cairo_clip (cairo_t* cr, Gdk::Rectangle const & r) const +{ + cairo_rectangle (cr, r.get_x(), r.get_y(), r.get_width(), r.get_height()); + cairo_clip (cr); +} |