#include <gtkmm2ext/utils.h>
#include "ardour_ui.h"
+#include "keyboard.h"
#include "utils.h"
#include "i18n.h"
#include "rgb_macros.h"
+#include "canvas_impl.h"
using namespace std;
using namespace Gtk;
}
string
-fit_to_pixels (string str, int pixel_width, string font)
+fit_to_pixels (ARDOUR::stringcr_t str, int pixel_width, ARDOUR::stringcr_t font)
{
Label foo;
int width;
}
int
-channel_combo_get_channel_count (Gtk::Combo& combo)
+channel_combo_get_channel_count (Gtk::ComboBoxText& combo)
{
- string str = combo.get_entry()->get_text();
+ string str = combo.get_active_text();
int chns;
if (str == _("mono")) {
Pango::FontDescription
get_font_for_style (string widgetname)
{
+ Gtk::Window window (WINDOW_TOPLEVEL);
Gtk::Label foobar;
Glib::RefPtr<Style> style;
+ window.add (foobar);
foobar.set_name (widgetname);
foobar.ensure_style();
uint32_t
rgba_from_style (string style, uint32_t r, uint32_t g, uint32_t b, uint32_t a)
{
+ /* In GTK+2, styles aren't set up correctly if the widget is not
+ attached to a toplevel window that has a screen pointer.
+ */
+
+ static Gtk::Window* window = 0;
+
+ if (window == 0) {
+ window = new Window (WINDOW_TOPLEVEL);
+ }
+
Gtk::Label foo;
+ window->add (foo);
+
foo.set_name (style);
foo.ensure_style ();
} else {
warning << string_compose (_("missing RGBA style for \"%1\""), style) << endl;
}
+
+ window->remove ();
return (uint32_t) RGBA_TO_UINT(r,g,b,a);
}
-void
-decorate (Gtk::Window& w, Gdk::WMDecoration d)
+bool
+canvas_item_visible (ArdourCanvas::Item* item)
{
- w.get_window()->set_decorations (d);
+ return (item->gobj()->object.flags & GNOME_CANVAS_ITEM_VISIBLE) ? true : false;
}