xfixesint.h revision ed6184df
1/* 2 * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. 3 * Copyright 2010, 2021 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 * Copyright © 2002 Keith Packard 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 45#ifdef HAVE_DIX_CONFIG_H 46#include <dix-config.h> 47#endif 48 49#ifndef _XFIXESINT_H_ 50#define _XFIXESINT_H_ 51 52#include <X11/X.h> 53#include <X11/Xproto.h> 54#include "misc.h" 55#include "os.h" 56#include "dixstruct.h" 57#include "extnsionst.h" 58#include <X11/extensions/xfixesproto.h> 59#include "windowstr.h" 60#include "selection.h" 61#include "xfixes.h" 62 63extern int XFixesEventBase; 64 65typedef struct _XFixesClient { 66 CARD32 major_version; 67} XFixesClientRec, *XFixesClientPtr; 68 69#define GetXFixesClient(pClient) ((XFixesClientPtr)dixLookupPrivate(&(pClient)->devPrivates, XFixesClientPrivateKey)) 70 71extern int (*ProcXFixesVector[XFixesNumberRequests]) (ClientPtr); 72 73/* Save set */ 74int 75 ProcXFixesChangeSaveSet(ClientPtr client); 76 77int 78 SProcXFixesChangeSaveSet(ClientPtr client); 79 80/* Selection events */ 81int 82 ProcXFixesSelectSelectionInput(ClientPtr client); 83 84int 85 SProcXFixesSelectSelectionInput(ClientPtr client); 86 87void 88 89SXFixesSelectionNotifyEvent(xXFixesSelectionNotifyEvent * from, 90 xXFixesSelectionNotifyEvent * to); 91Bool 92 XFixesSelectionInit(void); 93 94/* Cursor notification */ 95Bool 96 XFixesCursorInit(void); 97 98int 99 ProcXFixesSelectCursorInput(ClientPtr client); 100 101int 102 SProcXFixesSelectCursorInput(ClientPtr client); 103 104void 105 106SXFixesCursorNotifyEvent(xXFixesCursorNotifyEvent * from, 107 xXFixesCursorNotifyEvent * to); 108 109int 110 ProcXFixesGetCursorImage(ClientPtr client); 111 112int 113 SProcXFixesGetCursorImage(ClientPtr client); 114 115/* Cursor names (Version 2) */ 116 117int 118 ProcXFixesSetCursorName(ClientPtr client); 119 120int 121 SProcXFixesSetCursorName(ClientPtr client); 122 123int 124 ProcXFixesGetCursorName(ClientPtr client); 125 126int 127 SProcXFixesGetCursorName(ClientPtr client); 128 129int 130 ProcXFixesGetCursorImageAndName(ClientPtr client); 131 132int 133 SProcXFixesGetCursorImageAndName(ClientPtr client); 134 135/* Cursor replacement (Version 2) */ 136 137int 138 ProcXFixesChangeCursor(ClientPtr client); 139 140int 141 SProcXFixesChangeCursor(ClientPtr client); 142 143int 144 ProcXFixesChangeCursorByName(ClientPtr client); 145 146int 147 SProcXFixesChangeCursorByName(ClientPtr client); 148 149/* Region objects (Version 2* */ 150Bool 151 XFixesRegionInit(void); 152 153int 154 ProcXFixesCreateRegion(ClientPtr client); 155 156int 157 SProcXFixesCreateRegion(ClientPtr client); 158 159int 160 ProcXFixesCreateRegionFromBitmap(ClientPtr client); 161 162int 163 SProcXFixesCreateRegionFromBitmap(ClientPtr client); 164 165int 166 ProcXFixesCreateRegionFromWindow(ClientPtr client); 167 168int 169 SProcXFixesCreateRegionFromWindow(ClientPtr client); 170 171int 172 ProcXFixesCreateRegionFromGC(ClientPtr client); 173 174int 175 SProcXFixesCreateRegionFromGC(ClientPtr client); 176 177int 178 ProcXFixesCreateRegionFromPicture(ClientPtr client); 179 180int 181 SProcXFixesCreateRegionFromPicture(ClientPtr client); 182 183int 184 ProcXFixesDestroyRegion(ClientPtr client); 185 186int 187 SProcXFixesDestroyRegion(ClientPtr client); 188 189int 190 ProcXFixesSetRegion(ClientPtr client); 191 192int 193 SProcXFixesSetRegion(ClientPtr client); 194 195int 196 ProcXFixesCopyRegion(ClientPtr client); 197 198int 199 SProcXFixesCopyRegion(ClientPtr client); 200 201int 202 ProcXFixesCombineRegion(ClientPtr client); 203 204int 205 SProcXFixesCombineRegion(ClientPtr client); 206 207int 208 ProcXFixesInvertRegion(ClientPtr client); 209 210int 211 SProcXFixesInvertRegion(ClientPtr client); 212 213int 214 ProcXFixesTranslateRegion(ClientPtr client); 215 216int 217 SProcXFixesTranslateRegion(ClientPtr client); 218 219int 220 ProcXFixesRegionExtents(ClientPtr client); 221 222int 223 SProcXFixesRegionExtents(ClientPtr client); 224 225int 226 ProcXFixesFetchRegion(ClientPtr client); 227 228int 229 SProcXFixesFetchRegion(ClientPtr client); 230 231int 232 ProcXFixesSetGCClipRegion(ClientPtr client); 233 234int 235 SProcXFixesSetGCClipRegion(ClientPtr client); 236 237int 238 ProcXFixesSetWindowShapeRegion(ClientPtr client); 239 240int 241 SProcXFixesSetWindowShapeRegion(ClientPtr client); 242 243int 244 ProcXFixesSetPictureClipRegion(ClientPtr client); 245 246int 247 SProcXFixesSetPictureClipRegion(ClientPtr client); 248 249int 250 ProcXFixesExpandRegion(ClientPtr client); 251 252int 253 SProcXFixesExpandRegion(ClientPtr client); 254 255int 256 PanoramiXFixesSetGCClipRegion(ClientPtr client); 257 258int 259 PanoramiXFixesSetWindowShapeRegion(ClientPtr client); 260 261int 262 PanoramiXFixesSetPictureClipRegion(ClientPtr client); 263 264/* Cursor Visibility (Version 4) */ 265 266int 267 ProcXFixesHideCursor(ClientPtr client); 268 269int 270 SProcXFixesHideCursor(ClientPtr client); 271 272int 273 ProcXFixesShowCursor(ClientPtr client); 274 275int 276 SProcXFixesShowCursor(ClientPtr client); 277 278/* Version 5 */ 279 280int 281 ProcXFixesCreatePointerBarrier(ClientPtr client); 282 283int 284 SProcXFixesCreatePointerBarrier(ClientPtr client); 285 286int 287 ProcXFixesDestroyPointerBarrier(ClientPtr client); 288 289int 290 SProcXFixesDestroyPointerBarrier(ClientPtr client); 291 292/* Version 6 */ 293 294Bool 295 XFixesClientDisconnectInit(void); 296 297int 298 ProcXFixesSetClientDisconnectMode(ClientPtr client); 299 300int 301 ProcXFixesGetClientDisconnectMode(ClientPtr client); 302 303int 304 SProcXFixesSetClientDisconnectMode(ClientPtr client); 305 306int 307 SProcXFixesGetClientDisconnectMode(ClientPtr client); 308 309Bool 310 XFixesShouldDisconnectClient(ClientPtr client); 311 312/* Xinerama */ 313#ifdef PANORAMIX 314extern int (*PanoramiXSaveXFixesVector[XFixesNumberRequests]) (ClientPtr); 315void PanoramiXFixesInit(void); 316void PanoramiXFixesReset(void); 317#endif 318 319#endif /* _XFIXESINT_H_ */ 320