;Assembler header file for ConvertPNG
;written by DefMod (Dec 31 2005) on Sat Dec 31 14:11:42 2005
;Tom Hughes, tom@compton.nu, 21 Nov 2002

        [       :LNOT: :DEF: ConvertPNG_Hdr
        GBLS    ConvertPNG_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET oslib/OS.Hdr"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

;Symbols for constants
ConvertPNG_CreateSpriteArea     *       &1
ConvertPNG_UseBackground        *       &2
ConvertPNG_HasPalette           *       &1
ConvertPNG_IsColour             *       &2
ConvertPNG_HasAlphaChannel      *       &4
ConvertPNG_NoInterlacing        *       &1
ConvertPNG_Adam7Interlacing     *       &2

;Symbols for structure offsets and sizes
                                ^       0
                                #       Bits
ConvertPNG_InfoFlags            *       @

                                ^       0
                                #       Bits
ConvertPNG_CreateSpriteFlags    *       @

                                ^       0
                                #       Bits
ConvertPNG_ColourType           *       @

                                ^       0
                                #       Bits
ConvertPNG_InterlaceType        *       @


;Symbols for SWI's and SWI reason codes
XConvertPNG_Info                *       &764C0
ConvertPNG_Info                 *       &564C0
   ;Entry
   ;  R0 = flags (ConvertPNG_InfoFlags)
   ;  R1 -> buffer (data)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 = width (Int)
   ;  R1 = height (Int)
   ;  R2 = bpp (Int)
   ;  R3 = colour_type (ConvertPNG_ColourType)
   ;  R4 = interlace_type (ConvertPNG_InterlaceType)

XConvertPNG_CreateSprite        *       &764C1
ConvertPNG_CreateSprite         *       &564C1
   ;Entry
   ;  R0 = flags (ConvertPNG_CreateSpriteFlags)
   ;  R1 -> input_buffer (data)
   ;  R2 = input_size (Int)
   ;  R3 = output_buffer (pointer to data)
   ;  R4 = output_size (Int)
   ;  R5 = background (OS_Colour)
   ;Exit
   ;  R4 = size (Int)

        ]
        END
