mesa: simplify dependencies in mmakefiles
[AROS.git] / compiler / include / datatypes / animationclass.h
blob724c7c3cd20d2f1d6ef40161f7c7705700221a32
1 #ifndef DATATYPES_ANIMATIONCLASS_H
2 #define DATATYPES_ANIMATIONCLASS_H
4 /*
5 Copyright © 1995-2016, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Includes for animationclass
9 Lang: English
12 #ifndef UTILITY_TAGITEM_H
13 # include <utility/tagitem.h>
14 #endif
16 #ifndef DATATYPES_DATATYPESCLASS_H
17 # include <datatypes/datatypesclass.h>
18 #endif
20 #ifndef DATATYPES_PICTURECLASS_H
21 # include <datatypes/pictureclass.h>
22 #endif
24 #ifndef DATATYPES_SOUNDCLASS_H
25 # include <datatypes/soundclass.h>
26 #endif
28 #ifndef LIBRARIES_IFFPARSE_H
29 # include <libraries/iffparse.h>
30 #endif
32 #define ANIMATIONDTCLASS "animation.datatype"
34 #ifndef __packed
35 #ifdef __GNUC__
36 #define __packed __attribute__((__packed__))
37 #else
38 #define __packed
39 #endif
40 #endif
42 /* Tags */
43 #define ADTA_Dummy (DTA_Dummy + 600)
44 #define ADTA_ModeID PDTA_ModeID
45 #define ADTA_KeyFrame PDTA_BitMap
46 #define ADTA_ColorRegisters PDTA_ColorRegisters
47 #define ADTA_CRegs PDTA_CRegs
48 #define ADTA_GRegs PDTA_GRegs
49 #define ADTA_ColorTable PDTA_ColorTable
50 #define ADTA_ColorTable2 PDTA_ColorTable2
51 #define ADTA_Allocated PDTA_Allocated
52 #define ADTA_NumColors PDTA_NumColors
53 #define ADTA_NumAlloc PDTA_NumAlloc
54 #define ADTA_NumSparse PDTA_NumSparse
55 #define ADTA_SparseTable PDTA_SparseTable
56 #define ADTA_Remap PDTA_Remap
57 #define ADTA_Screen PDTA_Screen
58 #define ADTA_Width (ADTA_Dummy + 1)
59 #define ADTA_Height (ADTA_Dummy + 2)
60 #define ADTA_Depth (ADTA_Dummy + 3)
61 #define ADTA_Frames (ADTA_Dummy + 4)
62 #define ADTA_Frame (ADTA_Dummy + 5)
63 #define ADTA_FramesPerSecond (ADTA_Dummy + 6)
64 #define ADTA_FrameIncrement (ADTA_Dummy + 7)
65 #define ADTA_Sample SDTA_Sample
66 #define ADTA_SampleLength SDTA_SampleLength
67 #define ADTA_Period SDTA_Period
68 #define ADTA_Volume SDTA_Volume
69 #define ADTA_Cycles SDTA_Cycles
71 /* New in V44 */
72 #define ADTA_PreloadFrameCount (ADTA_Dummy + 8)
73 #define ADTA_LeftSample SDTA_LeftSample
74 #define ADTA_RightSample SDTA_RightSample
75 #define ADTA_SamplesPerSec SDTA_SamplesPerSec
77 /* IFF ANIM chunks */
79 #define ID_ANIM MAKE_ID('A','N','I','M')
80 #define ID_ANHD MAKE_ID('A','N','H','D')
81 #define ID_DLTA MAKE_ID('D','L','T','A')
82 #define ID_SBDY MAKE_ID('S','B','D','Y')
84 struct AnimHeader
86 UBYTE ah_Operation;
87 UBYTE ah_Mask;
88 UWORD ah_Width;
89 UWORD ah_Height;
90 WORD ah_Left;
91 WORD ah_Top;
92 ULONG ah_AbsTime;
93 ULONG ah_RelTime;
94 UBYTE ah_Interleave;
95 UBYTE ah_Pad0;
96 ULONG ah_Flags;
97 UBYTE ah_Pad[16];
98 } __packed;
100 /* Methods */
102 #define ADTM_Dummy 0x700
103 #define ADTM_LOADFRAME 0x701
104 #define ADTM_UNLOADFRAME 0x702
105 #define ADTM_START 0x703
106 #define ADTM_PAUSE 0x704
107 #define ADTM_STOP 0x705
108 #define ADTM_LOCATE 0x706
110 /* New in V44 */
111 #define ADTM_LOADNEWFORMATFRAME 0x707
112 #define ADTM_UNLOADNEWFORMATFRAME 0x708
114 struct adtFrame
116 STACKED ULONG MethodID;
117 STACKED ULONG alf_TimeStamp;
118 STACKED ULONG alf_Frame;
119 STACKED ULONG alf_Duration;
120 STACKED struct BitMap *alf_BitMap;
121 STACKED struct ColorMap *alf_CMap;
122 STACKED BYTE *alf_Sample;
123 STACKED ULONG alf_SampleLength;
124 STACKED ULONG alf_Period;
125 STACKED APTR alf_UserData;
128 struct adtNewFormatFrame
130 STACKED ULONG MethodID;
131 STACKED ULONG alf_TimeStamp;
132 STACKED ULONG alf_Frame;
133 STACKED ULONG alf_Duration;
134 STACKED struct BitMap *alf_BitMap;
135 STACKED struct ColorMap *alf_CMap;
136 STACKED BYTE *alf_Sample;
137 STACKED ULONG alf_SampleLength;
138 STACKED ULONG alf_Period;
139 STACKED APTR alf_UserData;
140 STACKED ULONG alf_Size;
141 STACKED BYTE *alf_LeftSample;
142 STACKED BYTE *alf_RightSample;
143 STACKED ULONG alf_SamplesPerSec;
146 struct adtStart
148 STACKED ULONG MethodID;
149 STACKED ULONG asa_Frame;
152 #endif /* DATATYPES_ANIMATIONCLASS_H */