Function
Gdkpixbuf_get_from_window
Declaration [src]
GdkPixbuf*
gdk_pixbuf_get_from_window (
GdkWindow* window,
gint src_x,
gint src_y,
gint width,
gint height
)
Description [src]
Transfers image data from a GdkWindow
and converts it to an RGB(A)
representation inside a GdkPixbuf
.
In other words, copies image data from a server-side drawable to a client-side RGB(A) buffer. This allows you to efficiently read individual pixels on the client side.
This function will create an RGB pixbuf with 8 bits per channel with
the size specified by the width
and height
arguments scaled by the
scale factor of window
. The pixbuf will contain an alpha channel if
the window
contains one.
If the window is off the screen, then there is no image data in the obscured/offscreen regions to be placed in the pixbuf. The contents of portions of the pixbuf corresponding to the offscreen region are undefined.
If the window you’re obtaining data from is partially obscured by other windows, then the contents of the pixbuf areas corresponding to the obscured regions are undefined.
If the window is not mapped (typically because it’s iconified/minimized
or not on the current workspace), then NULL
will be returned.
If memory can’t be allocated for the return value, NULL
will be returned instead.
In short, there are several ways this function can fail, and if it fails
it returns NULL
; so check the return value.
You should rarely, if ever, need to call this function.
Parameters
window
-
Type:
GdkWindow
Source window.
The data is owned by the caller of the function. src_x
-
Type:
gint
Source X coordinate within
window
. src_y
-
Type:
gint
Source Y coordinate within
window
. width
-
Type:
gint
Width in pixels of region to get.
height
-
Type:
gint
Height in pixels of region to get.
Return value
Type: GdkPixbuf
A newly-created pixbuf with a
reference count of 1, or NULL
on error.
The caller of the function takes ownership of the data, and is responsible for freeing it. |
The return value can be NULL . |