Re: gdk_draw_drawable on a non-active widget window
- From: "Vyacheslav D." <bordimida mail ru>
- To: gtk-list gnome org
- Subject: Re: gdk_draw_drawable on a non-active widget window
- Date: Sat, 27 Dec 2008 06:16:17 +0300
On Tue, 16 Dec 2008 11:43:30 +0300, zaheer ahmad <zaheer mot gmail com>
wrote:
hi,
iam trying to take the snapshot of a widget window in a pixmap using
gdk_draw_drawable, however it seems to work only if the widget is active
(visible on the screen).
as i understand, this process involves a peek on to the x and that may
mean
that the data for the inactive window may not be available.
can somebody confirm on this and also if there is any other means to get
access to pixmaps of inactive windows
thanks,
Zaheer
My suggestion:
void save_picture_to_file(GtkWidget *da, char *filename)
{
GdkRectangle exposed_area;
exposed_area.x = da->allocation.x;
exposed_area.y = da->allocation.y;
exposed_area.width = da->allocation.width;
exposed_area.height = da->allocation.height;
GdkPixmap *pixmap = gtk_widget_get_snapshot(da, &exposed_area);
GdkColormap *cmap = gdk_colormap_get_system();
GdkPixbuf *pixbuf = gdk_pixbuf_get_from_drawable(
NULL,
pixmap,
cmap,
0, 0,
exposed_area.x,
exposed_area.y,
exposed_area.width,
exposed_area.height);
GError * error = NULL;
gdk_pixbuf_save(pixbuf, filename, "png", &error, NULL);
if (error)
{
printf("Error saving image: %s\n", error->message);
g_error_free(error);
}
g_object_unref (pixbuf);
gdk_pixmap_unref(pixmap);
gdk_colormap_unref(cmap);
}
--
Vyacheslav D.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]