Fix for the problem that LHA files didn't have a default icon:
[AROS.git] / compiler / include / datatypes / animationclass.h
blob91f62c2d0c33b71bd703960e346095ddd31d6fbd
1 #ifndef DATATYPES_ANIMATIONCLASS_H
2 #define DATATYPES_ANIMATIONCLASS_H
4 /*
5 Copyright © 1995-2001, 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 /* Tags */
35 #define ADTA_Dummy (DTA_Dummy + 600)
36 #define ADTA_ModeID PDTA_ModeID
37 #define ADTA_KeyFrame PDTA_BitMap
38 #define ADTA_ColorRegisters PDTA_ColorRegisters
39 #define ADTA_CRegs PDTA_CRegs
40 #define ADTA_GRegs PDTA_GRegs
41 #define ADTA_ColorTable PDTA_ColorTable
42 #define ADTA_ColorTable2 PDTA_ColorTable2
43 #define ADTA_Allocated PDTA_Allocated
44 #define ADTA_NumColors PDTA_NumColors
45 #define ADTA_NumAlloc PDTA_NumAlloc
46 #define ADTA_Remap PDTA_Remap
47 #define ADTA_Screen PDTA_Screen
48 #define ADTA_Width (ADTA_Dummy + 1)
49 #define ADTA_Height (ADTA_Dummy + 2)
50 #define ADTA_Depth (ADTA_Dummy + 3)
51 #define ADTA_Frames (ADTA_Dummy + 4)
52 #define ADTA_Frame (ADTA_Dummy + 5)
53 #define ADTA_FramesPerSecond (ADTA_Dummy + 6)
54 #define ADTA_FrameIncrement (ADTA_Dummy + 7)
55 #define ADTA_Sample SDTA_Sample
56 #define ADTA_SampleLength SDTA_SampleLength
57 #define ADTA_Period SDTA_Period
58 #define ADTA_Volume SDTA_Volume
59 #define ADTA_Cycles SDTA_Cycles
61 /* New in V44 */
62 #define ADTA_PreloadFrameCount (ADTA_Dummy + 8)
63 #define ADTA_LeftSample SDTA_LeftSample
64 #define ADTA_RightSample SDTA_RightSample
65 #define ADTA_SamplesPerSec SDTA_SamplesPerSec
67 /* IFF ANIM chunks */
69 #define ID_ANIM MAKE_ID('A','N','I','M')
70 #define ID_ANHD MAKE_ID('A','N','H','D')
71 #define ID_DLTA MAKE_ID('D','L','T','A')
73 struct AnimHeader
75 UBYTE ah_Operation;
76 UBYTE ah_Mask;
77 UWORD ah_Width;
78 UWORD ah_Height;
79 WORD ah_Left;
80 WORD ah_Top;
81 ULONG ah_AbsTime;
82 ULONG ah_RelTime;
83 UBYTE ah_Interleave;
84 UBYTE ah_Pad0;
85 ULONG ah_Flags;
86 UBYTE ah_Pad[16];
89 /* Methods */
91 #define ADTM_Dummy 0x700
92 #define ADTM_LOADFRAME 0x701
93 #define ADTM_UNLOADFRAME 0x702
94 #define ADTM_START 0x703
95 #define ADTM_PAUSE 0x704
96 #define ADTM_STOP 0x705
97 #define ADTM_LOCATE 0x706
99 /* New in V44 */
100 #define ADTM_LOADNEWFORMATFRAME 0x707
101 #define ADTM_UNLOADNEWFORMATFRAME 0x708
103 struct adtFrame
105 STACKED ULONG MethodID;
106 STACKED ULONG alf_TimeStamp;
107 STACKED ULONG alf_Frame;
108 STACKED ULONG alf_Duration;
109 STACKED struct BitMap *alf_BitMap;
110 STACKED struct ColorMap *alf_CMap;
111 STACKED BYTE *alf_Sample;
112 STACKED ULONG alf_SampleLength;
113 STACKED ULONG alf_Period;
114 STACKED APTR alf_UserData;
117 struct adtNewFormatFrame
119 STACKED ULONG MethodID;
120 STACKED ULONG alf_TimeStamp;
121 STACKED ULONG alf_Frame;
122 STACKED ULONG alf_Duration;
123 STACKED struct BitMap *alf_BitMap;
124 STACKED struct ColorMap *alf_CMap;
125 STACKED BYTE *alf_Sample;
126 STACKED ULONG alf_SampleLength;
127 STACKED ULONG alf_Period;
128 STACKED APTR alf_UserData;
129 STACKED ULONG alf_Size;
130 STACKED BYTE *alf_LeftSample;
131 STACKED BYTE *alf_RightSample;
132 STACKED ULONG alf_SamplesPerSec;
135 struct adtStart
137 STACKED ULONG MethodID;
138 STACKED ULONG asa_Frame;
141 #endif /* DATATYPES_ANIMATIONCLASS_H */