VirtualBox

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

最後變更 在這個檔案是 51223,由 vboxsync 提交於 11 年 前

Additions/x11/x11include: added header files for X.Org Server 1.0 and 1.1.

  • 屬性 svn:eol-style 設為 native
檔案大小: 4.5 KB
 
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/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/quartz.h,v 1.3 2004/07/30 19:12:17 torrey Exp $ */
34/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartz.h,v 1.7 2003/11/12 20:21:51 torrey Exp $ */
35
36#ifndef _QUARTZ_H
37#define _QUARTZ_H
38
39#include "quartzPasteboard.h"
40
41#include "screenint.h"
42#include "window.h"
43
44/*------------------------------------------
45 Quartz display mode function types
46 ------------------------------------------*/
47
48/*
49 * Display mode initialization
50 */
51typedef void (*DisplayInitProc)(void);
52typedef Bool (*AddScreenProc)(int index, ScreenPtr pScreen);
53typedef Bool (*SetupScreenProc)(int index, ScreenPtr pScreen);
54typedef void (*InitInputProc)(int argc, char **argv);
55
56/*
57 * Cursor functions
58 */
59typedef Bool (*InitCursorProc)(ScreenPtr pScreen);
60typedef void (*CursorUpdateProc)(void);
61
62/*
63 * Suspend and resume X11 activity
64 */
65typedef void (*SuspendScreenProc)(ScreenPtr pScreen);
66typedef void (*ResumeScreenProc)(ScreenPtr pScreen, int x, int y);
67typedef void (*CaptureScreensProc)(void);
68typedef void (*ReleaseScreensProc)(void);
69
70/*
71 * Screen state change support
72 */
73typedef void (*ScreenChangedProc)(void);
74typedef void (*AddPseudoramiXScreensProc)(int *x, int *y, int *width, int *height);
75typedef void (*UpdateScreenProc)(ScreenPtr pScreen);
76
77/*
78 * Rootless helper functions
79 */
80typedef Bool (*IsX11WindowProc)(void *nsWindow, int windowNumber);
81typedef void (*HideWindowsProc)(Bool hide);
82
83/*
84 * Rootless functions for optional export to GLX layer
85 */
86typedef void * (*FrameForWindowProc)(WindowPtr pWin, Bool create);
87typedef WindowPtr (*TopLevelParentProc)(WindowPtr pWindow);
88typedef Bool (*CreateSurfaceProc)
89 (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
90 unsigned int client_id, unsigned int *surface_id,
91 unsigned int key[2], void (*notify) (void *arg, void *data),
92 void *notify_data);
93typedef Bool (*DestroySurfaceProc)
94 (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable,
95 void (*notify) (void *arg, void *data), void *notify_data);
96
97/*
98 * Quartz display mode function list
99 */
100typedef struct _QuartzModeProcs {
101 DisplayInitProc DisplayInit;
102 AddScreenProc AddScreen;
103 SetupScreenProc SetupScreen;
104 InitInputProc InitInput;
105
106 InitCursorProc InitCursor;
107 CursorUpdateProc CursorUpdate; // Not used if NULL
108
109 SuspendScreenProc SuspendScreen;
110 ResumeScreenProc ResumeScreen;
111 CaptureScreensProc CaptureScreens; // Only called in fullscreen
112 ReleaseScreensProc ReleaseScreens; // Only called in fullscreen
113
114 ScreenChangedProc ScreenChanged;
115 AddPseudoramiXScreensProc AddPseudoramiXScreens;
116 UpdateScreenProc UpdateScreen;
117
118 IsX11WindowProc IsX11Window;
119 HideWindowsProc HideWindows;
120
121 FrameForWindowProc FrameForWindow;
122 TopLevelParentProc TopLevelParent;
123 CreateSurfaceProc CreateSurface;
124 DestroySurfaceProc DestroySurface;
125} QuartzModeProcsRec, *QuartzModeProcsPtr;
126
127extern QuartzModeProcsPtr quartzProcs;
128
129Bool QuartzLoadDisplayBundle(const char *dpyBundleName);
130
131#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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