File indexing completed on 2025-10-31 09:19:26
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 
0013 
0014 
0015 
0016 
0017 
0018 
0019 
0020 
0021 
0022 
0023 
0024 
0025 
0026 
0027 
0028 
0029 
0030 
0031 
0032 
0033 
0034 
0035 
0036 
0037 
0038 
0039 
0040 
0041 
0042 
0043 
0044 
0045 
0046 #ifndef _XFIXES_H_
0047 #define _XFIXES_H_
0048 
0049 #include <X11/extensions/xfixeswire.h>
0050 
0051 #include <X11/Xfuncproto.h>
0052 #include <X11/Xlib.h>
0053 
0054 
0055 
0056 
0057 
0058 #define XFIXES_REVISION 1
0059 #define XFIXES_VERSION  ((XFIXES_MAJOR * 10000) + (XFIXES_MINOR * 100) + (XFIXES_REVISION))
0060 
0061 typedef struct {
0062     int type;           
0063     unsigned long serial;
0064     Bool send_event;
0065     Display *display;
0066     Window window;
0067     int subtype;
0068     Window owner;
0069     Atom selection;
0070     Time timestamp;
0071     Time selection_timestamp;
0072 } XFixesSelectionNotifyEvent;
0073 
0074 typedef struct {
0075     int type;           
0076     unsigned long serial;
0077     Bool send_event;
0078     Display *display;
0079     Window window;
0080     int subtype;
0081     unsigned long cursor_serial;
0082     Time timestamp;
0083     Atom cursor_name;
0084 } XFixesCursorNotifyEvent;
0085 
0086 typedef struct {
0087     short       x, y;
0088     unsigned short  width, height;
0089     unsigned short  xhot, yhot;
0090     unsigned long   cursor_serial;
0091     unsigned long   *pixels;
0092 #if XFIXES_MAJOR >= 2
0093     Atom        atom;           
0094     const char      *name;          
0095 #endif
0096 } XFixesCursorImage;
0097 
0098 #if XFIXES_MAJOR >= 2
0099 
0100 
0101 typedef XID XserverRegion;
0102 
0103 typedef struct {
0104     short       x, y;
0105     unsigned short  width, height;
0106     unsigned short  xhot, yhot;
0107     unsigned long   cursor_serial;
0108     unsigned long   *pixels;
0109     Atom        atom;
0110     const char      *name;
0111 } XFixesCursorImageAndName;
0112 
0113 #endif
0114 
0115 _XFUNCPROTOBEGIN
0116 
0117 Bool XFixesQueryExtension (Display *dpy,
0118                 int *event_base_return,
0119                 int *error_base_return);
0120 Status XFixesQueryVersion (Display *dpy,
0121                 int     *major_version_return,
0122                 int     *minor_version_return);
0123 
0124 int XFixesVersion (void);
0125 
0126 void
0127 XFixesChangeSaveSet (Display    *dpy,
0128              Window win,
0129              int    mode,
0130              int    target,
0131              int    map);
0132 
0133 void
0134 XFixesSelectSelectionInput (Display     *dpy,
0135                 Window      win,
0136                 Atom        selection,
0137                 unsigned long   eventMask);
0138 
0139 void
0140 XFixesSelectCursorInput (Display    *dpy,
0141              Window     win,
0142              unsigned long  eventMask);
0143 
0144 XFixesCursorImage *
0145 XFixesGetCursorImage (Display *dpy);
0146 
0147 #if XFIXES_MAJOR >= 2
0148 
0149 
0150 XserverRegion
0151 XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles);
0152 
0153 XserverRegion
0154 XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap);
0155 
0156 XserverRegion
0157 XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind);
0158 
0159 XserverRegion
0160 XFixesCreateRegionFromGC (Display *dpy, GC gc);
0161 
0162 XserverRegion
0163 XFixesCreateRegionFromPicture (Display *dpy, XID picture);
0164 
0165 void
0166 XFixesDestroyRegion (Display *dpy, XserverRegion region);
0167 
0168 void
0169 XFixesSetRegion (Display *dpy, XserverRegion region,
0170          XRectangle *rectangles, int nrectangles);
0171 
0172 void
0173 XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src);
0174 
0175 void
0176 XFixesUnionRegion (Display *dpy, XserverRegion dst,
0177            XserverRegion src1, XserverRegion src2);
0178 
0179 void
0180 XFixesIntersectRegion (Display *dpy, XserverRegion dst,
0181                XserverRegion src1, XserverRegion src2);
0182 
0183 void
0184 XFixesSubtractRegion (Display *dpy, XserverRegion dst,
0185               XserverRegion src1, XserverRegion src2);
0186 
0187 void
0188 XFixesInvertRegion (Display *dpy, XserverRegion dst,
0189             XRectangle *rect, XserverRegion src);
0190 
0191 void
0192 XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy);
0193 
0194 void
0195 XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src);
0196 
0197 XRectangle *
0198 XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet);
0199 
0200 XRectangle *
0201 XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region,
0202                 int *nrectanglesRet,
0203                 XRectangle *bounds);
0204 
0205 void
0206 XFixesSetGCClipRegion (Display *dpy, GC gc,
0207                int clip_x_origin, int clip_y_origin,
0208                XserverRegion region);
0209 
0210 void
0211 XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind,
0212                 int x_off, int y_off, XserverRegion region);
0213 
0214 void
0215 XFixesSetPictureClipRegion (Display *dpy, XID picture,
0216                 int clip_x_origin, int clip_y_origin,
0217                 XserverRegion region);
0218 
0219 void
0220 XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name);
0221 
0222 const char *
0223 XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom);
0224 
0225 void
0226 XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination);
0227 
0228 void
0229 XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name);
0230 
0231 #endif  
0232 
0233 #if XFIXES_MAJOR >= 3
0234 
0235 void
0236 XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src,
0237             unsigned left, unsigned right,
0238             unsigned top, unsigned bottom);
0239 
0240 #endif  
0241 
0242 #if XFIXES_MAJOR >= 4
0243 
0244 
0245 void
0246 XFixesHideCursor (Display *dpy, Window win);
0247 
0248 void
0249 XFixesShowCursor (Display *dpy, Window win);
0250 
0251 #endif 
0252 
0253 #if XFIXES_MAJOR >= 5
0254 
0255 typedef XID PointerBarrier;
0256 
0257 PointerBarrier
0258 XFixesCreatePointerBarrier(Display *dpy, Window w, int x1, int y1,
0259                int x2, int y2, int directions,
0260                int num_devices, int *devices);
0261 
0262 void
0263 XFixesDestroyPointerBarrier(Display *dpy, PointerBarrier b);
0264 
0265 #endif 
0266 
0267 _XFUNCPROTOEND
0268 
0269 #endif