Merged with trunk R1612.
[ardour.git] / gtk2_ardour / utils.h
index 7596b2619014d5352fb3db18cedf2337a4d32548..2d2f879073f7badaeeeb2410c956536ade341093 100644 (file)
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id$
 */
 
 #ifndef __ardour_gtk_utils_h__
 #define __ardour_gtk_utils_h__
 
 #include <string>
-#include <vector>
 #include <cmath>
+#include <vector>
 #include <ardour/types.h>
-#include <libgnomecanvas/libgnomecanvas.h>
+#include <libgnomecanvasmm/line.h>
 #include <gdkmm/types.h>
+#include <glibmm/ustring.h>
+
+#include "canvas.h"
 
 namespace Gtk {
        class Window;
-       class Combo;
+       class ComboBoxText;
        class Paned;
 }
 
@@ -50,25 +52,34 @@ slider_position_to_gain (double pos)
        return pow (2.0,(sqrt(sqrt(sqrt(pos)))*198.0-192.0)/6.0);
 }
 
-std::string short_version (std::string, std::string::size_type target_length);
-std::string fit_to_pixels (std::string, int32_t pixel_width, Gdk_Font&);
+Glib::ustring fit_to_pixels (const Glib::ustring&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false);
 
-int    atoi (const std::string&);
-double atof (const std::string&);
-void   strip_whitespace_edges (std::string& str);
-void   url_decode (std::string&);
 gint   just_hide_it (GdkEventAny*, Gtk::Window*);
 void   allow_keyboard_focus (bool);
 
 unsigned char* xpm2rgb  (const char** xpm, uint32_t& w, uint32_t& h);
 unsigned char* xpm2rgba (const char** xpm, uint32_t& w, uint32_t& h);
 
-GnomeCanvasPoints* get_canvas_points (std::string who, uint32_t npoints);
+ArdourCanvas::Points* get_canvas_points (std::string who, uint32_t npoints);
+
+Pango::FontDescription get_font_for_style (std::string widgetname);
+
+uint32_t rgba_from_style (std::string, uint32_t, uint32_t, uint32_t, uint32_t, std::string = "fg", int = Gtk::STATE_NORMAL, bool = true);
+
+void decorate (Gtk::Window& w, Gdk::WMDecoration d);
+
+bool canvas_item_visible (ArdourCanvas::Item* item);
+
+void set_color (Gdk::Color&, int);
 
-int channel_combo_get_channel_count (Gtk::Combo& combo);
-std::string get_font_for_style (std::string widgetname);
+bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev);
 
-gint pane_handler (GdkEventButton*, Gtk::Paned*);
-uint32_t rgba_from_style (std::string style, uint32_t, uint32_t, uint32_t, uint32_t);
+Glib::RefPtr<Gdk::Pixbuf> get_xpm (std::string);
+Glib::RefPtr<Gdk::Pixbuf> get_icon (const char*);
+static std::map<std::string, Glib::RefPtr<Gdk::Pixbuf> > xpm_map;
+const char* const *get_xpm_data (std::string path);
+std::string longest (std::vector<std::string>&);
+bool key_is_legal_for_numeric_entry (guint keyval);
+Glib::ustring short_path (Glib::ustring, uint32_t target_characters);
 
 #endif /* __ardour_gtk_utils_h__ */