DATATYPES Types Reference¶
Per-function autodoc pages link to these types via the type name (e.g., [List](types-datatypes.md#list)).
Clickable inner types: inside each struct definition, field types that are themselves structs/unions/enums are clickable hyperlinks to their own definitions.
Contents¶
animationclass.h¶
struct AnimHeader¶
Source: datatypes/animationclass.h
struct AnimHeader
{
UBYTE ah_Operation; /* The compression method:
0 set directly (normal ILBM BODY),
1 XOR ILBM mode,
2 Long Delta mode,
3 Short Delta mode,
4 Generalized short/long Delta mode,
5 Byte Vertical Delta mode
6 Stereo op 5 (third party)
74 (ascii 'J') reserved for Eric Graham's
compression technique (details to be
released later). */
UBYTE ah_Mask; /* (XOR mode only - plane mask where each
bit is set =1 if there is data and =0
if not.) */
UWORD ah_Width; /* (XOR mode only - width and height of the */
UWORD ah_Height; /* area represented by the BODY to eliminate */
/* unnecessary un-changed data) */
WORD ah_Left; /* (XOR mode only - position of rectangular */
WORD ah_Top; /* area representd by the BODY) */
ULONG ah_AbsTime; /* Timing for a frame relative to the time
the first frame was displayed, in
jiffies (1/60 sec) */
ULONG ah_RelTime; /* Timing for frame relative to time
previous frame was displayed - in
jiffies (1/60 sec) */
UBYTE ah_Interleave; /* Indicates how may frames back this data is to
modify. 0 defaults to indicate two frames back
(for double buffering). n indicates n frames back.
The main intent here is to allow values
of 1 for special applications where
frame data would modify the immediately
previous frame. */
UBYTE ah_Pad0; /* Pad byte, not used at present. */
ULONG ah_Flags; /* 32 option bits used by options=4 and 5.
At present only 6 are identified, but the
rest are set =0 so they can be used to
implement future ideas. These are defined
for option 4 only at this point. It is
recommended that all bits be set =0 for
option 5 and that any bit settings
used in the future (such as for XOR mode)
be compatible with the option 4
bit settings. Player code should check
undefined bits in options 4 and 5 to assure
they are zero.
The six bits for current use are:
bit # set =0 set =1
===============================================
0 short data long data
1 set XOR
2 separate info one info list
for each plane for all planes
3 not RLC RLC (run length coded)
4 horizontal vertical
5 short info offsets long info offsets
*/
UBYTE ah_Pad[16]; /* This is a pad for future use for future
compression modes. */
};
datatypes.h¶
struct DTHookContext¶
Source: datatypes/datatypes.h
struct DTHookContext
{
/* Libraries that are already opened for your use */
struct Library *dthc_SysBase;
struct Library *dthc_DOSBase;
struct Library *dthc_IFFParseBase;
struct Library *dthc_UtilityBase;
/* File context */
BPTR dthc_Lock; /* Lock on the file */
struct FileInfoBlock *dthc_FIB; /* Pointer to a FileInfoBlock */
BPTR dthc_FileHandle; /* Pointer to the file handle (may be NULL) */
struct IFFHandle *dthc_IFF; /* Pointer to an IFFHandle (may be NULL) */
STRPTR dthc_Buffer; /* Buffer */
ULONG dthc_BufferLength; /* Length of the buffer */
};
struct DataType¶
Source: datatypes/datatypes.h
struct DataType
{
struct Node dtn_Node1; /* Reserved for system use */
struct Node dtn_Node2; /* Reserved for system use */
struct DataTypeHeader *dtn_Header; /* Pointer to the DataTypeHeader */
struct List dtn_ToolList; /* List of tool nodes */
STRPTR dtn_FunctionName; /* Name of comparision routine */
struct TagItem *dtn_AttrList; /* Object creation tags */
ULONG dtn_Length; /* Length of the memory block */
};
#endif
struct DataTypeHeader¶
Source: datatypes/datatypes.h
struct DataTypeHeader
{
STRPTR dth_Name; /* Descriptive name of the data type */
STRPTR dth_BaseName; /* Base name of the data type */
STRPTR dth_Pattern; /* Match pattern for file name. */
WORD *dth_Mask; /* Comparision mask */
ULONG dth_GroupID; /* Group that the DataType is in */
ULONG dth_ID; /* ID for DataType (same as IFF FORM type) */
WORD dth_MaskLen; /* Length of comparision mask */
WORD dth_Pad; /* Unused at present (must be 0) */
UWORD dth_Flags; /* Flags */
UWORD dth_Priority; /* Priority */
};
struct Tool¶
Source: datatypes/datatypes.h
struct Tool
{
UWORD tn_Which; /* Which tool is this */
UWORD tn_Flags; /* Flags */
STRPTR tn_Program; /* Application to use */
};
struct ToolNode¶
Source: datatypes/datatypes.h
struct ToolNode
{
struct Node tn_Node; /* Embedded node */
struct Tool tn_Tool; /* Embedded tool */
ULONG tn_Length; /* Length of the memory block */
};
datatypesclass.h¶
struct DTMethod¶
Source: datatypes/datatypesclass.h
struct DTMethod
{
STRPTR dtm_Label;
STRPTR dtm_Command;
ULONG dtm_Method;
};
struct DTSpecialInfo¶
Source: datatypes/datatypesclass.h
struct DTSpecialInfo
{
struct SignalSemaphore si_Lock; /* Locked while in DoAsyncLayout() */
ULONG si_Flags;
LONG si_TopVert; /* Top row (in units) */
LONG si_VisVert; /* Number of visible rows (in units) */
LONG si_TotVert; /* Total number of rows (in units) */
LONG si_OTopVert; /* Previous top (in units) */
LONG si_VertUnit; /* Number of pixels in vertical unit */
LONG si_TopHoriz; /* Top column (in units) */
LONG si_VisHoriz; /* Number of visible columns (in units) */
LONG si_TotHoriz; /* Total number of columns (in units) */
LONG si_OTopHoriz; /* Previous top (in units) */
LONG si_HorizUnit; /* Number of pixels in horizontal unit */
};
struct FrameInfo¶
Source: datatypes/datatypesclass.h
struct FrameInfo
{
ULONG fri_PropertyFlags; /* DisplayInfo (graphics/displayinfo.h) */
Point fri_Resolution; /* DisplayInfo */
UBYTE fri_RedBits;
UBYTE fri_GreenBits;
UBYTE fri_BlueBits;
struct
{
ULONG Width;
ULONG Height;
ULONG Depth;
} fri_Dimensions;
struct Screen *fri_Screen;
struct ColorMap *fri_ColorMap;
ULONG fri_Flags;
};
pictureclass.h¶
struct BitMapHeader¶
Source: datatypes/pictureclass.h
struct BitMapHeader
{
UWORD bmh_Width; /* Width in pixels */
UWORD bmh_Height; /* Height in pixels */
WORD bmh_Left; /* Left position */
WORD bmh_Top; /* Top position */
UBYTE bmh_Depth; /* Number of planes */
UBYTE bmh_Masking; /* Masking type */
UBYTE bmh_Compression; /* Compression type */
UBYTE bmh_Pad;
UWORD bmh_Transparent; /* Transparent color */
UBYTE bmh_XAspect;
UBYTE bmh_YAspect;
WORD bmh_PageWidth;
WORD bmh_PageHeight;
};
struct ColorRegister¶
Source: datatypes/pictureclass.h
struct ColorRegister
{
UBYTE red, green, blue;
};
soundclass.h¶
struct VoiceHeader¶
Source: datatypes/soundclass.h
struct VoiceHeader
{
ULONG vh_OneShotHiSamples; /* # samples in the high octave 1-shot part */
/* (per channel) */
ULONG vh_RepeatHiSamples; /* # samples in the high octave repeat part */
/* (per channel) */
ULONG vh_SamplesPerHiCycle; /* # samples/cycle in high octave */
/* (per channel), else 0 */
UWORD vh_SamplesPerSec; /* data sampling rate */
UBYTE vh_Octaves; /* # of octaves of waveforms */
UBYTE vh_Compression; /* data compression technique used */
ULONG vh_Volume; /* playback nominal volume from 0 to Unity
* (full volume). Map this value into
* the output hardware's dynamic range.
*/
};
textclass.h¶
struct Line¶
Source: datatypes/textclass.h
struct Line
{
struct MinNode ln_Link; /* to link the lines together */
STRPTR ln_Text; /* pointer to the text for this line */
ULONG ln_TextLen; /* the character length of the text for this line */
UWORD ln_XOffset; /* where in the line the text starts */
UWORD ln_YOffset; /* line the text is on */
UWORD ln_Width; /* Width of line in pixels */
UWORD ln_Height; /* Height of line in pixels */
UWORD ln_Flags; /* info on the line */
BYTE ln_FgPen; /* foreground pen */
BYTE ln_BgPen; /* background pen */
ULONG ln_Style; /* Font style */
APTR ln_Data; /* Link data... */
};