Re: [gtk-list] gtk_drawing_area and gdk-pixbuf



On Fri, Feb 11, 2000 at 12:39:26PM -0800, Ben K wrote:

> can I render a gdk-pibuf to a gtk_drawing_area?  I know that
> gdk-pixbuf uses gdkRGB to render, and I know that gdkRGB can draw in
> a gtk_drawing_area, but how do I get the gdk-pixbuf into the drawing
> area?

This is in textpixbuf-drawable.c, that is part of the gdk-pixbuf
distribution:

pixbuf = (GdkPixbuf *) gtk_object_get_data(GTK_OBJECT(drawing_area),
					   "pixbuf");
if(pixbuf->art_pixbuf->has_alpha)
{
    gdk_draw_rgb_32_image(drawing_area->window,
			  drawing_area->style->black_gc,
			  evt->area.x, evt->area.y,
			  evt->area.width,
			  evt->area.height,
			  GDK_RGB_DITHER_MAX,
			  pixbuf->art_pixbuf->pixels +
			  (evt->area.y *
			   pixbuf->art_pixbuf->rowstride) +
			  (evt->area.x *
			   pixbuf->art_pixbuf->n_channels),
			  pixbuf->art_pixbuf->rowstride);
}
else
{
    gdk_draw_rgb_image(drawing_area->window, 
		       drawing_area->style->black_gc, 
		       evt->area.x, evt->area.y,
		       evt->area.width,
		       evt->area.height,  
		       GDK_RGB_DITHER_NORMAL,
		       pixbuf->art_pixbuf->pixels +
		       (evt->area.y * pixbuf->art_pixbuf->rowstride) +
		       (evt->area.x * pixbuf->art_pixbuf->n_channels),
		       pixbuf->art_pixbuf->rowstride);

Ciao    
-- 
David N. Welton, Developer, Linuxcare, Inc.
415.354.4878 x241 tel, 415.701.7457 fax
davidw@linuxcare.com, http://www.linuxcare.com/
Linuxcare. Support for the revolution.



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