xfixesint.h revision 4642e01f
105b261ecSmrg/*
205b261ecSmrg * Copyright © 2006 Sun Microsystems
305b261ecSmrg *
405b261ecSmrg * Permission to use, copy, modify, distribute, and sell this software and its
505b261ecSmrg * documentation for any purpose is hereby granted without fee, provided that
605b261ecSmrg * the above copyright notice appear in all copies and that both that
705b261ecSmrg * copyright notice and this permission notice appear in supporting
805b261ecSmrg * documentation, and that the name of Sun Microsystems not be used in
905b261ecSmrg * advertising or publicity pertaining to distribution of the software without
1005b261ecSmrg * specific, written prior permission.  Sun Microsystems makes no
1105b261ecSmrg * representations about the suitability of this software for any purpose.  It
1205b261ecSmrg * is provided "as is" without express or implied warranty.
1305b261ecSmrg *
1405b261ecSmrg * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1505b261ecSmrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
1605b261ecSmrg * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1705b261ecSmrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
1805b261ecSmrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1905b261ecSmrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2005b261ecSmrg * PERFORMANCE OF THIS SOFTWARE.
2105b261ecSmrg *
2205b261ecSmrg * Copyright © 2002 Keith Packard
2305b261ecSmrg *
2405b261ecSmrg * Permission to use, copy, modify, distribute, and sell this software and its
2505b261ecSmrg * documentation for any purpose is hereby granted without fee, provided that
2605b261ecSmrg * the above copyright notice appear in all copies and that both that
2705b261ecSmrg * copyright notice and this permission notice appear in supporting
2805b261ecSmrg * documentation, and that the name of Keith Packard not be used in
2905b261ecSmrg * advertising or publicity pertaining to distribution of the software without
3005b261ecSmrg * specific, written prior permission.  Keith Packard makes no
3105b261ecSmrg * representations about the suitability of this software for any purpose.  It
3205b261ecSmrg * is provided "as is" without express or implied warranty.
3305b261ecSmrg *
3405b261ecSmrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
3505b261ecSmrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
3605b261ecSmrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
3705b261ecSmrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
3805b261ecSmrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
3905b261ecSmrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
4005b261ecSmrg * PERFORMANCE OF THIS SOFTWARE.
4105b261ecSmrg */
4205b261ecSmrg
4305b261ecSmrg#ifdef HAVE_DIX_CONFIG_H
4405b261ecSmrg#include <dix-config.h>
4505b261ecSmrg#endif
4605b261ecSmrg
4705b261ecSmrg#ifndef _XFIXESINT_H_
4805b261ecSmrg#define _XFIXESINT_H_
4905b261ecSmrg
5005b261ecSmrg#define NEED_EVENTS
5105b261ecSmrg#include <X11/X.h>
5205b261ecSmrg#include <X11/Xproto.h>
5305b261ecSmrg#include "misc.h"
5405b261ecSmrg#include "os.h"
5505b261ecSmrg#include "dixstruct.h"
5605b261ecSmrg#include "extnsionst.h"
5705b261ecSmrg#include <X11/extensions/xfixesproto.h>
5805b261ecSmrg#include "windowstr.h"
5905b261ecSmrg#include "selection.h"
6005b261ecSmrg#include "xfixes.h"
6105b261ecSmrg
6205b261ecSmrgextern int		XFixesEventBase;
6305b261ecSmrg
6405b261ecSmrgtypedef struct _XFixesClient {
6505b261ecSmrg    CARD32	major_version;
6605b261ecSmrg    CARD32	minor_version;
6705b261ecSmrg} XFixesClientRec, *XFixesClientPtr;
6805b261ecSmrg
694642e01fSmrg#define GetXFixesClient(pClient) ((XFixesClientPtr)dixLookupPrivate(&(pClient)->devPrivates, XFixesClientPrivateKey))
7005b261ecSmrg
7105b261ecSmrgextern int	(*ProcXFixesVector[XFixesNumberRequests])(ClientPtr);
7205b261ecSmrg
7305b261ecSmrg/* Initialize extension at server startup time */
7405b261ecSmrg
7505b261ecSmrgvoid
7605b261ecSmrgXFixesExtensionInit(void);
7705b261ecSmrg
7805b261ecSmrg/* Save set */
7905b261ecSmrgint
8005b261ecSmrgProcXFixesChangeSaveSet(ClientPtr client);
8105b261ecSmrg
8205b261ecSmrgint
8305b261ecSmrgSProcXFixesChangeSaveSet(ClientPtr client);
8405b261ecSmrg
8505b261ecSmrg/* Selection events */
8605b261ecSmrgint
8705b261ecSmrgProcXFixesSelectSelectionInput (ClientPtr client);
8805b261ecSmrg
8905b261ecSmrgint
9005b261ecSmrgSProcXFixesSelectSelectionInput (ClientPtr client);
9105b261ecSmrg
9205b261ecSmrgvoid
9305b261ecSmrgSXFixesSelectionNotifyEvent (xXFixesSelectionNotifyEvent *from,
9405b261ecSmrg			     xXFixesSelectionNotifyEvent *to);
9505b261ecSmrgBool
9605b261ecSmrgXFixesSelectionInit (void);
9705b261ecSmrg
9805b261ecSmrg/* Cursor notification */
9905b261ecSmrgBool
10005b261ecSmrgXFixesCursorInit (void);
10105b261ecSmrg
10205b261ecSmrgint
10305b261ecSmrgProcXFixesSelectCursorInput (ClientPtr client);
10405b261ecSmrg
10505b261ecSmrgint
10605b261ecSmrgSProcXFixesSelectCursorInput (ClientPtr client);
10705b261ecSmrg
10805b261ecSmrgvoid
10905b261ecSmrgSXFixesCursorNotifyEvent (xXFixesCursorNotifyEvent *from,
11005b261ecSmrg			  xXFixesCursorNotifyEvent *to);
11105b261ecSmrg
11205b261ecSmrgint
11305b261ecSmrgProcXFixesGetCursorImage (ClientPtr client);
11405b261ecSmrg
11505b261ecSmrgint
11605b261ecSmrgSProcXFixesGetCursorImage (ClientPtr client);
11705b261ecSmrg
11805b261ecSmrg/* Cursor names (Version 2) */
11905b261ecSmrg
12005b261ecSmrgint
12105b261ecSmrgProcXFixesSetCursorName (ClientPtr client);
12205b261ecSmrg
12305b261ecSmrgint
12405b261ecSmrgSProcXFixesSetCursorName (ClientPtr client);
12505b261ecSmrg
12605b261ecSmrgint
12705b261ecSmrgProcXFixesGetCursorName (ClientPtr client);
12805b261ecSmrg
12905b261ecSmrgint
13005b261ecSmrgSProcXFixesGetCursorName (ClientPtr client);
13105b261ecSmrg
13205b261ecSmrgint
13305b261ecSmrgProcXFixesGetCursorImageAndName (ClientPtr client);
13405b261ecSmrg
13505b261ecSmrgint
13605b261ecSmrgSProcXFixesGetCursorImageAndName (ClientPtr client);
13705b261ecSmrg
13805b261ecSmrg/* Cursor replacement (Version 2) */
13905b261ecSmrg
14005b261ecSmrgint
14105b261ecSmrgProcXFixesChangeCursor (ClientPtr client);
14205b261ecSmrg
14305b261ecSmrgint
14405b261ecSmrgSProcXFixesChangeCursor (ClientPtr client);
14505b261ecSmrg
14605b261ecSmrgint
14705b261ecSmrgProcXFixesChangeCursorByName (ClientPtr client);
14805b261ecSmrg
14905b261ecSmrgint
15005b261ecSmrgSProcXFixesChangeCursorByName (ClientPtr client);
15105b261ecSmrg
15205b261ecSmrg/* Region objects (Version 2* */
15305b261ecSmrgBool
15405b261ecSmrgXFixesRegionInit (void);
15505b261ecSmrg
15605b261ecSmrgint
15705b261ecSmrgProcXFixesCreateRegion (ClientPtr client);
15805b261ecSmrg
15905b261ecSmrgint
16005b261ecSmrgSProcXFixesCreateRegion (ClientPtr client);
16105b261ecSmrg
16205b261ecSmrgint
16305b261ecSmrgProcXFixesCreateRegionFromBitmap (ClientPtr client);
16405b261ecSmrg
16505b261ecSmrgint
16605b261ecSmrgSProcXFixesCreateRegionFromBitmap (ClientPtr client);
16705b261ecSmrg
16805b261ecSmrgint
16905b261ecSmrgProcXFixesCreateRegionFromWindow (ClientPtr client);
17005b261ecSmrg
17105b261ecSmrgint
17205b261ecSmrgSProcXFixesCreateRegionFromWindow (ClientPtr client);
17305b261ecSmrg
17405b261ecSmrgint
17505b261ecSmrgProcXFixesCreateRegionFromGC (ClientPtr client);
17605b261ecSmrg
17705b261ecSmrgint
17805b261ecSmrgSProcXFixesCreateRegionFromGC (ClientPtr client);
17905b261ecSmrg
18005b261ecSmrgint
18105b261ecSmrgProcXFixesCreateRegionFromPicture (ClientPtr client);
18205b261ecSmrg
18305b261ecSmrgint
18405b261ecSmrgSProcXFixesCreateRegionFromPicture (ClientPtr client);
18505b261ecSmrg
18605b261ecSmrgint
18705b261ecSmrgProcXFixesDestroyRegion (ClientPtr client);
18805b261ecSmrg
18905b261ecSmrgint
19005b261ecSmrgSProcXFixesDestroyRegion (ClientPtr client);
19105b261ecSmrg
19205b261ecSmrgint
19305b261ecSmrgProcXFixesSetRegion (ClientPtr client);
19405b261ecSmrg
19505b261ecSmrgint
19605b261ecSmrgSProcXFixesSetRegion (ClientPtr client);
19705b261ecSmrg
19805b261ecSmrgint
19905b261ecSmrgProcXFixesCopyRegion (ClientPtr client);
20005b261ecSmrg
20105b261ecSmrgint
20205b261ecSmrgSProcXFixesCopyRegion (ClientPtr client);
20305b261ecSmrg
20405b261ecSmrgint
20505b261ecSmrgProcXFixesCombineRegion (ClientPtr client);
20605b261ecSmrg
20705b261ecSmrgint
20805b261ecSmrgSProcXFixesCombineRegion (ClientPtr client);
20905b261ecSmrg
21005b261ecSmrgint
21105b261ecSmrgProcXFixesInvertRegion (ClientPtr client);
21205b261ecSmrg
21305b261ecSmrgint
21405b261ecSmrgSProcXFixesInvertRegion (ClientPtr client);
21505b261ecSmrg
21605b261ecSmrgint
21705b261ecSmrgProcXFixesTranslateRegion (ClientPtr client);
21805b261ecSmrg
21905b261ecSmrgint
22005b261ecSmrgSProcXFixesTranslateRegion (ClientPtr client);
22105b261ecSmrg
22205b261ecSmrgint
22305b261ecSmrgProcXFixesRegionExtents (ClientPtr client);
22405b261ecSmrg
22505b261ecSmrgint
22605b261ecSmrgSProcXFixesRegionExtents (ClientPtr client);
22705b261ecSmrg
22805b261ecSmrgint
22905b261ecSmrgProcXFixesFetchRegion (ClientPtr client);
23005b261ecSmrg
23105b261ecSmrgint
23205b261ecSmrgSProcXFixesFetchRegion (ClientPtr client);
23305b261ecSmrg
23405b261ecSmrgint
23505b261ecSmrgProcXFixesSetGCClipRegion (ClientPtr client);
23605b261ecSmrg
23705b261ecSmrgint
23805b261ecSmrgSProcXFixesSetGCClipRegion (ClientPtr client);
23905b261ecSmrg
24005b261ecSmrgint
24105b261ecSmrgProcXFixesSetWindowShapeRegion (ClientPtr client);
24205b261ecSmrg
24305b261ecSmrgint
24405b261ecSmrgSProcXFixesSetWindowShapeRegion (ClientPtr client);
24505b261ecSmrg
24605b261ecSmrgint
24705b261ecSmrgProcXFixesSetPictureClipRegion (ClientPtr client);
24805b261ecSmrg
24905b261ecSmrgint
25005b261ecSmrgSProcXFixesSetPictureClipRegion (ClientPtr client);
25105b261ecSmrg
25205b261ecSmrgint
25305b261ecSmrgProcXFixesExpandRegion (ClientPtr client);
25405b261ecSmrg
25505b261ecSmrgint
25605b261ecSmrgSProcXFixesExpandRegion (ClientPtr client);
25705b261ecSmrg
25805b261ecSmrg/* Cursor Visibility (Version 4) */
25905b261ecSmrg
26005b261ecSmrgint
26105b261ecSmrgProcXFixesHideCursor (ClientPtr client);
26205b261ecSmrg
26305b261ecSmrgint
26405b261ecSmrgSProcXFixesHideCursor (ClientPtr client);
26505b261ecSmrg
26605b261ecSmrgint
26705b261ecSmrgProcXFixesShowCursor (ClientPtr client);
26805b261ecSmrg
26905b261ecSmrgint
27005b261ecSmrgSProcXFixesShowCursor (ClientPtr client);
27105b261ecSmrg
27205b261ecSmrg#endif /* _XFIXESINT_H_ */
273