1 #include "gtkmm2ext/utils.h"
2 #include "gtkmm2ext/cairo_widget.h"
3 #include "gtkmm2ext/cairo_packer.h"
6 CairoPacker::draw_background (Gtk::Widget& w, GdkEventExpose* ev)
9 Gtk::Widget* window_parent;
10 Glib::RefPtr<Gdk::Window> win = Gtkmm2ext::window_to_draw_on (w, &window_parent);
14 Cairo::RefPtr<Cairo::Context> context = win->create_cairo_context();
15 w.translate_coordinates (*window_parent, 0, 0, x, y);
16 context->set_source_rgba (0.149, 0.149, 0.149, 1.0);
17 Gtkmm2ext::rounded_rectangle (context, x, y, w.get_allocation().get_width(), w.get_allocation().get_height(), 9);
22 CairoHPacker::CairoHPacker ()
26 bg.set_red (lrint (0.149 * 65535));
27 bg.set_green (lrint (0.149 * 65535));
28 bg.set_blue (lrint (0.149 * 65535));
30 CairoWidget::provide_background_for_cairo_widget (*this, bg);
34 CairoHPacker::on_expose_event (GdkEventExpose* ev)
36 draw_background (*this, ev);
37 return HBox::on_expose_event (ev);
40 CairoVPacker::CairoVPacker ()
44 bg.set_red (lrint (0.149 * 65535));
45 bg.set_green (lrint (0.149 * 65535));
46 bg.set_blue (lrint (0.149 * 65535));
48 CairoWidget::provide_background_for_cairo_widget (*this, bg);
52 CairoVPacker::on_expose_event (GdkEventExpose* ev)
54 draw_background (*this, ev);
55 return VBox::on_expose_event (ev);