xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

xfixesint.h (7471B)


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