On Fri, 06 Mar 2009 12:14:53 +0100 Christian Schaubschlaeger <cs@xxxxxxxxxxxxxxxxxx> wrote: > Dov Grobgeld schrieb: > > I cleaned up my example a bit and put it in GnomeLive. See: > > > > http://live.gnome.org/OutlineLabel > > Thanks for the example! > I'm just trying to port it to gtkmm. Unfortunately I > cannot find the corresponding C++ construct for the > "Pango.cairo_show_layout()" call in Dov's Vala code. > Would that be a pangocairo function? I could not find > C++ bindings for the pangocairo lib. Are there any? > However, I'm not sure if the code snippet below is > correct at all, I'm (unfortunately) new to Pango and > Cairo... > > Thanks and best regards > Christian > > bool > OutlineLabel::on_expose(GdkEventExpose *event) > { > //Gdk::cairo_create(this->window); > Cairo::RefPtr<Cairo::ImageSurface> surface; > Cairo::RefPtr<Cairo::Context> cr; > Glib::RefPtr<Pango::Layout> layout; > int width,height; > > layout = this->get_layout(); > width = -1; height = -1; > layout->get_size(width,height); > > surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, > width, height); cr = Cairo::Context::create(surface); > cr->move_to((this->get_allocation().get_width()-width/Pango::SCALE)/2,0); > cr->set_sorce_rgba(1,0,0,1); > > // in VALA: Pango.cairo_show_layout(cr,layout); > // in C++? > ... > > } pango_cairo_show_layout() does not appear to be wrapped, but pango_cairo_show_layout_line() is (as Pango::LayoutLine::show_in_cairo_context()), so I suggest you use that with Pango::Layout::get_line() and/or Pango::Layout::get_lines(). Chris _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list