xfixesint.h revision 35c4bbdf
105b261ecSmrg/* 29ace9065Smrg * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. 335c4bbdfSmrg * Copyright 2010 Red Hat, Inc. 405b261ecSmrg * 56747b715Smrg * Permission is hereby granted, free of charge, to any person obtaining a 66747b715Smrg * copy of this software and associated documentation files (the "Software"), 76747b715Smrg * to deal in the Software without restriction, including without limitation 86747b715Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 96747b715Smrg * and/or sell copies of the Software, and to permit persons to whom the 106747b715Smrg * Software is furnished to do so, subject to the following conditions: 1105b261ecSmrg * 126747b715Smrg * The above copyright notice and this permission notice (including the next 136747b715Smrg * paragraph) shall be included in all copies or substantial portions of the 146747b715Smrg * Software. 156747b715Smrg * 166747b715Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 176747b715Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 186747b715Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 196747b715Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 206747b715Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 216747b715Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 226747b715Smrg * DEALINGS IN THE SOFTWARE. 2305b261ecSmrg * 2405b261ecSmrg * Copyright © 2002 Keith Packard 2505b261ecSmrg * 2605b261ecSmrg * Permission to use, copy, modify, distribute, and sell this software and its 2705b261ecSmrg * documentation for any purpose is hereby granted without fee, provided that 2805b261ecSmrg * the above copyright notice appear in all copies and that both that 2905b261ecSmrg * copyright notice and this permission notice appear in supporting 3005b261ecSmrg * documentation, and that the name of Keith Packard not be used in 3105b261ecSmrg * advertising or publicity pertaining to distribution of the software without 3205b261ecSmrg * specific, written prior permission. Keith Packard makes no 3305b261ecSmrg * representations about the suitability of this software for any purpose. It 3405b261ecSmrg * is provided "as is" without express or implied warranty. 3505b261ecSmrg * 3605b261ecSmrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 3705b261ecSmrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 3805b261ecSmrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 3905b261ecSmrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 4005b261ecSmrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 4105b261ecSmrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 4205b261ecSmrg * PERFORMANCE OF THIS SOFTWARE. 4305b261ecSmrg */ 4405b261ecSmrg 4505b261ecSmrg#ifdef HAVE_DIX_CONFIG_H 4605b261ecSmrg#include <dix-config.h> 4705b261ecSmrg#endif 4805b261ecSmrg 4905b261ecSmrg#ifndef _XFIXESINT_H_ 5005b261ecSmrg#define _XFIXESINT_H_ 5105b261ecSmrg 5205b261ecSmrg#include <X11/X.h> 5305b261ecSmrg#include <X11/Xproto.h> 5405b261ecSmrg#include "misc.h" 5505b261ecSmrg#include "os.h" 5605b261ecSmrg#include "dixstruct.h" 5705b261ecSmrg#include "extnsionst.h" 5805b261ecSmrg#include <X11/extensions/xfixesproto.h> 5905b261ecSmrg#include "windowstr.h" 6005b261ecSmrg#include "selection.h" 6105b261ecSmrg#include "xfixes.h" 6205b261ecSmrg 6335c4bbdfSmrgextern int XFixesEventBase; 6405b261ecSmrg 6505b261ecSmrgtypedef struct _XFixesClient { 6635c4bbdfSmrg CARD32 major_version; 6735c4bbdfSmrg CARD32 minor_version; 6805b261ecSmrg} XFixesClientRec, *XFixesClientPtr; 6905b261ecSmrg 704642e01fSmrg#define GetXFixesClient(pClient) ((XFixesClientPtr)dixLookupPrivate(&(pClient)->devPrivates, XFixesClientPrivateKey)) 7105b261ecSmrg 7235c4bbdfSmrgextern int (*ProcXFixesVector[XFixesNumberRequests]) (ClientPtr); 7305b261ecSmrg 7405b261ecSmrg/* Save set */ 7505b261ecSmrgint 7635c4bbdfSmrg ProcXFixesChangeSaveSet(ClientPtr client); 7735c4bbdfSmrg 7805b261ecSmrgint 7935c4bbdfSmrg SProcXFixesChangeSaveSet(ClientPtr client); 8035c4bbdfSmrg 8105b261ecSmrg/* Selection events */ 8205b261ecSmrgint 8335c4bbdfSmrg ProcXFixesSelectSelectionInput(ClientPtr client); 8405b261ecSmrg 8505b261ecSmrgint 8635c4bbdfSmrg SProcXFixesSelectSelectionInput(ClientPtr client); 8705b261ecSmrg 8805b261ecSmrgvoid 8935c4bbdfSmrg 9035c4bbdfSmrgSXFixesSelectionNotifyEvent(xXFixesSelectionNotifyEvent * from, 9135c4bbdfSmrg xXFixesSelectionNotifyEvent * to); 9205b261ecSmrgBool 9335c4bbdfSmrg XFixesSelectionInit(void); 9405b261ecSmrg 9505b261ecSmrg/* Cursor notification */ 9605b261ecSmrgBool 9735c4bbdfSmrg XFixesCursorInit(void); 9835c4bbdfSmrg 9905b261ecSmrgint 10035c4bbdfSmrg ProcXFixesSelectCursorInput(ClientPtr client); 10105b261ecSmrg 10205b261ecSmrgint 10335c4bbdfSmrg SProcXFixesSelectCursorInput(ClientPtr client); 10405b261ecSmrg 10505b261ecSmrgvoid 10635c4bbdfSmrg 10735c4bbdfSmrgSXFixesCursorNotifyEvent(xXFixesCursorNotifyEvent * from, 10835c4bbdfSmrg xXFixesCursorNotifyEvent * to); 10905b261ecSmrg 11005b261ecSmrgint 11135c4bbdfSmrg ProcXFixesGetCursorImage(ClientPtr client); 11205b261ecSmrg 11305b261ecSmrgint 11435c4bbdfSmrg SProcXFixesGetCursorImage(ClientPtr client); 11505b261ecSmrg 11605b261ecSmrg/* Cursor names (Version 2) */ 11705b261ecSmrg 11805b261ecSmrgint 11935c4bbdfSmrg ProcXFixesSetCursorName(ClientPtr client); 12005b261ecSmrg 12105b261ecSmrgint 12235c4bbdfSmrg SProcXFixesSetCursorName(ClientPtr client); 12305b261ecSmrg 12405b261ecSmrgint 12535c4bbdfSmrg ProcXFixesGetCursorName(ClientPtr client); 12605b261ecSmrg 12705b261ecSmrgint 12835c4bbdfSmrg SProcXFixesGetCursorName(ClientPtr client); 12905b261ecSmrg 13005b261ecSmrgint 13135c4bbdfSmrg ProcXFixesGetCursorImageAndName(ClientPtr client); 13205b261ecSmrg 13305b261ecSmrgint 13435c4bbdfSmrg SProcXFixesGetCursorImageAndName(ClientPtr client); 13505b261ecSmrg 13605b261ecSmrg/* Cursor replacement (Version 2) */ 13705b261ecSmrg 13805b261ecSmrgint 13935c4bbdfSmrg ProcXFixesChangeCursor(ClientPtr client); 14005b261ecSmrg 14105b261ecSmrgint 14235c4bbdfSmrg SProcXFixesChangeCursor(ClientPtr client); 14305b261ecSmrg 14405b261ecSmrgint 14535c4bbdfSmrg ProcXFixesChangeCursorByName(ClientPtr client); 14605b261ecSmrg 14705b261ecSmrgint 14835c4bbdfSmrg SProcXFixesChangeCursorByName(ClientPtr client); 14905b261ecSmrg 15005b261ecSmrg/* Region objects (Version 2* */ 15105b261ecSmrgBool 15235c4bbdfSmrg XFixesRegionInit(void); 15305b261ecSmrg 15405b261ecSmrgint 15535c4bbdfSmrg ProcXFixesCreateRegion(ClientPtr client); 15605b261ecSmrg 15705b261ecSmrgint 15835c4bbdfSmrg SProcXFixesCreateRegion(ClientPtr client); 15905b261ecSmrg 16005b261ecSmrgint 16135c4bbdfSmrg ProcXFixesCreateRegionFromBitmap(ClientPtr client); 16205b261ecSmrg 16305b261ecSmrgint 16435c4bbdfSmrg SProcXFixesCreateRegionFromBitmap(ClientPtr client); 16505b261ecSmrg 16605b261ecSmrgint 16735c4bbdfSmrg ProcXFixesCreateRegionFromWindow(ClientPtr client); 16805b261ecSmrg 16905b261ecSmrgint 17035c4bbdfSmrg SProcXFixesCreateRegionFromWindow(ClientPtr client); 17105b261ecSmrg 17205b261ecSmrgint 17335c4bbdfSmrg ProcXFixesCreateRegionFromGC(ClientPtr client); 17405b261ecSmrg 17505b261ecSmrgint 17635c4bbdfSmrg SProcXFixesCreateRegionFromGC(ClientPtr client); 17705b261ecSmrg 17805b261ecSmrgint 17935c4bbdfSmrg ProcXFixesCreateRegionFromPicture(ClientPtr client); 18005b261ecSmrg 18105b261ecSmrgint 18235c4bbdfSmrg SProcXFixesCreateRegionFromPicture(ClientPtr client); 18305b261ecSmrg 18405b261ecSmrgint 18535c4bbdfSmrg ProcXFixesDestroyRegion(ClientPtr client); 18605b261ecSmrg 18705b261ecSmrgint 18835c4bbdfSmrg SProcXFixesDestroyRegion(ClientPtr client); 18905b261ecSmrg 19005b261ecSmrgint 19135c4bbdfSmrg ProcXFixesSetRegion(ClientPtr client); 19205b261ecSmrg 19305b261ecSmrgint 19435c4bbdfSmrg SProcXFixesSetRegion(ClientPtr client); 19505b261ecSmrg 19605b261ecSmrgint 19735c4bbdfSmrg ProcXFixesCopyRegion(ClientPtr client); 19805b261ecSmrg 19905b261ecSmrgint 20035c4bbdfSmrg SProcXFixesCopyRegion(ClientPtr client); 20105b261ecSmrg 20205b261ecSmrgint 20335c4bbdfSmrg ProcXFixesCombineRegion(ClientPtr client); 20405b261ecSmrg 20505b261ecSmrgint 20635c4bbdfSmrg SProcXFixesCombineRegion(ClientPtr client); 20705b261ecSmrg 20805b261ecSmrgint 20935c4bbdfSmrg ProcXFixesInvertRegion(ClientPtr client); 21005b261ecSmrg 21105b261ecSmrgint 21235c4bbdfSmrg SProcXFixesInvertRegion(ClientPtr client); 21305b261ecSmrg 21405b261ecSmrgint 21535c4bbdfSmrg ProcXFixesTranslateRegion(ClientPtr client); 21605b261ecSmrg 21705b261ecSmrgint 21835c4bbdfSmrg SProcXFixesTranslateRegion(ClientPtr client); 21905b261ecSmrg 22005b261ecSmrgint 22135c4bbdfSmrg ProcXFixesRegionExtents(ClientPtr client); 22205b261ecSmrg 22305b261ecSmrgint 22435c4bbdfSmrg SProcXFixesRegionExtents(ClientPtr client); 22505b261ecSmrg 22605b261ecSmrgint 22735c4bbdfSmrg ProcXFixesFetchRegion(ClientPtr client); 22805b261ecSmrg 22905b261ecSmrgint 23035c4bbdfSmrg SProcXFixesFetchRegion(ClientPtr client); 23105b261ecSmrg 23205b261ecSmrgint 23335c4bbdfSmrg ProcXFixesSetGCClipRegion(ClientPtr client); 23405b261ecSmrg 23505b261ecSmrgint 23635c4bbdfSmrg SProcXFixesSetGCClipRegion(ClientPtr client); 23705b261ecSmrg 23805b261ecSmrgint 23935c4bbdfSmrg ProcXFixesSetWindowShapeRegion(ClientPtr client); 24005b261ecSmrg 24105b261ecSmrgint 24235c4bbdfSmrg SProcXFixesSetWindowShapeRegion(ClientPtr client); 24305b261ecSmrg 24405b261ecSmrgint 24535c4bbdfSmrg ProcXFixesSetPictureClipRegion(ClientPtr client); 24605b261ecSmrg 24705b261ecSmrgint 24835c4bbdfSmrg SProcXFixesSetPictureClipRegion(ClientPtr client); 24905b261ecSmrg 25005b261ecSmrgint 25135c4bbdfSmrg ProcXFixesExpandRegion(ClientPtr client); 25205b261ecSmrg 25305b261ecSmrgint 25435c4bbdfSmrg SProcXFixesExpandRegion(ClientPtr client); 25505b261ecSmrg 2569ace9065Smrgint 25735c4bbdfSmrg PanoramiXFixesSetGCClipRegion(ClientPtr client); 2589ace9065Smrg 2599ace9065Smrgint 26035c4bbdfSmrg PanoramiXFixesSetWindowShapeRegion(ClientPtr client); 2619ace9065Smrg 2629ace9065Smrgint 26335c4bbdfSmrg PanoramiXFixesSetPictureClipRegion(ClientPtr client); 2649ace9065Smrg 26505b261ecSmrg/* Cursor Visibility (Version 4) */ 26605b261ecSmrg 26735c4bbdfSmrgint 26835c4bbdfSmrg ProcXFixesHideCursor(ClientPtr client); 26935c4bbdfSmrg 27035c4bbdfSmrgint 27135c4bbdfSmrg SProcXFixesHideCursor(ClientPtr client); 27235c4bbdfSmrg 27335c4bbdfSmrgint 27435c4bbdfSmrg ProcXFixesShowCursor(ClientPtr client); 27535c4bbdfSmrg 27635c4bbdfSmrgint 27735c4bbdfSmrg SProcXFixesShowCursor(ClientPtr client); 27805b261ecSmrg 27935c4bbdfSmrg/* Version 5 */ 28005b261ecSmrg 28135c4bbdfSmrgint 28235c4bbdfSmrg ProcXFixesCreatePointerBarrier(ClientPtr client); 28305b261ecSmrg 28435c4bbdfSmrgint 28535c4bbdfSmrg SProcXFixesCreatePointerBarrier(ClientPtr client); 28605b261ecSmrg 28735c4bbdfSmrgint 28835c4bbdfSmrg ProcXFixesDestroyPointerBarrier(ClientPtr client); 28935c4bbdfSmrg 29035c4bbdfSmrgint 29135c4bbdfSmrg SProcXFixesDestroyPointerBarrier(ClientPtr client); 29235c4bbdfSmrg 29335c4bbdfSmrg/* Xinerama */ 29435c4bbdfSmrg#ifdef PANORAMIX 29535c4bbdfSmrgextern int (*PanoramiXSaveXFixesVector[XFixesNumberRequests]) (ClientPtr); 29635c4bbdfSmrgvoid PanoramiXFixesInit(void); 29735c4bbdfSmrgvoid PanoramiXFixesReset(void); 29835c4bbdfSmrg#endif 2999ace9065Smrg 30035c4bbdfSmrg#endif /* _XFIXESINT_H_ */ 301