#include "gtk2ardour-config.h"
#endif
+#if !defined USE_CAIRO_IMAGE_SURFACE && !defined NDEBUG
+#define OPTIONAL_CAIRO_IMAGE_SURFACE
+#endif
+
#include <cairo/cairo.h>
#include <boost/algorithm/string.hpp>
/* INTERFACE */
+#ifdef OPTIONAL_CAIRO_IMAGE_SURFACE
+ BoolOption* bgo = new BoolOption (
+ "cairo-image-surface",
+ _("Disable Graphics Hardware Acceleration (requires restart)"),
+ sigc::mem_fun (*_ui_config, &UIConfiguration::get_cairo_image_surface),
+ sigc::mem_fun (*_ui_config, &UIConfiguration::set_cairo_image_surface)
+ );
+
+ Gtkmm2ext::UI::instance()->set_tip (bgo->tip_widget(), string_compose (
+ _("Render large parts of the application user-interface in software, instead of using 2D-graphics acceleration.\nThis requires restarting %1 before having an effect"), PROGRAM_NAME));
+ add_option (S_("Preferences|GUI"), bgo);
+#endif
+
#ifdef CAIRO_SUPPORTS_FORCE_BUGGY_GRADIENTS_ENVIRONMENT_VARIABLE
BoolOption* bgo = new BoolOption (
"buggy-gradients",
- _("Possibly improve slow graphical performance"),
+ _("Possibly improve slow graphical performance (requires restart)"),
sigc::mem_fun (*_ui_config, &UIConfiguration::get_buggy_gradients),
sigc::mem_fun (*_ui_config, &UIConfiguration::set_buggy_gradients)
);
- Gtkmm2ext::UI::instance()->set_tip (bgo->tip_widget(), string_compose (_("This requires restarting %1 before having an effect"), PROGRAM_NAME));
+ Gtkmm2ext::UI::instance()->set_tip (bgo->tip_widget(), string_compose (_("Disables hardware gradient rendering on buggy video drivers (\"buggy gradients patch\").\nThis requires restarting %1 before having an effect"), PROGRAM_NAME));
add_option (S_("Preferences|GUI"), bgo);
#endif
-
+
add_option (S_("Preferences|GUI"),
new BoolOption (
"widget-prelight",
*/
+#if !defined USE_CAIRO_IMAGE_SURFACE && !defined NDEBUG
+#define OPTIONAL_CAIRO_IMAGE_SURFACE
+#endif
+
#include <iostream>
#include <sstream>
#include <unistd.h>
if (get_buggy_gradients()) {
g_setenv ("FORCE_BUGGY_GRADIENTS", "1", 1);
}
+#endif
+#ifdef OPTIONAL_CAIRO_IMAGE_SURFACE
+ if (get_cairo_image_surface()) {
+ g_setenv ("ARDOUR_IMAGE_SURFACE", "1", 1);
+ }
#endif
return 0;
}
UI_CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true)
UI_CONFIG_VARIABLE (bool, no_new_session_dialog, "no-new-session-dialog", false)
UI_CONFIG_VARIABLE (bool, buggy_gradients, "buggy-gradients", false)
+UI_CONFIG_VARIABLE (bool, cairo_image_surface, "cairo-image-surface", false)
UI_CONFIG_VARIABLE (uint64_t, waveform_cache_size, "waveform-cache-size", 100) /* units of megagbytes */