May I ask why you can't paint in the draw signal? GDK already tracks
invalidated windows marked by exposes and gdk_window_invalidate_rect
itself. It should be as efficient as drawing in an idle handler, and also
cooperates with the paint clock, where we can be synchronized to a
compositor's redraw cycle.


On Mon, Jun 23, 2014 at 8:53 PM, Krzysztof Kosiński <tweenk...@gmail.com>
wrote:

> 2014-06-21 3:00 GMT+02:00 Jasper St. Pierre <jstpie...@mecheye.net>:
> > To better support Wayland with fewer copies and less drawing artifacts,
> I've
> > pushed some potentially breaking changes to GDK, namely around
> > gdk_cairo_create and gdk_window_begin_paint_region.
> >
> >
> https://git.gnome.org/browse/gtk+/commit/?id=d48adf9cee7e340acd7f8b9a5f9716695352b848
> >
> https://git.gnome.org/browse/gtk+/commit/?id=be30e440c350f0f3e0f2572f7f3eab54ef96af0e
> >
> > With these changes, it is now illegal to call gdk_cairo_create outside
> of a
> > begin_paint / end_paint. This was always sketchy, and would never work on
> > Wayland anyway. If your code does this, we will print a warning and
> return a
> > dummy surface which won't ever be composited back into the main surface.
>
> This will also break the GTK 3 version of Inkscape, which paints its
> canvas in an idle handler, and the draw signal only marks areas for
> redraw. However, it may be fixable by using the begin_paint APIs.
>
> Regards, Krzysztof
>



-- 
  Jasper
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to