| NEWS APPS DOCS ABOUT | ||||
Autodocs Include classes clib datatypes animationclass.i / .h datatypes.i / .h datatypesclass.i / .h pictureclass.i / .h soundclass.i / .h textclass.i / .h devices diskfont dos exec gadgets graphics hardware images intuition libraries pragma pragmas prefs proto reaction resources rexx utility workbench GuruMeditation | IFND DATATYPES_PICTURECLASS_I
DATATYPES_PICTURECLASS_I SET 1
**
** $VER: pictureclass.i 45.1 (23.10.2000)
** Includes Release 45.1
**
** Interface definitions for DataType picture objects.
**
** Copyright © 1992-2001 Amiga, Inc.
** All Rights Reserved
**
IFND UTILITY_TAGITEM_I
INCLUDE 'utility/tagitem.i'
ENDC
IFND DATATYPES_DATATYPESCLASS_I
INCLUDE 'datatypes/datatypesclass.i'
ENDC
IFND LIBRARIES_IFFPARSE_I
INCLUDE 'libraries/iffparse.i'
ENDC
;------------------------------------------------------------------------------
PICTUREDTCLASS MACRO
dc.b 'picture.datatype',0
ENDM
;------------------------------------------------------------------------------
; Picture attributes
; Mode ID of the picture (ULONG)
PDTA_ModeID equ (DTA_Dummy + 200)
; Bitmap header information (struct BitMapHeader *)
PDTA_BitMapHeader equ (DTA_Dummy + 201)
; Pointer to a class-allocated bitmap, that will end
; up being freed by picture.class when DisposeDTObject()
; is called (struct BitMap *).
PDTA_BitMap equ (DTA_Dummy + 202)
; Picture colour table (struct ColorRegister *)
PDTA_ColorRegisters equ (DTA_Dummy + 203)
; Color table to use with SetRGB32CM() (ULONG *)
PDTA_CRegs equ (DTA_Dummy + 204)
; 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 PDTA_CRegs table (ULONG *).
PDTA_GRegs equ (DTA_Dummy + 205)
; Shared pen table; this table is initialized during the layout
; process while the picture is being remapped (UBYTE *).
PDTA_ColorTable equ (DTA_Dummy + 206)
; Shared pen table; in most places this table will be identical to
; the PDTA_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 picture.datatype uses the two tables
; during remapping, alternating for each pixel (UBYTE *).
PDTA_ColorTable2 equ (DTA_Dummy + 207)
; OBSOLETE; DO NOT USE
PDTA_Allocated equ (DTA_Dummy + 208)
; Number of colors used by the picture. (UWORD)
PDTA_NumColors equ (DTA_Dummy + 209)
; Number of colors allocated by the picture (UWORD)
PDTA_NumAlloc equ (DTA_Dummy + 210)
; Remap the picture (BOOL); defaults to TRUE
PDTA_Remap equ (DTA_Dummy + 211)
; Screen to remap to (struct Screen *)
PDTA_Screen equ (DTA_Dummy + 212)
; Free the source bitmap after remapping (BOOL)
PDTA_FreeSourceBitMap equ (DTA_Dummy + 213)
; Pointer to a Point structure
PDTA_Grab equ (DTA_Dummy + 214)
; Pointer to the destination (remapped) bitmap
PDTA_DestBitMap equ (DTA_Dummy + 215)
; Pointer to class-allocated bitmap, that will end
; up being freed by the class after DisposeDTObject()
; is called (struct BitMap *)
PDTA_ClassBitMap equ (DTA_Dummy + 216)
; Number of colors used for sparse remapping (UWORD)
PDTA_NumSparse equ (DTA_Dummy + 217)
; Pointer to a table of pen numbers indicating
; which colors should be used when remapping the image.
; This array must contain as many entries as there
; are colors specified with PDTA_NumSparse (UBYTE *).
PDTA_SparseTable equ (DTA_Dummy + 218)
; Index number of the picture to load (ULONG). (V44)
PDTA_WhichPicture equ (DTA_Dummy + 219)
; Get the number of pictures stored in the file (ULONG *). (V44)
PDTA_GetNumPictures equ (DTA_Dummy + 220)
; Maximum number of colours to use for dithering (ULONG). (V44)
PDTA_MaxDitherPens equ (DTA_Dummy + 221)
; Quality of the dithering algorithm to be used during colour
; quantization (ULONG). (V44)
PDTA_DitherQuality equ (DTA_Dummy + 222)
; Pointer to the allocated pen table (UBYTE *). (V44)
PDTA_AllocatedPens equ (DTA_Dummy + 223)
; Quality for scaling. (V45)
PDTA_ScaleQuality equ (DTA_Dummy + 224)
;------------------------------------------------------------------------------
; When querying the number of pictures stored in a file, the
; following value denotes "the number of pictures is unknown".
PDTANUMPICTURES_Unknown equ 0
;------------------------------------------------------------------------------
; V43 extensions (attributes)
; Set the sub datatype interface mode (LONG); see "Interface modes" below
PDTA_SourceMode equ (DTA_Dummy + 250)
; Set the app datatype interface mode (LONG); see "Interface modes" below
PDTA_DestMode equ (DTA_Dummy + 251)
; Allocates the resulting bitmap as a friend bitmap (BOOL)
PDTA_UseFriendBitMap equ (DTA_Dummy + 255)
; NULL or mask plane for use with BltMaskBitMapRastPort() (PLANEPTR)
PDTA_MaskPlane equ (DTA_Dummy + 258)
;------------------------------------------------------------------------------
; Interface modes
PMODE_V42 equ (0) ; Compatibility mode
PMODE_V43 equ (1) ; Extended mode
;------------------------------------------------------------------------------
; V43 extensions (methods)
PDTM_Dummy equ (DTM_Dummy + $60)
; Transfer pixel data to the picture object in the specified format
PDTM_WRITEPIXELARRAY equ (PDTM_Dummy + 0)
; Transfer pixel data from the picture object in the specified format
PDTM_READPIXELARRAY equ (PDTM_Dummy + 1)
; PDTM_WRITEPIXELARRAY, PDTM_READPIXELARRAY
STRUCTURE pdtBlitPixelArray,0
ULONG MethodID
APTR pbpa_PixelData ; The pixel data to transfer to/from
ULONG pbpa_PixelFormat ; Format of the pixel data (see "Pixel Formats" below)
ULONG pbpa_PixelArrayMod ; Number of bytes per row
ULONG pbpa_Left ; Left edge of the rectangle to transfer pixels to/from
ULONG pbpa_Top ; Top edge of the rectangle to transfer pixels to/from
ULONG pbpa_Width ; Width of the rectangle to transfer pixels to/from
ULONG pbpa_Height ; Height of the rectangle to transfer pixels to/from
LABEL pdtBlitPixelArray_SIZEOF
; Pixel formats
PBPAFMT_RGB equ 0 ; 3 bytes per pixel (red, green, blue)
PBPAFMT_RGBA equ 1 ; 4 bytes per pixel (red, green, blue, alpha channel)
PBPAFMT_ARGB equ 2 ; 4 bytes per pixel (alpha channel, red, green, blue)
PBPAFMT_LUT8 equ 3 ; 1 byte per pixel (using a separate colour map)
PBPAFMT_GREY8 equ 4 ; 1 byte per pixel (0==black, 255==white)
;------------------------------------------------------------------------------
; V45 extensions (methods)
; Scale pixel data to the specified size
PDTM_SCALE equ (PDTM_Dummy + 2)
; PDTM_SCALE
STRUCTURE pdtScale,0
ULONG MethodID
ULONG ps_NewWidth ; The new width the pixel data should have
ULONG ps_NewHeight ; The new height the pixel data should have
ULONG ps_Flags ; should be 0 for now
LABEL pdtScale_SIZEOF
;------------------------------------------------------------------------------
; Masking techniques
mskNone equ 0
mskHasMask equ 1
mskHasTransparentColor equ 2
mskLasso equ 3
mskHasAlpha equ 4
; Compression techniques
cmpNone equ 0
cmpByteRun1 equ 1
cmpByteRun2 equ 2 ; NOTE: unused (V44)
; Bitmap header (BMHD) structure
STRUCTURE BitMapHeader,0
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
LABEL BitMapHeader_SIZEOF
;------------------------------------------------------------------------------
; Color register structure
STRUCTURE ColorRegister,0
UBYTE red
UBYTE green
UBYTE blue
LABEL ColorRegister_SIZEOF
;------------------------------------------------------------------------------
; IFF types that may be in pictures
ID_ILBM equ 'ILBM'
ID_BMHD equ 'BMHD'
ID_CMAP equ 'CMAP'
ID_CRNG equ 'CRNG'
ID_GRAB equ 'GRAB'
ID_SPRT equ 'SPRT'
ID_DEST equ 'DEST'
ID_CAMG equ 'CAMG'
IFND ID_BODY
ID_BODY equ 'BODY'
ENDC
;------------------------------------------------------------------------------
ENDC ; DATATYPES_PICTURECLASS_I
Comments |
| $VER: d0.se 1.14 Copyright © 2011-2025 Tobias Geijersson support at d0 dot se |