Re: drawing on offscreen surface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



You should use something like:

cairo_set_source_surface(cr, surface, 0, 0);
cairo_paint(cr).
cairo_set_source_rgb(cr, 0, 0, 1);
cairo_rectangle(cr, 300,300, 200, 200);
cairo_stroke(cr);

This will paint the window with surface as source and then draw a blue
rectangle.

Le vendredi 10 août 2012 à 14:09 +0530, Prasanta Sadhukhan a écrit :
> 
> 
> On Fri, Aug 10, 2012 at 1:22 PM, Jean Brefort
> <jean.brefort@xxxxxxxxxxxxxx> wrote:
>         This code is quite strange. Your call to
>         cairo_set_source_surface() is
>         not useful since you use cairo_set_source_rgb() just after.
>         You should
>         call cairo_paint() just after cairo_set_source_surface() if
>         you want it
>         to have any effect.
>         
> If I do not call     cairo_set_source_rgb(cr, 0, 0, 1); how will get a
> blue rectangle? 
> Just having   these is giving me a window with black background.
> cairo_set_source_surface(cr, surface, 0, 0);
> cairo_rectangle(cr, 300,300, 200, 200);
> cairo_stroke(cr);
> cairo_paint(cr).
> 
> Can you please clarify? 
> As I told, I would like to get a blue rectangle in offscreen surface
> and a green rectangle in main visible surface so after final rendering
> of offscreen contents on main window, I would get both rectangles on
> main window.
> 
> Regards
> Prasanta
> 
>         Hope it helps,
>         Jean
>         
>         Le vendredi 10 août 2012 à 13:07 +0530, Prasanta Sadhukhan a
>         écrit :
>         > expose_event (GtkWidget *widget,GdkEventExpose *event,
>         gpointer
>         > data)
>         > {
>         >   g_print("draw event main\n");
>         >
>         >   cairo_t *cr = gdk_cairo_create(widget->window);
>         > // draw blue rectangle into offscreen
>         >   cairo_set_source_surface(cr, surface, 0, 0);
>         >   cairo_set_source_rgb(cr, 0, 0, 1);
>         >   cairo_rectangle(cr, 300, 300, 200, 200);
>         >   cairo_stroke(cr);
>         >   cairo_paint(cr);
>         >
>         > //draw green rectangle onto main window
>         >     cairo_set_source_rgb(cr, 0, 1, 0);
>         >   cairo_rectangle(cr, 100, 100, 200, 200);
>         >    cairo_stroke(cr)
>         > }
>         >
>         >
>         >
>         
>         
>         _______________________________________________
>         gtk-list mailing list
>         gtk-list@xxxxxxxxx
>         https://mail.gnome.org/mailman/listinfo/gtk-list
> 


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



[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux