revert between 56095 -> 55830 in arch
[AROS.git] / compiler / include / datatypes / animationclass.h
blob5c42962fbb02346e624d819fd675288a88f1d661
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"
35 /* Tags */
36 #define ADTA_Dummy (DTA_Dummy + 600)
37 #define ADTA_ModeID PDTA_ModeID
38 #define ADTA_KeyFrame PDTA_BitMap
39 #define ADTA_ColorRegisters PDTA_ColorRegisters
40 #define ADTA_CRegs PDTA_CRegs
41 #define ADTA_GRegs PDTA_GRegs
42 #define ADTA_ColorTable PDTA_ColorTable
43 #define ADTA_ColorTable2 PDTA_ColorTable2
44 #define ADTA_Allocated PDTA_Allocated
45 #define ADTA_NumColors PDTA_NumColors
46 #define ADTA_NumAlloc PDTA_NumAlloc
47 #define ADTA_NumSparse PDTA_NumSparse
48 #define ADTA_SparseTable PDTA_SparseTable
49 #define ADTA_Remap PDTA_Remap
50 #define ADTA_Screen PDTA_Screen
51 #define ADTA_Width (ADTA_Dummy + 1)
52 #define ADTA_Height (ADTA_Dummy + 2)
53 #define ADTA_Depth (ADTA_Dummy + 3)
54 #define ADTA_Frames (ADTA_Dummy + 4)
55 #define ADTA_Frame (ADTA_Dummy + 5)
56 #define ADTA_FramesPerSecond (ADTA_Dummy + 6)
57 #define ADTA_FrameIncrement (ADTA_Dummy + 7)
58 #define ADTA_Sample SDTA_Sample
59 #define ADTA_SampleLength SDTA_SampleLength
60 #define ADTA_Period SDTA_Period
61 #define ADTA_Volume SDTA_Volume
62 #define ADTA_Cycles SDTA_Cycles
64 /* New in V44 */
65 #define ADTA_PreloadFrameCount (ADTA_Dummy + 8)
66 #define ADTA_LeftSample SDTA_LeftSample
67 #define ADTA_RightSample SDTA_RightSample
68 #define ADTA_SamplesPerSec SDTA_SamplesPerSec
70 /* IFF ANIM chunks */
72 #define ID_ANIM MAKE_ID('A','N','I','M')
73 #define ID_ANHD MAKE_ID('A','N','H','D')
74 #define ID_DLTA MAKE_ID('D','L','T','A')
75 #define ID_SBDY MAKE_ID('S','B','D','Y')
77 struct AnimHeader
79 UBYTE ah_Operation;
80 UBYTE ah_Mask;
81 UWORD ah_Width;
82 UWORD ah_Height;
83 WORD ah_Left;
84 WORD ah_Top;
85 ULONG ah_AbsTime;
86 ULONG ah_RelTime;
87 UBYTE ah_Interleave;
88 UBYTE ah_Pad0;
89 ULONG ah_Flags;
90 UBYTE ah_Pad[16];
91 } __packed;
93 /* Methods */
95 #define ADTM_Dummy 0x700
96 #define ADTM_LOADFRAME 0x701
97 #define ADTM_UNLOADFRAME 0x702
98 #define ADTM_START 0x703
99 #define ADTM_PAUSE 0x704
100 #define ADTM_STOP 0x705
101 #define ADTM_LOCATE 0x706
103 /* New in V44 */
104 #define ADTM_LOADNEWFORMATFRAME 0x707
105 #define ADTM_UNLOADNEWFORMATFRAME 0x708
107 struct adtFrame
109 STACKED ULONG MethodID;
110 STACKED ULONG alf_TimeStamp;
111 STACKED ULONG alf_Frame;
112 STACKED ULONG alf_Duration;
113 STACKED struct BitMap *alf_BitMap;
114 STACKED struct ColorMap *alf_CMap;
115 STACKED BYTE *alf_Sample;
116 STACKED ULONG alf_SampleLength;
117 STACKED ULONG alf_Period;
118 STACKED APTR alf_UserData;
121 struct adtNewFormatFrame
123 STACKED ULONG MethodID;
124 STACKED ULONG alf_TimeStamp;
125 STACKED ULONG alf_Frame;
126 STACKED ULONG alf_Duration;
127 STACKED struct BitMap *alf_BitMap;
128 STACKED struct ColorMap *alf_CMap;
129 STACKED BYTE *alf_Sample;
130 STACKED ULONG alf_SampleLength;
131 STACKED ULONG alf_Period;
132 STACKED APTR alf_UserData;
133 STACKED ULONG alf_Size;
134 STACKED BYTE *alf_LeftSample;
135 STACKED BYTE *alf_RightSample;
136 STACKED ULONG alf_SamplesPerSec;
139 struct adtStart
141 STACKED ULONG MethodID;
142 STACKED ULONG asa_Frame;
145 #endif /* DATATYPES_ANIMATIONCLASS_H */