X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Futils.h;h=df97da63bfb3c3e8d9545755552ce94ad8cd9db5;hb=8505c16057a074531a99728e730408151d7aafa4;hp=d511b0e718166cc2959a52269880a289f85484db;hpb=7d32cf3813b7145b98c86b59867092e04aa2621a;p=ardour.git diff --git a/gtk2_ardour/utils.h b/gtk2_ardour/utils.h index d511b0e718..df97da63bf 100644 --- a/gtk2_ardour/utils.h +++ b/gtk2_ardour/utils.h @@ -23,12 +23,13 @@ #include #include #include + #include "ardour/types.h" -#include + #include #include -#include "canvas.h" +#include "canvas/types.h" namespace PBD { class Controllable; @@ -42,16 +43,15 @@ namespace Gtk { class Adjustment; } -extern sigc::signal DPIReset; - -std::string fit_to_pixels (const std::string&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false); +namespace ArdourCanvas { + class Item; +} -std::pair fit_to_pixels (cairo_t *, std::string, double); +namespace ARDOUR_UI_UTILS { -int pixel_width (const std::string& str, Pango::FontDescription& font); +extern sigc::signal DPIReset; gint just_hide_it (GdkEventAny*, Gtk::Window*); -void allow_keyboard_focus (bool); void add_item_with_sensitivity (Gtk::Menu_Helpers::MenuList &, Gtk::Menu_Helpers::MenuElem, bool); unsigned char* xpm2rgb (const char** xpm, uint32_t& w, uint32_t& h); @@ -59,27 +59,25 @@ unsigned char* xpm2rgba (const char** xpm, uint32_t& w, uint32_t& h); ArdourCanvas::Points* get_canvas_points (std::string who, uint32_t npoints); +Pango::FontDescription sanitized_font (std::string const&); 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); - -Gdk::Color color_from_style (std::string widget_style_name, int state, std::string attr); -Glib::RefPtr gc_from_style (std::string widget_style_name, int state, std::string attr); - - void decorate (Gtk::Window& w, Gdk::WMDecoration d); -bool canvas_item_visible (ArdourCanvas::Item* item); - -void set_color (Gdk::Color&, int); +void set_color_from_rgb (Gdk::Color&, uint32_t); +void set_color_from_rgba (Gdk::Color&, uint32_t); +uint32_t gdk_color_to_rgba (Gdk::Color const&); +uint32_t contrasting_text_color (uint32_t c); bool relay_key_press (GdkEventKey* ev, Gtk::Window* win); bool forward_key_press (GdkEventKey* ev); bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev); +bool emulate_key_event (Gtk::Widget*, unsigned int); Glib::RefPtr get_xpm (std::string); -std::string get_icon_path (const char*); -Glib::RefPtr get_icon (const char*); +std::vector get_icon_sets (); +std::string get_icon_path (const char*, std::string icon_set = std::string(), bool is_image = true); +Glib::RefPtr get_icon (const char*, std::string icon_set = std::string()); static std::map > xpm_map; const char* const *get_xpm_data (std::string path); std::string longest (std::vector&); @@ -90,7 +88,13 @@ void set_pango_fontsize (); void resize_window_to_proportion_of_monitor (Gtk::Window*, int, int); std::string escape_underscores (std::string const &); +std::string escape_angled_brackets (std::string const &); Gdk::Color unique_random_color (std::list &); +std::string rate_as_string (float r); + +bool windows_overlap (Gtk::Window *a, Gtk::Window *b); + +} // namespace #endif /* __ardour_gtk_utils_h__ */