1 #ifndef GRAPHICS_VIEW_H
2 #define GRAPHICS_VIEW_H
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
12 #ifndef EXEC_SEMAPHORES_H
13 # include <exec/semaphores.h>
16 # include <exec/types.h>
18 #ifndef GRAPHICS_COPPER_H
19 # include <graphics/copper.h>
21 #ifndef GRAPHICS_DISPLAYINFO_H
22 # include <graphics/displayinfo.h>
24 #ifndef GRAPHICS_GFX_H
25 # include <graphics/gfx.h>
27 #ifndef GRAPHICS_GFXNODE_H
28 # include <graphics/gfxnodes.h>
30 #ifndef GRAPHICS_MONITOR_H
31 # include <graphics/monitor.h>
33 #ifndef HARDWARE_CUSTOM_H
34 # include <hardware/custom.h>
39 struct ViewPort
* ViewPort
;
40 struct cprlist
* LOFCprList
;
41 struct cprlist
* SHFCprList
;
51 struct ExtendedNode n
;
54 struct MonitorSpec
* Monitor
;
60 struct ViewPort
* Next
;
62 struct ColorMap
* ColorMap
;
63 struct CopList
* DspIns
;
64 struct CopList
* SprIns
;
65 struct CopList
* ClrIns
;
66 struct UCopList
* UCopIns
;
74 UBYTE SpritePriorities
;
77 struct RasInfo
* RasInfo
;
82 struct ExtendedNode n
;
84 struct ViewPort
* ViewPort
;
85 struct Rectangle DisplayClip
;
97 UBYTE Flags
; /* see below */
98 UBYTE Type
; /* see below */
102 struct ViewPortExtra
* cm_vpe
;
105 UBYTE TransparencyPlane
;
106 UBYTE SpriteResolution
; /* see below */
107 UBYTE SpriteResDefault
;
110 struct ViewPort
* cm_vp
;
112 APTR NormalDisplayInfo
;
113 APTR CoerceDisplayInfo
;
115 struct TagItem
* cm_batch_items
;
117 struct PaletteExtra
* PalExtra
;
119 UWORD SpriteBase_Even
;
120 UWORD SpriteBase_Odd
;
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)
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
153 struct RasInfo
* Next
;
154 struct BitMap
* BitMap
;
160 #define GENLOCK_VIDEO (1<<1)
162 #define DOUBLESCAN (1<<3)
163 #define SUPERHIRES (1<<5)
165 #define EXTRA_HALFBRITE (1<<7)
166 #define GENLOCK_AUDIO (1<<8)
167 #define DUALPF (1<<10)
169 #define EXTENDED_MODE (1<<12)
170 #define VP_HIDE (1<<13)
171 #define SPRITES (1<<14)
172 #define HIRES (1<<15)
175 #define VPXB_FREE_ME 0
176 #define VPXF_FREE_ME (1<<0)
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)
186 #define VPF_TENHZ (1<<4)
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)
204 struct SignalSemaphore pe_Semaphore
;
207 UWORD pe_FirstShared
;
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
236 #define MVP_NO_DSPINS 3
237 #define MVP_NO_DISPLAY 4
238 #define MVP_OFF_BOTTOM 5
241 #define MCOP_NO_MEM 1
247 struct Message dbi_SafeMessage
;
252 struct Message dbi_DispMessage
;
262 #endif /* GRAPHICS_VIEW_H */