Home  /  Autodocs

animation.datatype

root data type for animations.

FUNCTIONS


FUNCTION

The animation.datatype is the super-class for any animation related classes.

This class is responsible for creating the controls, scaling, remapping and synchronization.

METHODS

DTM_FRAMEBOX
Obtain the display environment that the animation requires.

DTM_TRIGGER
Cause an event to occur. Currently the only trigger event is STM_PLAY, which will cause the animation to start playing.

DTM_COPY
Copy the current frame to the clipboard as an IFF ILBM.

DTM_WRITE
Write the current frame to a file as an IFF ILBM.

DTM_PRINT
Print the current frame.

ADTM_LOADFRAME
Load a frame of the animation.

ADTM_UNLOADFRAME
Deallocate any memory allocated by ADTM_LOADFRAME.

ADTM_START
Start the animation. This MUST be passed to the super-class AFTER the sub-class has started.

ADTM_PAUSE
Pause the animation. This MUST be passed to the super-class BEFORE the sub-class pauses.

ADTM_STOP
Stop the animation. This MUST be passed to the super-class BEFORE the sub-class stops.

ADTM_LOCATE
Used to locate a frame of the animation.

ADTM_LOADNEWFORMATFRAME
Load a new format frame of the animation, for more information, see <datatypes/animationclass.h>. (V44)

ADTM_UNLOADNEWFORMATFRAME
Deallocate any memory allocated by ADTM_LOADNEWFORMATFRAME. (V44)

ATTRIBUTES

DTA_ControlPanel (BOOL)
Determine whether the control panel is shown. Defaults to TRUE.

Applicability is (I).

DTA_Immediate (BOOL)
Indicate whether the animation should immediately begin playing. Defaults to FALSE.

Applicability is (I).

DTA_Repeat (BOOL)
Indicate whether the animation should loop. (V44)

Default for this tag is FALSE. Applicability is (IS).

ADTA_Remap (BOOL)
Indicate whether the animation should be remapped or not.

Applicability is (I).

ADTA_ModeID (ULONG)
Set and get the graphic mode id of the picture.

Applicability is (ISG).

ADTA_Width (ULONG)
Width of a frame in pixels.

Applicability is (IG).

ADTA_Height (ULONG)
Height of a frame in pixels.

Applicability is (IG).

ADTA_Depth (ULONG)
Depth of the frame.

Applicability is (IG).

ADTA_Frames (ULONG)
Number of frames in animation.

Applicability is (ISG).

ADTA_KeyFrame (struct BitMap *)
Pointer to the key frame.

Applicability is (ISG).

ADTA_FramesPerSecond (ULONG)
Number of frames per second to play.

ADTA_NumColors (WORD)
Number of colors used by the frame.

Applicability is (ISG).

ADTA_ColorRegisters (struct ColorRegister *)
Color table; its contents should match the colours in the ADTA_CRegs table.

Applicability is (G).

ADTA_CRegs (ULONG *)
Color table to use with SetRGB32CM().

Applicability is (G).

ADTA_GRegs (ULONG *)
Color table; this table is initialized during the layout process and will contain the colours the picture will use after remapping. If no remapping takes place, these colours will match those in the ADTA_CRegs table.

ADTA_ColorTable (UBYTE *)
Shared pen table; this table is initialized during the layout process while the frames are being remapped.

Applicability is (G).

ADTA_ColorTable2 (UBYTE *)
Shared pen table; in most places this table will be identical to the ADTA_ColorTable table. Some of the colours in this table might match the original colour palette a little better than the colours picked for the other table. The animation.datatype uses the two tables during remapping, alternating for each pixel.

Applicability is (G).

ADTA_Allocated (ULONG)
OBSOLETE; DO NOT USE.

Applicability is (G).

ADTA_NumAlloc (UWORD)
Number of colors allocated by the frame. In this context `allocated' refers to colours allocated via graphics.library/ObtainBestPenA.

Applicability is (G).

ADTA_BitMapHeader (struct BitMapHeader *)
Set and get the base information for the animation. BitMapHeader is defined in <datatypes/pictureclass.h>

Applicability is (G).

ADTA_Sample (BYTE *)
Pointer to sample data.

NOTE:
this tag was only (IS) in V40; this has been fixed

in V44.

Applicability is (ISG).

ADTA_SampleLength (ULONG)
Length of sample data.

Applicability is (ISG).

ADTA_Period (ULONG)
Period to play back sample at.

Applicability is (ISG).

ADTA_Volume (ULONG)
Volume to play back sample at (0..64).

Applicability is (ISG).

OBP_Precision (ULONG)
Precision to use when obtaining colors. See the PRECISION_[..] defines in <graphics/view.h>.

Applicability is (I). Defaults to PRECISION_IMAGE. (V44)

ADTA_LeftSample (BYTE *)
Pointer to left channel sample data. (V44)

Applicability is (ISG).

ADTA_RightSample (BYTE *)
Pointer to right channel sample data. (V44)

Applicability is (ISG).

ADTA_SamplesPerSec (ULONG)
Number of samples per second to play; if this is > 0, it takes precendence over ADTA_Period.

Applicability is (ISG).

ADTA_PreloadFrameCount (ULONG)
Number of frames to preload. (V44) Frames are preloaded when starting animation playback. The loader will attempt to keep at least this number of frames available for the display process. Note that when changing this attribute the change does not take effect immediately.

Default for this tag is 10. Applicability is (ISG).

NOTES

The ADTM_LOADNEWFORMATFRAME and ADTM_UNLOADNEWFORMATFRAME methods operate on struct adtNewFormatFrame format messages. The adtNewFormatFrame message is an extension of the adtFrame message with additional fields, such as required for stereo sound playback. By default, animation.datatype will load and unload frames allocated by its subclasses using the compatible ADTM_LOADFRAME and ADTM_UNLOADFRAME methods. If your subclass needs to use the extended adtNewFormatFrame format messages, it must say so by providing a list of supported methods for animation.datatype to query through the OM_GET/DTA_Methods tag. If both ADTM_LOADNEWFORMATFRAME and ADTM_UNLOADNEWFORMATFRAME are among the methods supported by your subclass, you will receive adtNewFormatFrame format messages instead of the compatible adtFrame messages.

Please note that applications such as MultiView will query the methods supported by your class. Make sure that if you choose to implement support for the OM_GET/DTA_Methods tag the methods you return should also include the methods supported by your superclass. Otherwise, the user will be unable to use functions such as "Copy" or "Print".

Since the adtNewFormatFrame message format may be enhanced in future releases of animation.datatype, your subclass may access only structure members that are known to exist in the message. To find out which members are available, check the adtNewFormatFrame->alf_Size member; it contains the total length of the data structure (in bytes). Remember which message length you require, then act accordingly. Please keep in mind that the structure member adtNewFormatFrame->alf_Size does not exist in the compatible adtFrame message data structure.