/*
- Copyright (C) 2002 Paul Davis
+ Copyright (C) 2002 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "ardour/types.h"
#include <libgnomecanvasmm/line.h>
#include <gdkmm/types.h>
-#include <glibmm/ustring.h>
#include <gtkmm/menushell.h>
#include "canvas.h"
+namespace PBD {
+ class Controllable;
+ class ScopedConnectionList;
+}
+
namespace Gtk {
class Window;
class ComboBoxText;
class Paned;
+ class Adjustment;
}
-static inline double
-gain_to_slider_position (ARDOUR::gain_t g)
-{
- if (g == 0) return 0;
- return pow((6.0*log(g)/log(2.0)+192.0)/198.0, 8.0);
+extern sigc::signal<void> DPIReset;
-}
-
-static inline ARDOUR::gain_t
-slider_position_to_gain (double pos)
-{
- /* XXX Marcus writes: this doesn't seem right to me. but i don't have a better answer ... */
- if (pos == 0.0) return 0;
- return pow (2.0,(sqrt(sqrt(sqrt(pos)))*198.0-192.0)/6.0);
-}
-
-Glib::ustring fit_to_pixels (const Glib::ustring&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false);
+std::string fit_to_pixels (const std::string&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false);
std::pair<std::string, double> fit_to_pixels (cairo_t *, std::string, double);
-int pixel_width (const Glib::ustring& str, Pango::FontDescription& font);
+int pixel_width (const std::string& str, Pango::FontDescription& font);
gint just_hide_it (GdkEventAny*, Gtk::Window*);
void allow_keyboard_focus (bool);
void set_color (Gdk::Color&, int);
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 possibly_translate_keyval_to_make_legal_accelerator (uint32_t& keyval);
Glib::RefPtr<Gdk::Pixbuf> get_xpm (std::string);
-Glib::ustring get_icon_path (const char*);
+std::string get_icon_path (const char*);
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);
void reset_dpi ();
void set_pango_fontsize ();
-inline guint8 convert_color_channel (guint8 src, guint8 alpha);
-void convert_bgra_to_rgba (guint8 const* src,
- guint8* dst,
- int width,
- int height);
-
void resize_window_to_proportion_of_monitor (Gtk::Window*, int, int);
+std::string escape_underscores (std::string const &);
+
+void control_link (PBD::ScopedConnectionList& scl, boost::shared_ptr<PBD::Controllable> c, Gtk::Adjustment& a);
+
#endif /* __ardour_gtk_utils_h__ */