Root/
Source at commit 1166 created 13 years 10 days ago. By meklort, Fixed recent Makefile changes. Please do not use /Users/evan/SourceCode/tmp/chameleon/trunk or VPATH. the *only* time you should use /Users/evan/SourceCode/tmp/chameleon/trunk is when setting the SRCROOT variable. Also note that very soon make pkg is going to be removed. The pkg build script in trunk is very out of date. Instead please use the package maker at http://forge.voodooprojects.org/p/chameleonApplications/. Once this is ready for trunk it will be merged. | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 1999-2000 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * The contents of this file constitute Original Code as defined in and␊ |
7 | * are subject to the Apple Public Source License Version 1.1 (the␊ |
8 | * "License"). You may not use this file except in compliance with the␊ |
9 | * License. Please obtain a copy of the License at␊ |
10 | * http://www.apple.com/publicsource and read it before using this file.␊ |
11 | * ␊ |
12 | * This Original Code and all software distributed under the License are␊ |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the␊ |
17 | * License for the specific language governing rights and limitations␊ |
18 | * under the License.␊ |
19 | * ␊ |
20 | * @APPLE_LICENSE_HEADER_END@␊ |
21 | */␊ |
22 | ␊ |
23 | #ifndef _IOKIT_IOGRAPHICSINTERFACETYPES_H␊ |
24 | #define _IOKIT_IOGRAPHICSINTERFACETYPES_H␊ |
25 | ␊ |
26 | #include <IOKit/graphics/IOAccelSurfaceConnect.h>␊ |
27 | ␊ |
28 | #define IO_FOUR_CHAR_CODE(x) (x)␊ |
29 | ␊ |
30 | typedef UInt32 IOFourCharCode;␊ |
31 | ␊ |
32 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */␊ |
33 | ␊ |
34 | #define kCurrentGraphicsInterfaceVersion 1␊ |
35 | #define kCurrentGraphicsInterfaceRevision 2␊ |
36 | ␊ |
37 | ␊ |
38 | #ifdef IOGA_COMPAT␊ |
39 | typedef SInt32 IOBlitCompletionToken;␊ |
40 | #endif␊ |
41 | ␊ |
42 | typedef UInt32 IOBlitType;␊ |
43 | enum {␊ |
44 | kIOBlitTypeVerbMask = 0x000000ff,␊ |
45 | kIOBlitTypeRects = 0,␊ |
46 | kIOBlitTypeCopyRects,␊ |
47 | kIOBlitTypeLines,␊ |
48 | kIOBlitTypeScanlines,␊ |
49 | kIOBlitTypeCopyRegion,␊ |
50 | ␊ |
51 | kIOBlitTypeMoveCursor,␊ |
52 | kIOBlitTypeShowCursor,␊ |
53 | kIOBlitTypeHideCursor,␊ |
54 | ␊ |
55 | kIOBlitTypeMonoExpand = 0x00000100,␊ |
56 | kIOBlitTypeColorSpaceConvert = 0x00000200,␊ |
57 | kIOBlitTypeScale = 0x00000400,␊ |
58 | ␊ |
59 | kIOBlitTypeSourceKeyColorModeMask = 0x00003000,␊ |
60 | kIOBlitTypeDestKeyColorModeMask = 0x0000c000,␊ |
61 | kIOBlitTypeSourceKeyColorEqual = 0x00001000,␊ |
62 | kIOBlitTypeSourceKeyColorNotEqual = 0x00002000,␊ |
63 | kIOBlitTypeDestKeyColorEqual = 0x00004000,␊ |
64 | kIOBlitTypeDestKeyColorNotEqual = 0x00008000,␊ |
65 | ␊ |
66 | kIOBlitTypeOperationMask = 0x0fff0000,␊ |
67 | kIOBlitTypeOperationShift = 16,␊ |
68 | kIOBlitTypeOperationTypeMask = 0x0f000000,␊ |
69 | ␊ |
70 | kIOBlitTypeOperationType0 = 0x00000000,␊ |
71 | kIOBlitCopyOperation = 0x00000000 | kIOBlitTypeOperationType0,␊ |
72 | kIOBlitOrOperation = 0x00010000 | kIOBlitTypeOperationType0,␊ |
73 | kIOBlitXorOperation = 0x00020000 | kIOBlitTypeOperationType0,␊ |
74 | kIOBlitBlendOperation = 0x00030000 | kIOBlitTypeOperationType0,␊ |
75 | kIOBlitHighlightOperation = 0x00040000 | kIOBlitTypeOperationType0␊ |
76 | };␊ |
77 | ␊ |
78 | typedef UInt32 IOBlitSourceType;␊ |
79 | enum {␊ |
80 | kIOBlitSourceDefault = 0x00000000,␊ |
81 | kIOBlitSourceFramebuffer = 0x00001000,␊ |
82 | kIOBlitSourceMemory = 0x00002000,␊ |
83 | kIOBlitSourceOOLMemory = 0x00003000,␊ |
84 | kIOBlitSourcePattern = 0x00004000,␊ |
85 | kIOBlitSourceOOLPattern = 0x00005000,␊ |
86 | kIOBlitSourceSolid = 0x00006000,␊ |
87 | kIOBlitSourceCGSSurface = 0x00007000,␊ |
88 | kIOBlitSourceIsSame = 0x80000000␊ |
89 | };␊ |
90 | ␊ |
91 | #ifdef IOGA_COMPAT␊ |
92 | typedef IOBlitSourceType IOBlitSourceDestType;␊ |
93 | enum {␊ |
94 | kIOBlitDestFramebuffer = 0x00000001␊ |
95 | };␊ |
96 | #endif␊ |
97 | ␊ |
98 | typedef struct IOBlitOperationStruct {␊ |
99 | UInt32 color0;␊ |
100 | UInt32 color1;␊ |
101 | SInt32 offsetX;␊ |
102 | SInt32 offsetY;␊ |
103 | UInt32 sourceKeyColor;␊ |
104 | UInt32 destKeyColor;␊ |
105 | UInt32 specific[16];␊ |
106 | } IOBlitOperation;␊ |
107 | ␊ |
108 | typedef struct IOBlitRectangleStruct {␊ |
109 | SInt32 x;␊ |
110 | SInt32 y;␊ |
111 | SInt32 width;␊ |
112 | SInt32 height;␊ |
113 | } IOBlitRectangle;␊ |
114 | ␊ |
115 | typedef struct IOBlitRectanglesStruct {␊ |
116 | IOBlitOperation operation;␊ |
117 | IOItemCount count;␊ |
118 | IOBlitRectangle rects[1];␊ |
119 | } IOBlitRectangles;␊ |
120 | ␊ |
121 | typedef struct IOBlitCopyRectangleStruct {␊ |
122 | SInt32 sourceX;␊ |
123 | SInt32 sourceY;␊ |
124 | SInt32 x;␊ |
125 | SInt32 y;␊ |
126 | SInt32 width;␊ |
127 | SInt32 height;␊ |
128 | } IOBlitCopyRectangle;␊ |
129 | ␊ |
130 | typedef struct IOBlitCopyRectanglesStruct {␊ |
131 | IOBlitOperation operation;␊ |
132 | IOItemCount count;␊ |
133 | IOBlitCopyRectangle rects[1];␊ |
134 | } IOBlitCopyRectangles;␊ |
135 | ␊ |
136 | ␊ |
137 | typedef struct IOBlitCopyRegionStruct {␊ |
138 | IOBlitOperation operation;␊ |
139 | SInt32 deltaX;␊ |
140 | SInt32 deltaY;␊ |
141 | IOAccelDeviceRegion * region;␊ |
142 | } IOBlitCopyRegion;␊ |
143 | ␊ |
144 | ␊ |
145 | typedef struct IOBlitVertexStruct {␊ |
146 | SInt32 x;␊ |
147 | SInt32 y;␊ |
148 | } IOBlitVertex;␊ |
149 | ␊ |
150 | typedef struct IOBlitVerticesStruct {␊ |
151 | IOBlitOperation operation;␊ |
152 | IOItemCount count;␊ |
153 | IOBlitVertex vertices[2];␊ |
154 | } IOBlitVertices;␊ |
155 | ␊ |
156 | typedef struct IOBlitScanlinesStruct {␊ |
157 | IOBlitOperation operation;␊ |
158 | IOItemCount count;␊ |
159 | SInt32 y;␊ |
160 | SInt32 height;␊ |
161 | SInt32 x[2];␊ |
162 | } IOBlitScanlines;␊ |
163 | ␊ |
164 | ␊ |
165 | typedef struct IOBlitCursorStruct {␊ |
166 | IOBlitOperation operation;␊ |
167 | IOBlitRectangle rect;␊ |
168 | } IOBlitCursor;␊ |
169 | ␊ |
170 | typedef struct _IOBlitMemory * IOBlitMemoryRef;␊ |
171 | ␊ |
172 | ␊ |
173 | /* Quickdraw.h pixel formats*/␊ |
174 | ␊ |
175 | enum {␊ |
176 | kIO1MonochromePixelFormat = 0x00000001, /* 1 bit indexed*/␊ |
177 | kIO2IndexedPixelFormat = 0x00000002, /* 2 bit indexed*/␊ |
178 | kIO4IndexedPixelFormat = 0x00000004, /* 4 bit indexed*/␊ |
179 | kIO8IndexedPixelFormat = 0x00000008, /* 8 bit indexed*/␊ |
180 | kIO16BE555PixelFormat = 0x00000010, /* 16 bit BE rgb 555 (Mac)*/␊ |
181 | kIO24RGBPixelFormat = 0x00000018, /* 24 bit rgb */␊ |
182 | kIO32ARGBPixelFormat = 0x00000020, /* 32 bit argb (Mac)*/␊ |
183 | kIO1IndexedGrayPixelFormat = 0x00000021, /* 1 bit indexed gray*/␊ |
184 | kIO2IndexedGrayPixelFormat = 0x00000022, /* 2 bit indexed gray*/␊ |
185 | kIO4IndexedGrayPixelFormat = 0x00000024, /* 4 bit indexed gray*/␊ |
186 | kIO8IndexedGrayPixelFormat = 0x00000028 /* 8 bit indexed gray*/␊ |
187 | };␊ |
188 | ␊ |
189 | enum {␊ |
190 | kIO16LE555PixelFormat = IO_FOUR_CHAR_CODE('L555'), /* 16 bit LE rgb 555 (PC)*/␊ |
191 | kIO16LE5551PixelFormat = IO_FOUR_CHAR_CODE('5551'), /* 16 bit LE rgb 5551*/␊ |
192 | kIO16BE565PixelFormat = IO_FOUR_CHAR_CODE('B565'), /* 16 bit BE rgb 565*/␊ |
193 | kIO16LE565PixelFormat = IO_FOUR_CHAR_CODE('L565'), /* 16 bit LE rgb 565*/␊ |
194 | kIO24BGRPixelFormat = IO_FOUR_CHAR_CODE('24BG'), /* 24 bit bgr */␊ |
195 | kIO32BGRAPixelFormat = IO_FOUR_CHAR_CODE('BGRA'), /* 32 bit bgra (Matrox)*/␊ |
196 | kIO32ABGRPixelFormat = IO_FOUR_CHAR_CODE('ABGR'), /* 32 bit abgr */␊ |
197 | kIO32RGBAPixelFormat = IO_FOUR_CHAR_CODE('RGBA'), /* 32 bit rgba */␊ |
198 | kIOYUVSPixelFormat = IO_FOUR_CHAR_CODE('yuvs'), /* YUV 4:2:2 byte ordering 16-unsigned = 'YUY2'*/␊ |
199 | kIOYUVUPixelFormat = IO_FOUR_CHAR_CODE('yuvu'), /* YUV 4:2:2 byte ordering 16-signed*/␊ |
200 | kIOYVU9PixelFormat = IO_FOUR_CHAR_CODE('YVU9'), /* YVU9 Planar 9*/␊ |
201 | kIOYUV411PixelFormat = IO_FOUR_CHAR_CODE('Y411'), /* YUV 4:1:1 Interleaved 16*/␊ |
202 | kIOYVYU422PixelFormat = IO_FOUR_CHAR_CODE('YVYU'), /* YVYU 4:2:2 byte ordering 16*/␊ |
203 | kIOUYVY422PixelFormat = IO_FOUR_CHAR_CODE('UYVY'), /* UYVY 4:2:2 byte ordering 16*/␊ |
204 | kIOYUV211PixelFormat = IO_FOUR_CHAR_CODE('Y211'), /* YUV 2:1:1 Packed 8*/␊ |
205 | kIO2vuyPixelFormat = IO_FOUR_CHAR_CODE('2vuy') /* UYVY 4:2:2 byte ordering 16*/␊ |
206 | };␊ |
207 | ␊ |
208 | /* Non Quickdraw.h pixel formats*/␊ |
209 | enum {␊ |
210 | kIO16LE4444PixelFormat = IO_FOUR_CHAR_CODE('L444'), /* 16 bit LE argb 4444*/␊ |
211 | kIO16BE4444PixelFormat = IO_FOUR_CHAR_CODE('B444'), /* 16 bit BE argb 4444*/␊ |
212 | kIO64BGRAPixelFormat = IO_FOUR_CHAR_CODE('B16I'), /* 64 bit bgra */␊ |
213 | kIO64RGBAFloatPixelFormat = IO_FOUR_CHAR_CODE('B16F'), /* 64 bit rgba */␊ |
214 | kIO128RGBAFloatPixelFormat = IO_FOUR_CHAR_CODE('B32F') /* 128 bit rgba float */␊ |
215 | };␊ |
216 | ␊ |
217 | enum {␊ |
218 | kIOBlitMemoryRequiresHostFlush = 0x00000001␊ |
219 | };␊ |
220 | ␊ |
221 | typedef struct IOBlitSurfaceStruct {␊ |
222 | union {␊ |
223 | UInt8 * bytes;␊ |
224 | IOBlitMemoryRef ref;␊ |
225 | } memory;␊ |
226 | IOFourCharCode pixelFormat;␊ |
227 | IOBlitRectangle size;␊ |
228 | UInt32 rowBytes;␊ |
229 | UInt32 byteOffset;␊ |
230 | UInt32 * palette;␊ |
231 | IOOptionBits accessFlags;␊ |
232 | IOBlitMemoryRef interfaceRef;␊ |
233 | UInt32 more[14];␊ |
234 | } IOBlitSurface;␊ |
235 | ␊ |
236 | typedef IOBlitSurface IOBlitMemory;␊ |
237 | ␊ |
238 | ␊ |
239 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */␊ |
240 | ␊ |
241 | enum {␊ |
242 | // options for Synchronize␊ |
243 | kIOBlitSynchronizeWaitBeamExit = 0x00000001,␊ |
244 | kIOBlitSynchronizeFlushHostWrites = 0x00000002␊ |
245 | };␊ |
246 | ␊ |
247 | enum {␊ |
248 | // options for WaitComplete & Flush␊ |
249 | kIOBlitWaitContext = 0x00000000,␊ |
250 | kIOBlitWaitAll2D = 0x00000001,␊ |
251 | kIOBlitWaitGlobal = 0x00000001,␊ |
252 | kIOBlitWaitAll = 0x00000002,␊ |
253 | kIOBlitWaitCheck = 0x00000080,␊ |
254 | kIOBlitFlushWithSwap = 0x00010000␊ |
255 | };␊ |
256 | ␊ |
257 | enum {␊ |
258 | // options for AllocateSurface␊ |
259 | kIOBlitHasCGSSurface = 0x00000001,␊ |
260 | kIOBlitFixedSource = 0x00000002,␊ |
261 | kIOBlitBeamSyncSwaps = 0x00000004,␊ |
262 | kIOBlitReferenceSource = 0x00000008␊ |
263 | };␊ |
264 | ␊ |
265 | enum {␊ |
266 | // options for UnlockSurface␊ |
267 | kIOBlitUnlockWithSwap = 0x80000000␊ |
268 | };␊ |
269 | ␊ |
270 | enum {␊ |
271 | // options for SetDestination␊ |
272 | kIOBlitFramebufferDestination = 0x00000000,␊ |
273 | kIOBlitSurfaceDestination = 0x00000001␊ |
274 | };␊ |
275 | ␊ |
276 | ␊ |
277 | ␊ |
278 | enum {␊ |
279 | // options for blit procs␊ |
280 | kIOBlitBeamSync = 0x00000001,␊ |
281 | kIOBlitBeamSyncAlways = 0x00000002,␊ |
282 | kIOBlitBeamSyncSpin = 0x00000004,␊ |
283 | ␊ |
284 | kIOBlitAllOptions = 0xffffffff␊ |
285 | };␊ |
286 | ␊ |
287 | enum {␊ |
288 | // capabilities␊ |
289 | kIOBlitColorSpaceTypes = IO_FOUR_CHAR_CODE('cspc')␊ |
290 | };␊ |
291 | ␊ |
292 | ␊ |
293 | // keys for IOAccelFindAccelerator()␊ |
294 | #define kIOAccelTypesKey "IOAccelTypes"␊ |
295 | #define kIOAccelIndexKey "IOAccelIndex"␊ |
296 | ␊ |
297 | #define kIOAccelRevisionKey "IOAccelRevision"␊ |
298 | ␊ |
299 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */␊ |
300 | ␊ |
301 | #endif /* !_IOKIT_IOGRAPHICSINTERFACETYPES_H */␊ |
302 |