VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.4.2/quartz.h@ 68495

Last change on this file since 68495 was 43272, checked in by vboxsync, 12 years ago

Additions/x11: more original X server headers.

  • Property svn:eol-style set to native
File size: 4.3 KB
Line 
1/*
2 * quartz.h
3 *
4 * External interface of the Quartz display modes seen by the generic, mode
5 * independent parts of the Darwin X server.
6 */
7/*
8 * Copyright (c) 2001-2003 Greg Parker and Torrey T. Lyons.
9 * All Rights Reserved.
10 *
11 * Permission is hereby granted, free of charge, to any person obtaining a
12 * copy of this software and associated documentation files (the "Software"),
13 * to deal in the Software without restriction, including without limitation
14 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15 * and/or sell copies of the Software, and to permit persons to whom the
16 * Software is furnished to do so, subject to the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be included in
19 * all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24 * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27 * DEALINGS IN THE SOFTWARE.
28 *
29 * Except as contained in this notice, the name(s) of the above copyright
30 * holders shall not be used in advertising or otherwise to promote the sale,
31 * use or other dealings in this Software without prior written authorization.
32 */
33
34#ifndef _QUARTZ_H
35#define _QUARTZ_H
36
37#include "quartzPasteboard.h"
38
39#include "screenint.h"
40#include "window.h"
41
42/*------------------------------------------
43 Quartz display mode function types
44 ------------------------------------------*/
45
46/*
47 * Display mode initialization
48 */
49typedef void (*DisplayInitProc)(void);
50typedef Bool (*AddScreenProc)(int index, ScreenPtr pScreen);
51typedef Bool (*SetupScreenProc)(int index, ScreenPtr pScreen);
52typedef void (*InitInputProc)(int argc, char **argv);
53
54/*
55 * Cursor functions
56 */
57typedef Bool (*InitCursorProc)(ScreenPtr pScreen);
58typedef void (*CursorUpdateProc)(void);
59
60/*
61 * Suspend and resume X11 activity
62 */
63typedef void (*SuspendScreenProc)(ScreenPtr pScreen);
64typedef void (*ResumeScreenProc)(ScreenPtr pScreen, int x, int y);
65typedef void (*CaptureScreensProc)(void);
66typedef void (*ReleaseScreensProc)(void);
67
68/*
69 * Screen state change support
70 */
71typedef void (*ScreenChangedProc)(void);
72typedef void (*AddPseudoramiXScreensProc)(int *x, int *y, int *width, int *height);
73typedef void (*UpdateScreenProc)(ScreenPtr pScreen);
74
75/*
76 * Rootless helper functions
77 */
78typedef Bool (*IsX11WindowProc)(void *nsWindow, int windowNumber);
79typedef void (*HideWindowsProc)(Bool hide);
80
81/*
82 * Rootless functions for optional export to GLX layer
83 */
84typedef void * (*FrameForWindowProc)(WindowPtr pWin, Bool create);
85typedef WindowPtr (*TopLevelParentProc)(WindowPtr pWindow);
86typedef Bool (*CreateSurfaceProc)
87 (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
88 unsigned int client_id, unsigned int *surface_id,
89 unsigned int key[2], void (*notify) (void *arg, void *data),
90 void *notify_data);
91typedef Bool (*DestroySurfaceProc)
92 (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
93 void (*notify) (void *arg, void *data), void *notify_data);
94
95/*
96 * Quartz display mode function list
97 */
98typedef struct _QuartzModeProcs {
99 DisplayInitProc DisplayInit;
100 AddScreenProc AddScreen;
101 SetupScreenProc SetupScreen;
102 InitInputProc InitInput;
103
104 InitCursorProc InitCursor;
105 CursorUpdateProc CursorUpdate; // Not used if NULL
106
107 SuspendScreenProc SuspendScreen;
108 ResumeScreenProc ResumeScreen;
109 CaptureScreensProc CaptureScreens; // Only called in fullscreen
110 ReleaseScreensProc ReleaseScreens; // Only called in fullscreen
111
112 ScreenChangedProc ScreenChanged;
113 AddPseudoramiXScreensProc AddPseudoramiXScreens;
114 UpdateScreenProc UpdateScreen;
115
116 IsX11WindowProc IsX11Window;
117 HideWindowsProc HideWindows;
118
119 FrameForWindowProc FrameForWindow;
120 TopLevelParentProc TopLevelParent;
121 CreateSurfaceProc CreateSurface;
122 DestroySurfaceProc DestroySurface;
123} QuartzModeProcsRec, *QuartzModeProcsPtr;
124
125extern QuartzModeProcsPtr quartzProcs;
126
127Bool QuartzLoadDisplayBundle(const char *dpyBundleName);
128
129#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette