X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Futils.h;h=c6df93839488ee4c8569f5308ee0fa477fd961ff;hb=23b1944beac919e80225c50400d9b2ed973ed13c;hp=c019989d946cc9bea870c6364667b59434c71c36;hpb=83f385d26336f58c1b2e3ce49c609fe86878b56d;p=ardour.git diff --git a/gtk2_ardour/utils.h b/gtk2_ardour/utils.h index c019989d94..c6df938394 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,13 @@ 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); - -std::pair fit_to_pixels (cairo_t *, std::string, double); +namespace ArdourCanvas { + class Item; +} -int pixel_width (const std::string& str, Pango::FontDescription& font); +namespace ARDOUR_UI_UTILS { 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,36 +57,42 @@ 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&); bool key_is_legal_for_numeric_entry (guint keyval); -void reset_dpi (); -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); + +bool overwrite_file_dialog (Gtk::Window& parent, std::string title, std::string text); +} // namespace #endif /* __ardour_gtk_utils_h__ */