Xfixes.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:7k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * $XFree86: xc/lib/Xfixes/Xfixes.h,v 1.1 2002/11/30 06:21:45 keithp Exp $
  3.  *
  4.  * Copyright © 2006 Sun Microsystems
  5.  *
  6.  * Permission to use, copy, modify, distribute, and sell this software and its
  7.  * documentation for any purpose is hereby granted without fee, provided that
  8.  * the above copyright notice appear in all copies and that both that
  9.  * copyright notice and this permission notice appear in supporting
  10.  * documentation, and that the name of Sun Microsystems not be used in
  11.  * advertising or publicity pertaining to distribution of the software without
  12.  * specific, written prior permission.  Sun Microsystems makes no
  13.  * representations about the suitability of this software for any purpose.  It
  14.  * is provided "as is" without express or implied warranty.
  15.  *
  16.  * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  17.  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  18.  * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  19.  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  20.  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  21.  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  22.  * PERFORMANCE OF THIS SOFTWARE.
  23.  *
  24.  * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
  25.  *
  26.  * Permission to use, copy, modify, distribute, and sell this software and its
  27.  * documentation for any purpose is hereby granted without fee, provided that
  28.  * the above copyright notice appear in all copies and that both that
  29.  * copyright notice and this permission notice appear in supporting
  30.  * documentation, and that the name of Keith Packard not be used in
  31.  * advertising or publicity pertaining to distribution of the software without
  32.  * specific, written prior permission.  Keith Packard makes no
  33.  * representations about the suitability of this software for any purpose.  It
  34.  * is provided "as is" without express or implied warranty.
  35.  *
  36.  * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  37.  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  38.  * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  39.  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  40.  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  41.  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  42.  * PERFORMANCE OF THIS SOFTWARE.
  43.  */
  44. #ifndef _XFIXES_H_
  45. #define _XFIXES_H_
  46. #include <X11/extensions/xfixeswire.h>
  47. #include <X11/Xfuncproto.h>
  48. #include <X11/Xlib.h>
  49. /*
  50.  * This revision number also appears in configure.ac, they have
  51.  * to be manually synchronized
  52.  */
  53. #define XFIXES_REVISION 1
  54. #define XFIXES_VERSION ((XFIXES_MAJOR * 10000) + (XFIXES_MINOR * 100) + (XFIXES_REVISION))
  55. typedef struct {
  56.     int type; /* event base */
  57.     unsigned long serial;
  58.     Bool send_event;
  59.     Display *display;
  60.     Window window;
  61.     int subtype;
  62.     Window owner;
  63.     Atom selection;
  64.     Time timestamp;
  65.     Time selection_timestamp;
  66. } XFixesSelectionNotifyEvent;
  67. typedef struct {
  68.     int type; /* event base */
  69.     unsigned long serial;
  70.     Bool send_event;
  71.     Display *display;
  72.     Window window;
  73.     int subtype;
  74.     unsigned long cursor_serial;
  75.     Time timestamp;
  76.     Atom cursor_name;
  77. } XFixesCursorNotifyEvent;
  78. typedef struct {
  79.     short     x, y;
  80.     unsigned short  width, height;
  81.     unsigned short  xhot, yhot;
  82.     unsigned long   cursor_serial;
  83.     unsigned long   *pixels;
  84. #if XFIXES_MAJOR >= 2
  85.     Atom     atom;     /* Version >= 2 only */
  86.     const char     *name;     /* Version >= 2 only */
  87. #endif
  88. } XFixesCursorImage;
  89. #if XFIXES_MAJOR >= 2
  90. /* Version 2 types */
  91. typedef XID XserverRegion;
  92. typedef struct {
  93.     short     x, y;
  94.     unsigned short  width, height;
  95.     unsigned short  xhot, yhot;
  96.     unsigned long   cursor_serial;
  97.     unsigned long   *pixels;
  98.     Atom     atom;
  99.     const char     *name;
  100. } XFixesCursorImageAndName;
  101. #endif
  102. _XFUNCPROTOBEGIN
  103. Bool XFixesQueryExtension (Display *dpy, int *event_basep, int *error_basep);
  104. Status XFixesQueryVersion (Display *dpy,
  105.     int     *major_versionp,
  106.     int     *minor_versionp);
  107. int XFixesVersion (void);
  108. void
  109. XFixesChangeSaveSet (Display *dpy,
  110.      Window win,
  111.      int mode,
  112.      int target,
  113.      int map);
  114. void
  115. XFixesSelectSelectionInput (Display     *dpy,
  116.     Window     win,
  117.     Atom     selection, 
  118.     unsigned long   eventMask);
  119. void
  120. XFixesSelectCursorInput (Display *dpy,
  121.  Window win,
  122.  unsigned long eventMask);
  123. XFixesCursorImage *
  124. XFixesGetCursorImage (Display *dpy);
  125. #if XFIXES_MAJOR >= 2
  126. /* Version 2 functions */
  127. XserverRegion
  128. XFixesCreateRegion (Display *dpy, XRectangle *rectangles, int nrectangles);
  129. XserverRegion
  130. XFixesCreateRegionFromBitmap (Display *dpy, Pixmap bitmap);
  131. XserverRegion
  132. XFixesCreateRegionFromWindow (Display *dpy, Window window, int kind);
  133. XserverRegion
  134. XFixesCreateRegionFromGC (Display *dpy, GC gc);
  135. XserverRegion
  136. XFixesCreateRegionFromPicture (Display *dpy, XID picture);
  137. void
  138. XFixesDestroyRegion (Display *dpy, XserverRegion region);
  139. void
  140. XFixesSetRegion (Display *dpy, XserverRegion region,
  141.  XRectangle *rectangles, int nrectangles);
  142. void
  143. XFixesCopyRegion (Display *dpy, XserverRegion dst, XserverRegion src);
  144. void
  145. XFixesUnionRegion (Display *dpy, XserverRegion dst,
  146.    XserverRegion src1, XserverRegion src2);
  147. void
  148. XFixesIntersectRegion (Display *dpy, XserverRegion dst,
  149.        XserverRegion src1, XserverRegion src2);
  150. void
  151. XFixesSubtractRegion (Display *dpy, XserverRegion dst,
  152.       XserverRegion src1, XserverRegion src2);
  153. void
  154. XFixesInvertRegion (Display *dpy, XserverRegion dst,
  155.     XRectangle *rect, XserverRegion src);
  156. void
  157. XFixesTranslateRegion (Display *dpy, XserverRegion region, int dx, int dy);
  158. void
  159. XFixesRegionExtents (Display *dpy, XserverRegion dst, XserverRegion src);
  160. XRectangle *
  161. XFixesFetchRegion (Display *dpy, XserverRegion region, int *nrectanglesRet);
  162. XRectangle *
  163. XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region, 
  164.     int *nrectanglesRet,
  165.     XRectangle *bounds);
  166. void
  167. XFixesSetGCClipRegion (Display *dpy, GC gc, 
  168.        int clip_x_origin, int clip_y_origin,
  169.        XserverRegion region);
  170. void
  171. XFixesSetWindowShapeRegion (Display *dpy, Window win, int shape_kind,
  172.     int x_off, int y_off, XserverRegion region);
  173. void
  174. XFixesSetPictureClipRegion (Display *dpy, XID picture,
  175.     int clip_x_origin, int clip_y_origin,
  176.     XserverRegion region);
  177. void
  178. XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name);
  179. const char *
  180. XFixesGetCursorName (Display *dpy, Cursor cursor, Atom *atom);
  181. void
  182. XFixesChangeCursor (Display *dpy, Cursor source, Cursor destination);
  183. void
  184. XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name);
  185. #endif /* XFIXES_MAJOR >= 2 */
  186. #if XFIXES_MAJOR >= 3
  187. void
  188. XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src,
  189.     unsigned left, unsigned right,
  190.     unsigned top, unsigned bottom);
  191. #endif /* XFIXES_MAJOR >= 3 */
  192. #if XFIXES_MAJOR >= 4
  193. /* Version 4.0 externs */
  194. void
  195. XFixesHideCursor (Display *dpy, Window win);
  196. void
  197. XFixesShowCursor (Display *dpy, Window win);
  198. #endif /* XFIXES_MAJOR >= 4 */
  199. _XFUNCPROTOEND
  200. #endif /* _XFIXES_H_ */