Updated PCI IDs to latest snapshot.
[tangerine.git] / compiler / include / graphics / view.h
blob0564cdb83f3ef2f08c37f8dd9507ded4a9d4befb
1 #ifndef GRAPHICS_VIEW_H
2 #define GRAPHICS_VIEW_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: View structures
9 Lang: english
12 #ifndef EXEC_SEMAPHORES_H
13 # include <exec/semaphores.h>
14 #endif
15 #ifndef EXEC_TYPES_H
16 # include <exec/types.h>
17 #endif
18 #ifndef GRAPHICS_COPPER_H
19 # include <graphics/copper.h>
20 #endif
21 #ifndef GRAPHICS_DISPLAYINFO_H
22 # include <graphics/displayinfo.h>
23 #endif
24 #ifndef GRAPHICS_GFX_H
25 # include <graphics/gfx.h>
26 #endif
27 #ifndef GRAPHICS_GFXNODE_H
28 # include <graphics/gfxnodes.h>
29 #endif
30 #ifndef GRAPHICS_MONITOR_H
31 # include <graphics/monitor.h>
32 #endif
33 #ifndef HARDWARE_CUSTOM_H
34 # include <hardware/custom.h>
35 #endif
37 struct View
39 struct ViewPort * ViewPort;
40 struct cprlist * LOFCprList;
41 struct cprlist * SHFCprList;
43 WORD DyOffset;
44 WORD DxOffset;
46 UWORD Modes;
49 struct ViewExtra
51 struct ExtendedNode n;
53 struct View * View;
54 struct MonitorSpec * Monitor;
55 UWORD TopLine;
58 struct ViewPort
60 struct ViewPort * Next;
62 struct ColorMap * ColorMap;
63 struct CopList * DspIns;
64 struct CopList * SprIns;
65 struct CopList * ClrIns;
66 struct UCopList * UCopIns;
68 WORD DWidth;
69 WORD DHeight;
70 WORD DxOffset;
71 WORD DyOffset;
72 UWORD Modes;
74 UBYTE SpritePriorities;
75 UBYTE ExtendedModes;
77 struct RasInfo * RasInfo;
80 struct ViewPortExtra
82 struct ExtendedNode n;
84 struct ViewPort * ViewPort;
85 struct Rectangle DisplayClip;
87 APTR VecTable;
88 APTR DriverData[2];
89 UWORD Flags;
90 Point Origin[2];
91 ULONG cop1ptr;
92 ULONG cop2ptr;
95 struct ColorMap
97 UBYTE Flags; /* see below */
98 UBYTE Type; /* see below */
99 UWORD Count;
100 APTR ColorTable;
102 struct ViewPortExtra * cm_vpe;
104 APTR LowColorBits;
105 UBYTE TransparencyPlane;
106 UBYTE SpriteResolution; /* see below */
107 UBYTE SpriteResDefault;
108 UBYTE AuxFlags;
110 struct ViewPort * cm_vp;
112 APTR NormalDisplayInfo;
113 APTR CoerceDisplayInfo;
115 struct TagItem * cm_batch_items;
116 ULONG VPModeID;
117 struct PaletteExtra * PalExtra;
119 UWORD SpriteBase_Even;
120 UWORD SpriteBase_Odd;
121 UWORD Bp_0_base;
122 UWORD Bp_1_base;
125 /* Flags */
126 #define CMF_CMTRANS 0
127 #define COLORMAP_TRANSPARENCY (1<<0)
128 #define CMF_CPTRANS 1
129 #define COLORPLANE_TRANPARENCY (1<<1)
130 #define CMF_BRDRBLNK 2
131 #define BORDER_BLANKING (1<<2)
132 #define CMF_BRDNTRAN 3
133 #define BORDER_NOTRANPARENCY (1<<3)
134 #define VIDEOCONTROL_BATCH (1<<4)
135 #define USER_COPPER_CLIP (1<<5)
136 #define CMF_BRDRSPRT 6
137 #define BORDERSPRITES (1<<6)
139 /* Type */
140 #define COLORMAP_TYPE_V1_2 0
141 #define COLORMAP_TYPE_V36 1
142 #define COLORMAP_TYPE_V39 2
144 /* SpriteResolution */
145 #define SPRITERESN_ECS 0x00
146 #define SPRITERESN_140NS 0x01
147 #define SPRITERESN_70NS 0x02
148 #define SPRITERESN_35NS 0x03
149 #define SPRITERESN_DEFAULT 0xFF
151 struct RasInfo
153 struct RasInfo * Next;
154 struct BitMap * BitMap;
156 WORD RxOffset;
157 WORD RyOffset;
160 #define GENLOCK_VIDEO (1<<1)
161 #define LACE (1<<2)
162 #define DOUBLESCAN (1<<3)
163 #define SUPERHIRES (1<<5)
164 #define PFBA (1<<6)
165 #define EXTRA_HALFBRITE (1<<7)
166 #define GENLOCK_AUDIO (1<<8)
167 #define DUALPF (1<<10)
168 #define HAM (1<<11)
169 #define EXTENDED_MODE (1<<12)
170 #define VP_HIDE (1<<13)
171 #define SPRITES (1<<14)
172 #define HIRES (1<<15)
174 /* PRIVATE */
175 #define VPXB_FREE_ME 0
176 #define VPXF_FREE_ME (1<<0)
177 #define VPXB_LAST 1
178 #define VPXF_LAST (1<<1)
179 #define VPXB_STRADDLES256 4
180 #define VPXF_STRADDLES256 (1<<4)
181 #define VPXB_STRADDLES512 5
182 #define VPXF_STRADDLES512 (1<<5)
184 /* PRIVATE */
185 #define VPB_TENHZ 4
186 #define VPF_TENHZ (1<<4)
187 #define VPB_A2024 6
188 #define VPF_A2024 (1<<6)
190 #define EXTEND_VSTRUCT 0x1000
192 #define CMAB_FULLPALETTE 0
193 #define CMAF_FULLPALETTE (1<<CMAB_FULLPALETTE)
194 #define CMAB_NO_INTERMED_UPDATE 1
195 #define CMAF_NO_INTERMED_UPDATE (1<<CMAB_NO_INTERMED_UPDATE)
196 #define CMAB_NO_COLOR_LOAD 2
197 #define CMAF_NO_COLOR_LOAD (1 << CMAB_NO_COLOR_LOAD)
198 #define CMAB_DUALPF_DISABLE 3
199 #define CMAF_DUALPF_DISABLE (1 << CMAB_DUALPF_DISABLE)
202 struct PaletteExtra
204 struct SignalSemaphore pe_Semaphore;
205 UWORD pe_FirstFree;
206 UWORD pe_NFree;
207 UWORD pe_FirstShared;
208 UWORD pe_NShared;
209 UBYTE *pe_RefCnt;
210 UBYTE *pe_AllocList;
211 struct ViewPort *pe_ViewPort;
212 UWORD pe_SharableColors;
215 #define PENF_EXCLUSIVE (1l<<PENB_EXCLUSIVE)
216 #define PENF_NO_SETCOLOR (1l<<PENB_NO_SETCOLOR)
217 #define PENB_EXCLUSIVE 0
218 #define PENB_NO_SETCOLOR 1
221 #define PEN_EXCLUSIVE PENF_EXCLUSIVE
222 #define PEN_NO_SETCOLOR PENF_NO_SETCOLOR
224 #define PRECISION_EXACT -1
225 #define PRECISION_IMAGE 0
226 #define PRECISION_ICON 16
227 #define PRECISION_GUI 32
230 #define OBP_Precision 0x84000000
231 #define OBP_FailIfBad 0x84000001
233 #define MVP_OK 0
234 #define MVP_NO_MEM 1
235 #define MVP_NO_VPE 2
236 #define MVP_NO_DSPINS 3
237 #define MVP_NO_DISPLAY 4
238 #define MVP_OFF_BOTTOM 5
240 #define MCOP_OK 0
241 #define MCOP_NO_MEM 1
242 #define MCOP_NOP 2
244 struct DBufInfo {
245 APTR dbi_Link1;
246 ULONG dbi_Count1;
247 struct Message dbi_SafeMessage;
248 APTR dbi_UserData1;
250 APTR dbi_Link2;
251 ULONG dbi_Count2;
252 struct Message dbi_DispMessage;
253 APTR dbi_UserData2;
254 ULONG dbi_MatchLong;
255 APTR dbi_CopPtr1;
256 APTR dbi_CopPtr2;
257 APTR dbi_CopPtr3;
258 UWORD dbi_BeamPos1;
259 UWORD dbi_BeamPos2;
262 #endif /* GRAPHICS_VIEW_H */