|   ConvertSpriteThe ConvertSprite module provides a proxy conversion for the ImageFileRender routines to the ImageFileConvert module. This means that the renderers provided by ImageFileRender can be be used as sources for a conversion to sprite. For example, the Artworks ImageFileRender is proxied by the ConvertSprite module so that an Artworks to Sprite conversion is possible. In addition, the ConvertSprite module provides a means by which sprites can be created from an arbitrary rendering routine, in a similar manner to that used by the DragAnObject module. SWIsSWI ConvertSprite_CreateSpriteOn entry   R0 = flags :
         bit 0 = use mask
         Others reserved
   R1 = image width in OS units
   R2 = image height in OS units
   R3 = mode to use, or -1 for current
   R4 = pointer to palette, or -1 for none, or unused for deep modes
   R5 = pointer to sprite buffer, or 0 to read buffer size
   R6 = size of sprite buffer
   R7 = SWI number to call
   R8 = pointer to 10 register block to pass to SWI
   R9 = background colourOn exit   R6 =  size of sprite buffer needed (if R5=0 on entry), 
         size of sprite buffer used (if R5<>0 on entryThis SWI is used to create a sprite of a given type using any arbitrary rendering routine. This allows clients to convert images which would usually be rendered to the screen to sprites. IntroductionThe ImageFileFileConvert module provides an interface for converting between different image formats through a simple defined interface. Whilst this interface may not be perfectly suited to all image formats, it can be extended through flagged operations to provide greater flexibility and to allow more functional conversions to be made. Because ImageFileConvert and ImageFileRender complement one another it is recommended that users of either familiarise themselves with the other. ImageFileConvert_Convert (&56840)On entry   R0 = flags for operation :
         bit 0-7 = Reserved for options common to output filetype
         bits 8-15 = Reserved for options common to input filetype
         bits 16-23 = Reserved for options specific to the input/output pair
         bits 24-31 = Reserved
   R1 = conversion requested :
         bits 0-11 = Destination filetype
         bits 12-15 = Reserved, must be 0
         bits 16-25 = Source filetype
         bits 26-31 = Reserved, must be 0
   R2 = pointer to input image data
   R3 = length of input image data
   R4 = pointer to output image buffer, or 0 to read size
   R5 = size of output image buffer, or 0 to read size
   R6 = background colour, or -1 for default (may be ignored by some converters)
   R7-R9 = passed to conversion processOn exit   R5 = size of output image buffer required, or -1 if not known (if R4 = 0 on entry),
        size of output image buffer used (if R4 not 0 on entry)This SWI is used to convert an image from one format to another. Flags common to output type 'Sprite'Because Sprite is a common type to convert to a number of flags are defined as being used for all conversions.   bit 0: Create a sprite, rather than a sprite file (this option is provided
         by the ImageFileConvert module)
    bit 1-7: ReservedFlags common to output type 'JPEG'Because JPEG is a common type to convert to a number of flags are defined as being used for all conversions.    bit 0: Output JPEG will be monochrome (otherwise it will be colour)
   bit 1-3: Quality control :
               0 = 75% (the default level)
               1 = 12%
               2 = 25%
               3 = 37%
               4 = 50%
               5 = 62%
               6 = 75%
               7 = 88%The duplication of 75% in both 0 and 6 is to allow users to leave the flags unset and get a sensible default conversion quality.    bit 4-7: Reserved Flags common to input type 'Sprite'Although sprite is a common filetype to convert from none of the flags are reserved for all conversions.     bit 8-15: Reserved ImageFileConvert_MiscOp (&56841)On entry   R0 = flag bits :
         bits 0-7 =  Reserved for options common to output filetype
         bits 8-15 = Reserved for options common to input filetype
         bits 16-23 = Reserved for options specific to the input/output pair
         bits 24-31 = Reserved
   R1 = conversion requested :
         bits 0-11 = Destination filetype
         bits 12-15 = Reserved, must be 0
         bits 16-25 = Source filetype
         biys 26-31 = Reserved, must be 0
   R2 = pointer to input image data
   R3 = length of input image data
   R4 = operation type :
         &000-&3FF Reserved for generic operations on all conversions
         &400-&7FF Reserved for operations specific to the output type
         &800-&BFF Reserved for operations specific to the input type
         &C00-&FFF Reserved for operations specific to the input/output pair
         Other, Reserved for future expansion
   R5-R9 = misc op parametersOn exit   R0-R9 updated by conversion module This SWI is used to provide miscellaneous operations to obtain information about the conversion process. Operations common to the output type 'Sprite'On entry   R4 = &400 (Read information)
   R5-R9 undefined On exit   R0 = width in pixels of image
   R1 = height in pixels of image
   R2 = bits per pixel in the image
   R3 = image flags :
         bit 0 = Image has a palette (if On exit 8bpp)
         bit 1 = Image is colour (otherwise image is greyscale)
         bit 2 = Image has alpha channel or mask
         bits 3-5 = Interlace type:
               0 = No interlacing
               1 = Adam7 interlacing
               2 = Vertical interlacing
                 Others Reserved
         bits 6-31 Reserved
   R4 = x DPI
   R5 = y DPIThis operation reads information about the image which is common to most bitmap-type operations. ImageFileConvert_Register (&56843)On entry   R0 = flags (reserved, must be 0)
   R1 = pointer to definition (all will be copied):
         +0 API version (100)
         +4 converter flags
               bits 0-31 = Reserved, must be 0
         +8 converter type :
               bits 0-11 = Destination filetype
               bits 12-15 = Reserved, must be 0
               bits 16-25 = Source filetype
               bits 26-31 = Reserved, must be 0
         +12 pointer to name of converter in form :
               <name><tab><version x.xx><tab><author>
         +16 workspace value for r12
         +20 pointer to conversion routine
         +24 pointer to miscop routineOn exit   R1 = API version (even if an error occurs)
   All other registers preserved This SWI is used to register a new converter. ImageFileConvert_Deregister (&56844)On entry   R0 = flags (reserved, must be 0)
   R1 = filetype pair
   R2 = pointer to name to be copied in format :
             <name><tab><version x.xx><tab><author>On exit   All registers preserved This SWI is used to deregister a converter. ImageFileConvert_EnumerateConverters (&56845)On entry   R0 = flags (reserved, must be 0)
   R1 = last filetype pair, or -1 for the first call On exit   R0 = pointer to renderer definition (read only)
   R1 = this filetype pair, or -1 if no more This SWI is used to enumerate the currently registered converters. ImageFileConvert_ConverterInfo (&56846)On entry   R0 = flags (reserved, must be 0)
   R1 = filetype pair On exit   R0 = pointer to renderer definition (read only)
   R1 = pointer to renderer name This SWI is used to read information on a conversion. If no conversion can be performed for the requested types, an error will be returned. |