xfixesint.h revision 4642e01f
1/* 2 * Copyright © 2006 Sun Microsystems 3 * 4 * Permission to use, copy, modify, distribute, and sell this software and its 5 * documentation for any purpose is hereby granted without fee, provided that 6 * the above copyright notice appear in all copies and that both that 7 * copyright notice and this permission notice appear in supporting 8 * documentation, and that the name of Sun Microsystems not be used in 9 * advertising or publicity pertaining to distribution of the software without 10 * specific, written prior permission. Sun Microsystems makes no 11 * representations about the suitability of this software for any purpose. It 12 * is provided "as is" without express or implied warranty. 13 * 14 * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 16 * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20 * PERFORMANCE OF THIS SOFTWARE. 21 * 22 * Copyright © 2002 Keith Packard 23 * 24 * Permission to use, copy, modify, distribute, and sell this software and its 25 * documentation for any purpose is hereby granted without fee, provided that 26 * the above copyright notice appear in all copies and that both that 27 * copyright notice and this permission notice appear in supporting 28 * documentation, and that the name of Keith Packard not be used in 29 * advertising or publicity pertaining to distribution of the software without 30 * specific, written prior permission. Keith Packard makes no 31 * representations about the suitability of this software for any purpose. It 32 * is provided "as is" without express or implied warranty. 33 * 34 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 35 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 36 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 37 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 38 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 39 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 40 * PERFORMANCE OF THIS SOFTWARE. 41 */ 42 43#ifdef HAVE_DIX_CONFIG_H 44#include <dix-config.h> 45#endif 46 47#ifndef _XFIXESINT_H_ 48#define _XFIXESINT_H_ 49 50#define NEED_EVENTS 51#include <X11/X.h> 52#include <X11/Xproto.h> 53#include "misc.h" 54#include "os.h" 55#include "dixstruct.h" 56#include "extnsionst.h" 57#include <X11/extensions/xfixesproto.h> 58#include "windowstr.h" 59#include "selection.h" 60#include "xfixes.h" 61 62extern int XFixesEventBase; 63 64typedef struct _XFixesClient { 65 CARD32 major_version; 66 CARD32 minor_version; 67} XFixesClientRec, *XFixesClientPtr; 68 69#define GetXFixesClient(pClient) ((XFixesClientPtr)dixLookupPrivate(&(pClient)->devPrivates, XFixesClientPrivateKey)) 70 71extern int (*ProcXFixesVector[XFixesNumberRequests])(ClientPtr); 72 73/* Initialize extension at server startup time */ 74 75void 76XFixesExtensionInit(void); 77 78/* Save set */ 79int 80ProcXFixesChangeSaveSet(ClientPtr client); 81 82int 83SProcXFixesChangeSaveSet(ClientPtr client); 84 85/* Selection events */ 86int 87ProcXFixesSelectSelectionInput (ClientPtr client); 88 89int 90SProcXFixesSelectSelectionInput (ClientPtr client); 91 92void 93SXFixesSelectionNotifyEvent (xXFixesSelectionNotifyEvent *from, 94 xXFixesSelectionNotifyEvent *to); 95Bool 96XFixesSelectionInit (void); 97 98/* Cursor notification */ 99Bool 100XFixesCursorInit (void); 101 102int 103ProcXFixesSelectCursorInput (ClientPtr client); 104 105int 106SProcXFixesSelectCursorInput (ClientPtr client); 107 108void 109SXFixesCursorNotifyEvent (xXFixesCursorNotifyEvent *from, 110 xXFixesCursorNotifyEvent *to); 111 112int 113ProcXFixesGetCursorImage (ClientPtr client); 114 115int 116SProcXFixesGetCursorImage (ClientPtr client); 117 118/* Cursor names (Version 2) */ 119 120int 121ProcXFixesSetCursorName (ClientPtr client); 122 123int 124SProcXFixesSetCursorName (ClientPtr client); 125 126int 127ProcXFixesGetCursorName (ClientPtr client); 128 129int 130SProcXFixesGetCursorName (ClientPtr client); 131 132int 133ProcXFixesGetCursorImageAndName (ClientPtr client); 134 135int 136SProcXFixesGetCursorImageAndName (ClientPtr client); 137 138/* Cursor replacement (Version 2) */ 139 140int 141ProcXFixesChangeCursor (ClientPtr client); 142 143int 144SProcXFixesChangeCursor (ClientPtr client); 145 146int 147ProcXFixesChangeCursorByName (ClientPtr client); 148 149int 150SProcXFixesChangeCursorByName (ClientPtr client); 151 152/* Region objects (Version 2* */ 153Bool 154XFixesRegionInit (void); 155 156int 157ProcXFixesCreateRegion (ClientPtr client); 158 159int 160SProcXFixesCreateRegion (ClientPtr client); 161 162int 163ProcXFixesCreateRegionFromBitmap (ClientPtr client); 164 165int 166SProcXFixesCreateRegionFromBitmap (ClientPtr client); 167 168int 169ProcXFixesCreateRegionFromWindow (ClientPtr client); 170 171int 172SProcXFixesCreateRegionFromWindow (ClientPtr client); 173 174int 175ProcXFixesCreateRegionFromGC (ClientPtr client); 176 177int 178SProcXFixesCreateRegionFromGC (ClientPtr client); 179 180int 181ProcXFixesCreateRegionFromPicture (ClientPtr client); 182 183int 184SProcXFixesCreateRegionFromPicture (ClientPtr client); 185 186int 187ProcXFixesDestroyRegion (ClientPtr client); 188 189int 190SProcXFixesDestroyRegion (ClientPtr client); 191 192int 193ProcXFixesSetRegion (ClientPtr client); 194 195int 196SProcXFixesSetRegion (ClientPtr client); 197 198int 199ProcXFixesCopyRegion (ClientPtr client); 200 201int 202SProcXFixesCopyRegion (ClientPtr client); 203 204int 205ProcXFixesCombineRegion (ClientPtr client); 206 207int 208SProcXFixesCombineRegion (ClientPtr client); 209 210int 211ProcXFixesInvertRegion (ClientPtr client); 212 213int 214SProcXFixesInvertRegion (ClientPtr client); 215 216int 217ProcXFixesTranslateRegion (ClientPtr client); 218 219int 220SProcXFixesTranslateRegion (ClientPtr client); 221 222int 223ProcXFixesRegionExtents (ClientPtr client); 224 225int 226SProcXFixesRegionExtents (ClientPtr client); 227 228int 229ProcXFixesFetchRegion (ClientPtr client); 230 231int 232SProcXFixesFetchRegion (ClientPtr client); 233 234int 235ProcXFixesSetGCClipRegion (ClientPtr client); 236 237int 238SProcXFixesSetGCClipRegion (ClientPtr client); 239 240int 241ProcXFixesSetWindowShapeRegion (ClientPtr client); 242 243int 244SProcXFixesSetWindowShapeRegion (ClientPtr client); 245 246int 247ProcXFixesSetPictureClipRegion (ClientPtr client); 248 249int 250SProcXFixesSetPictureClipRegion (ClientPtr client); 251 252int 253ProcXFixesExpandRegion (ClientPtr client); 254 255int 256SProcXFixesExpandRegion (ClientPtr client); 257 258/* Cursor Visibility (Version 4) */ 259 260int 261ProcXFixesHideCursor (ClientPtr client); 262 263int 264SProcXFixesHideCursor (ClientPtr client); 265 266int 267ProcXFixesShowCursor (ClientPtr client); 268 269int 270SProcXFixesShowCursor (ClientPtr client); 271 272#endif /* _XFIXESINT_H_ */ 273