Home | History | Annotate | Line # | Download | only in extensions
      1 /*
      2  * Copyright (c) 2006, Oracle and/or its affiliates.
      3  * Copyright 2010 Red Hat, Inc.
      4  *
      5  * Permission is hereby granted, free of charge, to any person obtaining a
      6  * copy of this software and associated documentation files (the "Software"),
      7  * to deal in the Software without restriction, including without limitation
      8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
      9  * and/or sell copies of the Software, and to permit persons to whom the
     10  * Software is furnished to do so, subject to the following conditions:
     11  *
     12  * The above copyright notice and this permission notice (including the next
     13  * paragraph) shall be included in all copies or substantial portions of the
     14  * Software.
     15  *
     16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     19  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     22  * DEALINGS IN THE SOFTWARE.
     23  */
     24 /*
     25  * Copyright  2002 Keith Packard, member of The XFree86 Project, Inc.
     26  *
     27  * Permission to use, copy, modify, distribute, and sell this software and its
     28  * documentation for any purpose is hereby granted without fee, provided that
     29  * the above copyright notice appear in all copies and that both that
     30  * copyright notice and this permission notice appear in supporting
     31  * documentation, and that the name of Keith Packard not be used in
     32  * advertising or publicity pertaining to distribution of the software without
     33  * specific, written prior permission.  Keith Packard makes no
     34  * representations about the suitability of this software for any purpose.  It
     35  * is provided "as is" without express or implied warranty.
     36  *
     37  * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
     38  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
     39  * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
     40  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
     41  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
     42  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
     43  * PERFORMANCE OF THIS SOFTWARE.
     44  */
     45 
     46 
     47 #ifndef _XFIXESWIRE_H_
     48 #define _XFIXESWIRE_H_
     49 
     50 #define XFIXES_NAME	"XFIXES"
     51 #define XFIXES_MAJOR	6
     52 #define XFIXES_MINOR	0
     53 
     54 /*************** Version 1 ******************/
     55 #define X_XFixesQueryVersion		    0
     56 #define X_XFixesChangeSaveSet		    1
     57 #define X_XFixesSelectSelectionInput	    2
     58 #define X_XFixesSelectCursorInput	    3
     59 #define X_XFixesGetCursorImage		    4
     60 /*************** Version 2 ******************/
     61 #define X_XFixesCreateRegion		    5
     62 #define X_XFixesCreateRegionFromBitmap	    6
     63 #define X_XFixesCreateRegionFromWindow	    7
     64 #define X_XFixesCreateRegionFromGC	    8
     65 #define X_XFixesCreateRegionFromPicture	    9
     66 #define X_XFixesDestroyRegion		    10
     67 #define X_XFixesSetRegion		    11
     68 #define X_XFixesCopyRegion		    12
     69 #define X_XFixesUnionRegion		    13
     70 #define X_XFixesIntersectRegion		    14
     71 #define X_XFixesSubtractRegion		    15
     72 #define X_XFixesInvertRegion		    16
     73 #define X_XFixesTranslateRegion		    17
     74 #define X_XFixesRegionExtents		    18
     75 #define X_XFixesFetchRegion		    19
     76 #define X_XFixesSetGCClipRegion		    20
     77 #define X_XFixesSetWindowShapeRegion	    21
     78 #define X_XFixesSetPictureClipRegion	    22
     79 #define X_XFixesSetCursorName		    23
     80 #define X_XFixesGetCursorName		    24
     81 #define X_XFixesGetCursorImageAndName	    25
     82 #define X_XFixesChangeCursor		    26
     83 #define X_XFixesChangeCursorByName	    27
     84 /*************** Version 3 ******************/
     85 #define X_XFixesExpandRegion		    28
     86 /*************** Version 4 ******************/
     87 #define X_XFixesHideCursor		    29
     88 #define X_XFixesShowCursor		    30
     89 /*************** Version 5 ******************/
     90 #define X_XFixesCreatePointerBarrier	    31
     91 #define X_XFixesDestroyPointerBarrier	    32
     92 /*************** Version 6 ******************/
     93 #define X_XFixesSetClientDisconnectMode	    33
     94 #define X_XFixesGetClientDisconnectMode	    34
     95 
     96 #define XFixesNumberRequests		    (X_XFixesGetClientDisconnectMode+1)
     97 
     98 /* Selection events share one event number */
     99 #define XFixesSelectionNotify		    0
    100 
    101 /* Within the selection, the 'subtype' field distinguishes */
    102 #define XFixesSetSelectionOwnerNotify	    0
    103 #define XFixesSelectionWindowDestroyNotify  1
    104 #define XFixesSelectionClientCloseNotify    2
    105 
    106 #define XFixesSetSelectionOwnerNotifyMask	(1L << 0)
    107 #define XFixesSelectionWindowDestroyNotifyMask	(1L << 1)
    108 #define XFixesSelectionClientCloseNotifyMask	(1L << 2)
    109 
    110 /* There's only one cursor event so far */
    111 #define XFixesCursorNotify		    1
    112 
    113 #define XFixesDisplayCursorNotify	    0
    114 
    115 #define XFixesDisplayCursorNotifyMask	    (1L << 0)
    116 
    117 #define XFixesNumberEvents		    (2)
    118 
    119 /* errors */
    120 #define BadRegion			    0
    121 #define BadBarrier			    1
    122 #define XFixesNumberErrors		    (BadBarrier+1)
    123 
    124 #define SaveSetNearest			    0
    125 #define SaveSetRoot			    1
    126 
    127 #define SaveSetMap			    0
    128 #define SaveSetUnmap			    1
    129 
    130 /*************** Version 2 ******************/
    131 
    132 #define WindowRegionBounding		    0
    133 #define WindowRegionClip		    1
    134 
    135 /*************** Version 5 ******************/
    136 
    137 #define BarrierPositiveX		    (1L << 0)
    138 #define BarrierPositiveY		    (1L << 1)
    139 #define BarrierNegativeX		    (1L << 2)
    140 #define BarrierNegativeY		    (1L << 3)
    141 
    142 /*************** Version 6 ******************/
    143 
    144 /* The default server behaviour */
    145 #define XFixesClientDisconnectFlagDefault   0
    146 /* The server may disconnect this client to shut down */
    147 #define XFixesClientDisconnectFlagTerminate  (1L << 0)
    148 
    149 /*************** Version 6.1 ******************/
    150 
    151 /* The server must terminate if this client exits */
    152 #define XFixesClientDisconnectFlagForceTerminate  (1L << 1)
    153 
    154 #endif	/* _XFIXESWIRE_H_ */
    155