Re: problems understanding gtk3/gdk/cairo interaction

2012-04-12 Thread Roger Davis
On Thu, 12 Apr 2012, Simon Feltman wrote: You should be able to just fill the delta regions between the cursor position changes right? Basically a backwards "L" shape if you're dragging upper-left to lower-right. You would need to do two rect copies (or two calls to gtk_widget_queue_draw_area f

Re: problems understanding gtk3/gdk/cairo interaction

2012-04-12 Thread Simon Feltman
You should be able to just fill the delta regions between the cursor position changes right? Basically a backwards "L" shape if you're dragging upper-left to lower-right. You would need to do two rect copies (or two calls to gtk_widget_queue_draw_area for each part of the L) as opposed to one. If i

Re: problems understanding gtk3/gdk/cairo interaction

2012-04-12 Thread Roger Davis
Hi John and Simon, OK, experiment complete. Performance for me is very clearly not as good as Xlib-style XOR when drawing rubberband lines which span a screen-sized window (which is more or less typical for my apps, unfortunately), but on the other hand it's not unusable either, just somewha

Re: problems understanding gtk3/gdk/cairo interaction

2012-04-06 Thread Roger Davis
Hi Simon, Thanks for your thoughts, I read them after responding to John. Sounds like my wild guesses about the differences between gtk2 and gtk3 here are not too horribly wrong. I will read the docs you pointed to and take a look at the Clutter stuff, after I get some time to do the required

Re: problems understanding gtk3/gdk/cairo interaction

2012-04-06 Thread Roger Davis
Hi John, Thanks for your thoughts as always. I think there may be some significant differences between gtk2 and gtk3 on these points, although this guess is based almost exclusively on reading documentation at this point as opposed to actual experience, of which I have about zero. Given the m

Re: problems understanding gtk3/gdk/cairo interaction

2012-04-06 Thread Simon Feltman
In Gtk3, "draw" is used instead of the expose signal and gives you a cairo context (at least for external api users). This document may also answer some of the questions: http://developer.gnome.org/gtk3/3.4/chap-drawing-model.html I wouldn't expect being able to use the cairo context you are passe

Re: problems understanding gtk3/gdk/cairo interaction

2012-04-06 Thread jcupitt
Hi Roger, You should do all drawing in the expose handler and nowhere else. Don't do any direct drawing in your data hander, instead update your model and queue an expose event. On 7 April 2012 02:16, Roger Davis wrote: > presumably this includes the GtkDrawingArea widget as well. If there is >