]> git.saurik.com Git - apple/xnu.git/blob - iokit/IOKit/graphics/IOFramebufferPrivate.h
098191ec180f69d055f8c6d14b765b6653c2e515
[apple/xnu.git] / iokit / IOKit / graphics / IOFramebufferPrivate.h
1 /*
2 * Copyright (c) 1998-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 void setupCursor( IOPixelInformation * info );
23 void stopCursor( void );
24 IOReturn doSetup( bool full );
25 IOReturn createSharedCursor( int shmemVersion,
26 int maxWidth, int maxHeight );
27 IOReturn setBoundingRect( Bounds * bounds );
28 IOReturn setUserRanges( void );
29 IOReturn getConnectFlagsForDisplayMode(
30 IODisplayModeID mode, IOIndex connection, UInt32 * flags );
31 IOReturn extGetDisplayModeCount( IOItemCount * count );
32 IOReturn extGetDisplayModes( IODisplayModeID * allModes,
33 IOByteCount * size );
34 IOReturn extSetDisplayMode( IODisplayModeID displayMode,
35 IOIndex depth );
36 IOReturn extGetInformationForDisplayMode(
37 IODisplayModeID mode, IODisplayModeInformation * info );
38
39 IOReturn extGetVRAMMapOffset( IOPixelAperture aperture,
40 IOByteCount * offset );
41 IOReturn extSetBounds( Bounds * bounds );
42
43 IOReturn extSetNewCursor( void * cursor, IOIndex frame,
44 IOOptionBits options );
45 IOReturn extSetCursorVisible( bool visible );
46 IOReturn extSetCursorPosition( SInt32 x, SInt32 y );
47 IOReturn extSetColorConvertTable( UInt32 select,
48 UInt8 * data, IOByteCount length );
49 IOReturn extSetCLUTWithEntries( UInt32 index, IOOptionBits options,
50 IOColorEntry * colors, IOByteCount inputCount );
51 IOReturn makeModeList( void );
52 IOReturn getDefaultMode( IOIndex connection, IODisplayModeID * mode,
53 IOIndex * depth);
54 IOReturn extValidateDetailedTiming(
55 void * description, void * outDescription,
56 IOByteCount inSize, IOByteCount * outSize );
57 IOReturn beginSystemSleep( void * ackRef );
58
59 static inline void StdFBDisplayCursor( IOFramebuffer * inst );
60 static inline void StdFBRemoveCursor( IOFramebuffer * inst );
61 static inline void RemoveCursor( IOFramebuffer * inst );
62 static inline void DisplayCursor( IOFramebuffer * inst );
63 static inline void SysHideCursor( IOFramebuffer * inst );
64 static inline void SysShowCursor( IOFramebuffer * inst );
65 static inline void CheckShield( IOFramebuffer * inst );
66
67 static void StdFBDisplayCursor8P(
68 IOFramebuffer * inst,
69 StdFBShmem_t *shmem,
70 volatile unsigned char *vramPtr,
71 unsigned int cursStart,
72 unsigned int vramRow,
73 unsigned int cursRow,
74 int width,
75 int height );
76
77 static void StdFBDisplayCursor8G(
78 IOFramebuffer * inst,
79 StdFBShmem_t *shmem,
80 volatile unsigned char *vramPtr,
81 unsigned int cursStart,
82 unsigned int vramRow,
83 unsigned int cursRow,
84 int width,
85 int height );
86
87 static void StdFBDisplayCursor555(
88 IOFramebuffer * inst,
89 StdFBShmem_t *shmem,
90 volatile unsigned short *vramPtr,
91 unsigned int cursStart,
92 unsigned int vramRow,
93 unsigned int cursRow,
94 int width,
95 int height );
96
97 static void StdFBDisplayCursor444(
98 IOFramebuffer * inst,
99 StdFBShmem_t *shmem,
100 volatile unsigned short *vramPtr,
101 unsigned int cursStart,
102 unsigned int vramRow,
103 unsigned int cursRow,
104 int width,
105 int height );
106
107 static void StdFBDisplayCursor32Axxx(
108 IOFramebuffer * inst,
109 StdFBShmem_t *shmem,
110 volatile unsigned int *vramPtr,
111 unsigned int cursStart,
112 unsigned int vramRow,
113 unsigned int cursRow,
114 int width,
115 int height );
116
117 static void StdFBDisplayCursor32xxxA(
118 IOFramebuffer * inst,
119 StdFBShmem_t *shmem,
120 volatile unsigned int *vramPtr,
121 unsigned int cursStart,
122 unsigned int vramRow,
123 unsigned int cursRow,
124 int width,
125 int height );
126
127 static void StdFBRemoveCursor8(
128 IOFramebuffer * inst,
129 StdFBShmem_t *shmem,
130 volatile unsigned char *vramPtr,
131 unsigned int vramRow,
132 int width,
133 int height );
134 static void StdFBRemoveCursor16(
135 IOFramebuffer * inst,
136 StdFBShmem_t *shmem,
137 volatile unsigned short *vramPtr,
138 unsigned int vramRow,
139 int width,
140 int height );
141
142 static void StdFBRemoveCursor32(
143 IOFramebuffer * inst,
144 StdFBShmem_t *shmem,
145 volatile unsigned int *vramPtr,
146 unsigned int vramRow,
147 int width,
148 int height );
149
150 static void deferredMoveCursor(IOFramebuffer * inst);
151 static void handleVBL(IOFramebuffer * inst, void * ref);