fix merge errors with master
[ardour.git] / libs / gtkmm2ext / utils.cc
index 83ad4537a233e4c01f13eb6e71a19eb8c57f73bd..0f04b8cfe7d72f3dc9c5ffb486ecfcbe672935b7 100644 (file)
@@ -23,7 +23,6 @@
 #include <gtk/gtkpaned.h>
 #include <gtk/gtk.h>
 
-#include <gtkmm2ext/utils.h>
 #include <gtkmm/widget.h>
 #include <gtkmm/button.h>
 #include <gtkmm/window.h>
 #include <gtkmm/comboboxtext.h>
 #include <gtkmm/tooltip.h>
 
+#include "gtkmm2ext/utils.h"
+
 #include "i18n.h"
 
 using namespace std;
 
 void
-Gtkmm2ext::init ()
+Gtkmm2ext::init (const char* localedir)
 {
-       // Necessary for gettext
-       (void) bindtextdomain(PACKAGE, LOCALEDIR);
+#ifdef ENABLE_NLS
+       (void) bindtextdomain(PACKAGE, localedir);
+#endif
 }
 
 void
@@ -55,9 +57,9 @@ Gtkmm2ext::get_ink_pixel_size (Glib::RefPtr<Pango::Layout> layout,
 }
 
 void
-get_pixel_size (Glib::RefPtr<Pango::Layout> layout,
-                              int& width,
-                              int& height)
+Gtkmm2ext::get_pixel_size (Glib::RefPtr<Pango::Layout> layout,
+                          int& width,
+                          int& height)
 {
        layout->get_pixel_size (width, height);
 }
@@ -127,11 +129,11 @@ demultiply_alpha (guint8 src,
        return alpha ? ((guint (src) << 8) - src) / alpha : 0;
 }
 
-static void
-convert_bgra_to_rgba (guint8 const* src,
-                     guint8*       dst,
-                     int           width,
-                     int           height)
+void
+Gtkmm2ext::convert_bgra_to_rgba (guint8 const* src,
+                                guint8*       dst,
+                                int           width,
+                                int           height)
 {
        guint8 const* src_pixel = src;
        guint8*       dst_pixel = dst;
@@ -413,6 +415,13 @@ Gtkmm2ext::rounded_bottom_half_rectangle (Cairo::RefPtr<Cairo::Context> context,
 {
        rounded_bottom_half_rectangle (context->cobj(), x, y, w, h, r);
 }
+
+void
+Gtkmm2ext::rounded_left_half_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r)
+{
+       rounded_left_half_rectangle (context->cobj(), x, y, w, h, r);
+}
+
 void
 Gtkmm2ext::rounded_right_half_rectangle (Cairo::RefPtr<Cairo::Context> context, double x, double y, double w, double h, double r)
 {
@@ -432,6 +441,19 @@ Gtkmm2ext::rounded_rectangle (cairo_t* cr, double x, double y, double w, double
        cairo_close_path (cr);
 }
 
+void
+Gtkmm2ext::rounded_left_half_rectangle (cairo_t* cr, double x, double y, double w, double h, double r)
+{
+       double degrees = M_PI / 180.0;
+
+       cairo_new_sub_path (cr);
+       cairo_line_to (cr, x+w, y); // tr
+       cairo_line_to (cr, x+w, y + h); // br
+       cairo_arc (cr, x + r, y + h - r, r, 90 * degrees, 180 * degrees);  //bl
+       cairo_arc (cr, x + r, y + r, r, 180 * degrees, 270 * degrees);  //tl
+       cairo_close_path (cr);
+}
+
 void
 Gtkmm2ext::rounded_right_half_rectangle (cairo_t* cr, double x, double y, double w, double h, double r)
 {
@@ -658,3 +680,4 @@ Gtkmm2ext::disable_tooltips ()
 {
        gtk_rc_parse_string ("gtk-enable-tooltips = 0");
 }
+