;Assembler header file for CompressJPEG
;written by DefMod (Mar  9 1999) on Thu Apr  8 04:02:20 1999
;Jonathan Coxhead, jonathan@doves.demon.co.uk, 24 May 1995

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

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

        [       :LNOT: :DEF: Get_JPEG
        GBLS    Get_JPEG
        ]
        [       :LNOT: :DEF: JPEG_Hdr
Get_JPEG                        SETS    "GET OS:Hdr.JPEG"
        |
Get_JPEG                        SETS    ""
        ]
        $Get_JPEG

        [       :LNOT: :DEF: CompressJPEG_Hdr
        GBLS    CompressJPEG_Hdr

;Symbols for structure offsets and sizes
CompressJPEG_Tag                *       4 ;abstract type
                                ^       0
CompressJPEG_Parameters_width   #       Int
CompressJPEG_Parameters_height  #       Int
CompressJPEG_Parameters_quality #       Int
CompressJPEG_Parameters_bytes_per_pixel #       Int
CompressJPEG_Parameters_xdpi    #       Int
CompressJPEG_Parameters_ydpi    #       Int
CompressJPEG_Parameters         *       @


;Symbols for SWIs and SWI reason codes
XCompressJPEG_Start             *       &6A500
CompressJPEG_Start              *       &4A500
   ;Entry
   ;  R0 -> image (JPEG_Image)
   ;  R1 = image_size (Int)
   ;  R2 -> parameters (CompressJPEG_Parameters)
   ;  R3 = workspace (pointer to Void)
   ;  R4 = workspace_size (Int)
   ;Exit
   ;  R0 = tag (CompressJPEG_Tag)

XCompressJPEG_WriteLine         *       &6A501
CompressJPEG_WriteLine          *       &4A501
   ;Entry
   ;  R0 = tag (CompressJPEG_Tag)
   ;  R1 = pixels (pointer to data)

XCompressJPEG_Finish            *       &6A502
CompressJPEG_Finish             *       &4A502
   ;Entry
   ;  R0 = tag (CompressJPEG_Tag)
   ;Exit
   ;  R0 = image_size (Int)

        ]

        END
