void RegisterAnimSaver(struct SaveAnimReg *reg)
RegisterAnimSaver()
has to
tell Hollywood whether it wants to register another animation saver. Hollywood
will pass a pointer to a struct SaveAnimReg
to this function.
This structure looks like this:
struct SaveFormatReg { ULONG CapsMask; [out] ULONG FormatID; [in/out] STRPTR FormatName; [out] }; struct SaveAnimReg { struct SaveFormatReg hdr; }; |
Your implementation has to do the following with the individual structure members:
CapsMask:
HWSAVEANMCAPS_ARGB:
HWSAVEANMCAPS_CLUT:
HWSAVEANMCAPS_ALPHA:
HWSAVEANMCAPS_ARGB
.
HWSAVEANMCAPS_MORE:
RegisterAnimSaver()
again so that
you can register another saver. If you don't want to register another saver,
don't set this flag. (V5.3)
Note that HWSAVEANMCAPS_ARGB
and HWSAVEANMCAPS_CLUT
are not mutually exclusive. You can set them both if the target animation format
supports both true colour and palette-based pixel data storage.
FormatID:
FormatID
you have specified
must not be changed or you will break compatibility with applets or executables
that have been compiled with previous versions. If you are registering more
than one animation saver using HWSAVEANMCAPS_MORE
, you can look at the
FormatID
member to tell how many times Hollywood has already called
RegisterAnimSaver()
because FormatID
will contain the identifier
of the last animation saver you registered. If FormatID
is 0, then this
is the first call to RegisterAnimSaver()
. Note that it is not recommended
to keep your own counter because Hollywood might call RegisterAnimSaver()
multiple times, i.e. it might first loop over RegisterAnimSaver()
to determine
how many animation savers there are in total and then it might loop over
RegisterAnimSaver()
again to actually register their names.
FormatName:
#ANMFMT_
prefix must not be included
in the string you pass. Hollywood will add this automatically, i.e. if you
pass the string "TESTFORMAT" here, Hollywood will make your animation saver
available under the constant #ANMFMT_TESTFORMAT
.
struct SaveAnimReg
to be filled out by your implementation