1 #include "ecore_xcb_private.h"
4 * @defgroup Ecore_X_Pixmap_Group X Pixmap Functions
5 * @ingroup Ecore_X_Group
7 * Functions that operate on pixmaps.
11 * Creates a new pixmap.
12 * @param win Window used to determine which screen of the display the
13 * pixmap should be created on. If 0, the default root window
15 * @param w Width of the new pixmap.
16 * @param h Height of the new pixmap.
17 * @param dep Depth of the pixmap. If 0, the default depth of the default
20 * @ingroup Ecore_X_Pixmap_Group
23 ecore_x_pixmap_new(Ecore_X_Window win,
30 LOGFN(__FILE__, __LINE__, __FUNCTION__);
33 if (win == 0) win = ((xcb_screen_t *)_ecore_xcb_screen)->root;
34 if (dep == 0) dep = ((xcb_screen_t *)_ecore_xcb_screen)->root_depth;
36 pmap = xcb_generate_id(_ecore_xcb_conn);
37 xcb_create_pixmap(_ecore_xcb_conn, dep, pmap, win, w, h);
44 * Deletes the reference to the given pixmap.
46 * If no other clients have a reference to the given pixmap, the server
49 * @param pmap The given pixmap.
50 * @ingroup Ecore_X_Pixmap_Group
53 ecore_x_pixmap_free(Ecore_X_Pixmap pmap)
55 LOGFN(__FILE__, __LINE__, __FUNCTION__);
58 xcb_free_pixmap(_ecore_xcb_conn, pmap);
63 * Pastes a rectangular area of the given pixmap onto the given drawable.
64 * @param pmap The given pixmap.
65 * @param dest The given drawable.
66 * @param gc The graphics context which governs which operation will
67 * be used to paste the area onto the drawable.
68 * @param sx The X position of the area on the pixmap.
69 * @param sy The Y position of the area on the pixmap.
70 * @param w The width of the area.
71 * @param h The height of the area.
72 * @param dx The X position at which to paste the area on @p dest.
73 * @param dy The Y position at which to paste the area on @p dest.
74 * @ingroup Ecore_X_Pixmap_Group
77 ecore_x_pixmap_paste(Ecore_X_Pixmap pmap,
78 Ecore_X_Drawable dest,
87 LOGFN(__FILE__, __LINE__, __FUNCTION__);
90 xcb_copy_area(_ecore_xcb_conn, pmap, dest, gc, sx, sy, dx, dy, w, h);
95 * Retrieves the size of the given pixmap.
96 * @param pmap The given pixmap.
97 * @param x Pointer to an integer in which to store the X position.
98 * @param y Pointer to an integer in which to store the Y position.
99 * @param w Pointer to an integer in which to store the width.
100 * @param h Pointer to an integer in which to store the height.
101 * @ingroup Ecore_X_Pixmap_Group
104 ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap,
110 LOGFN(__FILE__, __LINE__, __FUNCTION__);
113 ecore_x_drawable_geometry_get(pmap, x, y, w, h);
117 * Retrieves the depth of the given pixmap.
118 * @param pmap The given pixmap.
119 * @return The depth of the pixmap.
120 * @ingroup Ecore_X_Pixmap_Group
123 ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap)
125 LOGFN(__FILE__, __LINE__, __FUNCTION__);
127 return ecore_x_drawable_depth_get(pmap);