Re: deprecated gtk_cairo_create
- From: Colomban Wendling <lists ban herbesfolles org>
- To: Sergei Kolomeeyets <kolomeeyets gmail com>, GTK Mailing List <gtk-app-devel-list gnome org>
- Subject: Re: deprecated gtk_cairo_create
- Date: Fri, 30 Dec 2016 14:45:37 +0100
Hi,
Le 30/12/2016 à 12:20, Sergei Kolomeeyets a écrit :
Hi, everyone
[…]
{draw_callback}
gboolean draw_callback(GtkWidget *area, GdkEventExpose *event, GArray
*ptLinePoints) {
That's not the right signature for the GtkWidget::draw signal: it takes
a cairo_t* as the second parameter, not a GdkEventExpose like did
::expose. And here you have your Cairo context :)
See
https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget-draw [1]
Also, read
https://developer.gnome.org/gtk3/stable/ch26s02.html#id-1.6.3.4.11, and
more generally
https://developer.gnome.org/gtk3/stable/gtk-migrating-2-to-3.html
So basically you don't need gdk_cairo_create() at all. If you want to
draw outside of the ::draw() handler and paint the cached thing then,
use a cairo_surface_t as the offscreen surface, and paint it then.
Hope this helps.
Cheers,
Colomban
[1] which says "CairoContext", but that's a weird lie on the API… not
sure why, maybe the GType has this name so introspection is confused.
Anyway, it's cairo_t.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]