summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-09-25 12:16:13 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-09-25 12:16:13 -0600
commit5ec5bc4523e5c0fd998a6a133c6a03ab1475f063 (patch)
treef9ef6c71d72ff95a4824c417ec874e8768627db7 /libs/gtkmm2ext
parent13c874d8b071e4d1d540ec7da2d76856ef228918 (diff)
goodbye USE_TRACKS_CODE_FEATURES and is_tracks_build
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/cairo_widget.cc94
1 files changed, 0 insertions, 94 deletions
diff --git a/libs/gtkmm2ext/cairo_widget.cc b/libs/gtkmm2ext/cairo_widget.cc
index a85de28490..37d7f3806b 100644
--- a/libs/gtkmm2ext/cairo_widget.cc
+++ b/libs/gtkmm2ext/cairo_widget.cc
@@ -138,98 +138,6 @@ CairoWidget::background_color ()
}
}
-#ifdef USE_TRACKS_CODE_FEATURES
-
-/* This is Tracks version of this method.
-
- The use of get_visible_window() in this method is an abuse of the GDK/GTK
- semantics. It can and may break on different GDK backends, and uses a
- side-effect/unintended behaviour in GDK/GTK to try to accomplish something
- which should be done differently. I (Paul) have confirmed this with the GTK
- development team.
-
- For this reason, this code is not acceptable for ordinary merging into the Ardour libraries.
-
- Ardour Developers: you are not obligated to maintain the internals of this
- implementation in the face of build-time environment changes (e.g. -D
- defines etc).
-*/
-
-bool
-CairoWidget::on_expose_event (GdkEventExpose *ev)
-{
- cairo_rectangle_t expose_area;
- expose_area.width = ev->area.width;
- expose_area.height = ev->area.height;
-
-#ifdef USE_CAIRO_IMAGE_SURFACE_FOR_CAIRO_WIDGET
- Cairo::RefPtr<Cairo::Context> cr;
- if (get_visible_window ()) {
- expose_area.x = 0;
- expose_area.y = 0;
- if (!_image_surface) {
- _image_surface = Cairo::ImageSurface::create (Cairo::FORMAT_ARGB32, get_width(), get_height());
- }
- cr = Cairo::Context::create (_image_surface);
- } else {
- expose_area.x = ev->area.x;
- expose_area.y = ev->area.y;
- cr = get_window()->create_cairo_context ();
- }
-#else
- expose_area.x = ev->area.x;
- expose_area.y = ev->area.y;
- Cairo::RefPtr<Cairo::Context> cr = get_window()->create_cairo_context ();
-#endif
-
- cr->rectangle (expose_area.x, expose_area.y, expose_area.width, expose_area.height);
- cr->clip ();
-
- /* paint expose area the color of the parent window bg
- */
-
- if (get_visible_window ()) {
- Gdk::Color bg (get_parent_bg());
- cr->rectangle (expose_area.x, expose_area.y, expose_area.width, expose_area.height);
- cr->set_source_rgb (bg.get_red_p(), bg.get_green_p(), bg.get_blue_p());
- cr->fill ();
- }
-
- render (cr, &expose_area);
-
-#ifdef USE_CAIRO_IMAGE_SURFACE_FOR_CAIRO_WIDGET
- if(get_visible_window ()) {
- _image_surface->flush();
- /* now blit our private surface back to the GDK one */
-
- Cairo::RefPtr<Cairo::Context> cairo_context = get_window()->create_cairo_context ();
-
- cairo_context->rectangle (ev->area.x, ev->area.y, ev->area.width, ev->area.height);
- cairo_context->clip ();
- cairo_context->set_source (_image_surface, ev->area.x, ev->area.y);
- cairo_context->set_operator (Cairo::OPERATOR_OVER);
- cairo_context->paint ();
- }
-#endif
-
- Gtk::Widget* child = get_child ();
-
- if (child) {
- propagate_expose (*child, ev);
- }
-
- return true;
-}
-
-#else
-
-/* Ardour mainline: not using Tracks code features.
-
- Tracks Developers: please do not modify this version of
- ::on_expose_event(). The version used by Tracks is before the preceding
- #else and contains hacks required for the Tracks GUI to work.
-*/
-
bool
CairoWidget::on_expose_event (GdkEventExpose *ev)
{
@@ -307,8 +215,6 @@ CairoWidget::on_expose_event (GdkEventExpose *ev)
return true;
}
-#endif
-
/** Marks the widget as dirty, so that render () will be called on
* the next GTK expose event.
*/