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