On Fri, 06 Mar 2009 12:14:53 +0100
Christian Schaubschlaeger <
cs gup uni-linz ac at> 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++?
> ...
>
> }