From: <th...@us...> - 2002-11-23 12:13:03
|
Update of /cvsroot/ro-oslib/OSLib/!OsLib/Source/User/oslib In directory sc8-pr-cvs1:/tmp/cvs-serv11194/Source/User/oslib Modified Files: CompressJPEG.swi DrawFile.swi JPEG.swi Added Files: ConvertPNG.swi ImageFileRender.swi Log Message: Various updates to graphics related calls to reflect changes made in Select, including the addition of BlendTable, InverseTable, ConverPNG and ImageRender and the addition of CMYK sprite support. --- NEW FILE: ConvertPNG.swi --- TITLE ConvertPNG; AUTHOR "Tom Hughes, to...@co..., 21 Nov 2002"; NEEDS OS; TYPE ConvertPNG_InfoFlags = .Bits; TYPE ConvertPNG_CreateSpriteFlags = .Bits; CONST ConvertPNG_CreateSpriteArea = ConvertPNG_CreateSpriteFlags: 0x1, ConvertPNG_UseBackground = ConvertPNG_CreateSpriteFlags: 0x2; TYPE ConvertPNG_ColourType = .Bits; CONST ConvertPNG_HasPalette = ConvertPNG_ColourType: 0x1, ConvertPNG_IsColour = ConvertPNG_ColourType: 0x2, ConvertPNG_HasAlphaChannel = ConvertPNG_ColourType: 0x4; TYPE ConvertPNG_InterlaceType = .Bits; CONST ConvertPNG_NoInterlacing = ConvertPNG_InterlaceType: 0x1, ConvertPNG_Adam7Interlacing = ConvertPNG_InterlaceType: 0x2; SWI ConvertPNG_Info = ( NUMBER 0x564C0 "Read information about a PNG image - RISC O S 4.32+", ENTRY ( R0 = ConvertPNG_InfoFlags: flags, R1 -> .Data: buffer, R2 = .Int: size ), EXIT ( R0 = .Int: width, R1 = .Int: height, R2 = .Int: bpp, R3 = ConvertPNG_ColourType: colour_type, R4 = ConvertPNG_InterlaceType: interlace_type ) ), ConvertPNG_CreateSprite = ( NUMBER 0x564C1 "Create a sprite from a PNG image - RISC O S 4.32+", ENTRY ( R0 = ConvertPNG_CreateSpriteFlags: flags, R1 -> .Data: input_buffer, R2 = .Int: input_size, R3 = .Ref .Data: output_buffer, R4 = .Int: output_size, R5 = OS_Colour: background ), EXIT ( R4! = .Int: size ) ) --- NEW FILE: ImageFileRender.swi --- TITLE ImageFileRender; AUTHOR "Tom Hughes, to...@co..., 22 Nov 2002"; NEEDS OS, OSSpriteOp, PDriver; TYPE ImageFileRender_SequenceNumber = .Int; CONST ImageFileRender_DefaultImage = ImageFileRender_SequenceNumber: 0; TYPE ImageFileRender_FitBlock = .Struct ( .Int: width, .Int: height, .Int: border, .Int: angle ); TYPE ImageFileRender_TransformationData = .Union ( ImageFileRender_FitBlock: to_fit, OS_Factors: scaled, OS_Trfm: transformed ); TYPE ImageFileRender_QueryType = .Int; CONST ImageFileRender_BaseDetails = ImageFileRender_QueryType: 0; TYPE ImageFileRender_ImageFlags = .Bits; CONST ImageFileRender_ImageIsSolid = ImageFileRender_ImageFlags: 0x1; TYPE ImageFileRender_BaseDetails = .Struct ( ImageFileRender_SequenceNumber: sequence, .Int: xdpi, .Int: ydpi, OSSpriteOp_ModeWord: colour_type, ImageFileRender_ImageFlags: image_flags ); TYPE ImageFileRender_Flags = .Bits; CONST ImageFileRender_TransformationType = ImageFileRender_Flags: 0x7, ImageFileRender_TransformationTypeShift = .Int: 0, ImageFileRender_RenderToFit = .Int: 0, ImageFileRender_RenderScaled = .Int: 1, ImageFileRender_RenderTransformed = .Int: 2, ImageFileRender_ColourMappingSupplied = ImageFileRender_Flags: 0x8, ImageFileRender_IgnoreDocumentOrigin = ImageFileRender_Flags: 0x10, ImageFileRender_ReturnOSUnits = ImageFileRender_Flags: 0x20, ImageFileRender_Quality = ImageFileRender_Flags: 0x1C0, ImageFileRender_QualityShift = .Int: 6, ImageFileRender_DefaultQuality = .Int: 0, ImageFileRender_LowestQuality = .Int: 1, ImageFileRender_HighestQuality = .Int: 15; TYPE ImageFileRender_RendererFlags = .Bits; CONST ImageFileRender_TransformationCapabilities = ImageFileRender_RendererFlags: 0x3, ImageFileRender_TransformationCapabilitiesShift = .Int: 0, ImageFileRender_NoTransformation = .Int: 0, ImageFileRender_FixedAspectRatio = .Int: 1, ImageFileRender_AnyAspectRatio = .Int: 2, ImageFileRender_AnyTransformation = .Int: 3, ImageFileRender_SupportsColourMapping = ImageFileRender_RendererFlags: 0x4, ImageFileRender_SupportsIrregularShapes = ImageFileRender_RendererFlags: 0x8, ImageFileRender_MaximumQualityLevel = ImageFileRender_RendererFlags: 0xF0, ImageFileRender_MaximumQualityLevelShift = .Int: 4, ImageFileRender_DefaultQualityLevel = ImageFileRender_RendererFlags: 0xF00, ImageFileRender_DefaultQualityLevelShift = .Int: 8; TYPE ImageFileRender_Magic; TYPE ImageFileRender_Renderer = .Struct ( .Int: api_version, ImageFileRender_RendererFlags: flags, .Bits: file_type, ImageFileRender_Magic: magic, .Ref .Char: name, .Ref .Data: workspace, .Ref .Asm: start, .Ref .Asm: stop, .Ref .Asm: render, .Ref .Asm: bbox, .Ref .Asm: declare_fonts, .Ref .Asm: info ); TYPE ImageFileRender_ImageDescriptor = .Struct ( .Ref .Data: data, .Int: size, .Ref .Data: extension_data, ImageFileRender_SequenceNumber: sequence, .Ref .Data: private_data ); TYPE ImageFileRender_RenderingDescriptor = .Struct ( ImageFileRender_Flags: flags, OS_Trfm: trfm, OS_Box: bbox, OSSpriteOp_ColourMapping: mapping ); TYPE ImageFileRender_BBoxDescriptor = .Struct ( ImageFileRender_Flags: flags, OS_Trfm: trfm, OS_Box: bbox ); TYPE ImageFileRender_DeclareFontsDescriptor = .Struct ( ImageFileRender_Flags: flags, PDriver_FontFlags: pdriver_flags ); TYPE ImageFileRender_InfoDescriptor = .Struct ( ImageFileRender_QueryType: query, .Int: size, .Ref .Data: data ); SWI ImageFileRender_Render = ( NUMBER 0x562C0 "Render an image file", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 -> .Data: data, R3 = .Int: size, R4 -> .Data: extension_data, R5 = ImageFileRender_SequenceNumber: sequence, R6 = .Int: xorigin, R7 = .int: yorigin, R8 -> ImageFileRender_TransformationData: transformation_data, R9 -> OSSpriteOp_ColourMapping: colour_mapping ) ), ImageFileRender_BBox = ( NUMBER 0x562C1 "Calculate the bounding box for a transformation operation", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 -> .Data: data, R3 = .Int: size, R4 -> .Data: extension_data, R5 = ImageFileRender_SequenceNumber: sequence, R6 -> ImageFileRender_TransformationData: transformation_data, R7 = .Ref OS_Box: bbox ) ), ImageFileRender_Transform = ( NUMBER 0x562C2 "Calculate the transformation matrix for an operation", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 -> .Data: data, R3 = .Int: size, R4 -> .Data: extension_data, R5 = ImageFileRender_SequenceNumber: sequence, R6 -> ImageFileRender_TransformationData: transformation_data, R7 = .Ref OS_Trfm: trfm ), EXIT ( R0 = .Int: xdpi, R1 = .Int: ydpi ) ), ImageFileRender_DeclareFonts = ( NUMBER 0x562C3 "Declare fonts used by an image when printing", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 -> .Data: data, R3 = .Int: size, R4 -> .Data: extension_data, R5 = ImageFileRender_SequenceNumber: sequence, R6 = PDriver_FontFlags: pdriver_flags ) ), ImageFileRender_Info = ( NUMBER 0x562C4 "Return information on an image", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 -> .Data: data, R3 = .Int: size, R4 -> .Data: extension_data, R5 = ImageFileRender_SequenceNumber: sequence, R6 = ImageFileRender_QueryType: query, R7 = .Ref .Data: query_data, R8 = .Int: query_data_size ), EXIT ( R8! = .Int: size_used ) ), ImageFileRender_InfoBaseDetails = ( NUMBER 0x562C4, ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 -> .Data: data, R3 = .Int: size, R4 -> .Data: extension_data, R5 = ImageFileRender_SequenceNumber: sequence, R6 # ImageFileRender_BaseDetails "Return basic information on an image", R7 = .Ref ImageFileRender_BaseDetails: base_details, R8 = .Int: base_details_size ), EXIT ( R8! = .Int: size_used ) ), ImageFileRender_RendererInfo = ( NUMBER 0x562C5 "Return information about a renderer", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 = ImageFileRender_Magic: magic ), EXIT ( R0! -> ImageFileRender_Renderer: definition, R1 = .Ref .Char: name ) ), ImageFileRender_Register = ( NUMBER 0x562C6 "Register a new renderer", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 -> ImageFileRender_Renderer: definition ), EXIT ( R1! = .Int: api_version ) ), ImageFileRender_Deregister = ( NUMBER 0x562C7 "Deregister a renderer", ENTRY ( R0 = ImageFileRender_Flags: flags, R1 = .Bits: file_type, R2 -> .Char: name, R3 = ImageFileRender_Magic: magic ), EXIT ( R1! = .Int: api_version ) ); SWI Service_ImageFileRenderStarted = ( NUMBER 0x30, ENTRY ( R0 = .Int: api_version, R1 # 0x80D40 "ImageFileRender module has initialised" ) ), Service_ImageFileRenderDying = ( NUMBER 0x30, ENTRY ( R0 = .Int: api_version, R1 # 0x80D41 "ImageFileRender module is finalising" ) ), Service_ImageFileRenderRendererChanged = ( NUMBER 0x30, ENTRY ( R0 = .Int: api_version, R1 # 0x80D42 "Renderer changed", R2 = .Bits: file_type ) ) Index: CompressJPEG.swi =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/User/oslib/CompressJPEG.swi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CompressJPEG.swi 22 Sep 2002 15:59:15 -0000 1.2 --- CompressJPEG.swi 23 Nov 2002 12:13:00 -0000 1.3 *************** *** 19,24 **** TYPE CompressJPEG_CommentFlags = .Bits, ! CompressJPEG_WriteLineFlags = .Bits; CONST --- 19,41 ---- TYPE + CompressJPEG_ScanDescription = + .Struct + ( .Int: scan_count, + .Struct + ( .Int: components, + .Int: r, + .Int: g, + .Int: b, + .Int: ss, + .Int: se, + .Int: ah, + .Int: al + ): scan_data ... + ); + + TYPE CompressJPEG_CommentFlags = .Bits, ! CompressJPEG_WriteLineFlags = .Bits, ! CompressJPEG_TranscodeFlags = .Bits; CONST *************** *** 38,41 **** --- 55,155 ---- CompressJPEG_IsRGB = CompressJPEG_WriteLineFlags: 0x20; + CONST + CompressJPEG_GenerateProgressive = CompressJPEG_TranscodeFlags: 0b1, + CompressJPEG_OperationOnUnknowns = CompressJPEG_TranscodeFlags: 0b110, + CompressJPEG_OperationOnUnknownsShift = .Int: 1, + CompressJPEG_TransformationType = CompressJPEG_TranscodeFlags: 0b1111000, + CompressJPEG_TransformationTypeShift = .Int: 3, + CompressJPEG_TrimEdges = CompressJPEG_TranscodeFlags: 0b10000000, + CompressJPEG_GenerateGreyscale = CompressJPEG_TranscodeFlags: 0b100000000, + CompressJPEG_OptimiseForSmaller = CompressJPEG_TranscodeFlags: 0b1000000000; + + CONST + CompressJPEG_CopyNoAdditional = CompressJPEG_TranscodeFlags: 0 "shift by CompressJPEG_OperationOnUnknownsShift", + CompressJPEG_CopyComments = CompressJPEG_TranscodeFlags: 1 "shift by CompressJPEG_OperationOnUnknownsShift", + CompressJPEG_CopyAllElements = CompressJPEG_TranscodeFlags: 3 "shift by CompressJPEG_OperationOnUnknownsShift"; + + CONST + CompressJPEG_NoTransformation = CompressJPEG_TranscodeFlags: 0 "shift by CompressJPEG_TransformationTypeShift", + CompressJPEG_FlipHorizontally = CompressJPEG_TranscodeFlags: 1 "shift by CompressJPEG_TransformationTypeShift", + CompressJPEG_FlipVertically = CompressJPEG_TranscodeFlags: 2 "shift by CompressJPEG_TransformationTypeShift", + CompressJPEG_Rotate90Clockwise = CompressJPEG_TranscodeFlags: 3 "shift by CompressJPEG_TransformationTypeShift", + CompressJPEG_Rotate180 = CompressJPEG_TranscodeFlags: 4 "shift by CompressJPEG_TransformationTypeShift", + CompressJPEG_Rotate90AntiClockwise = CompressJPEG_TranscodeFlags: 5 "shift by CompressJPEG_TransformationTypeShift", + CompressJPEG_Transpose = CompressJPEG_TranscodeFlags: 6 "shift by CompressJPEG_TransformationTypeShift", + CompressJPEG_TransverseTranspose = CompressJPEG_TranscodeFlags: 7 "shift by CompressJPEG_TransformationTypeShift"; + + + CONST + Error_CompressJPEGBadBPP = .Bits: 0x8183C0, + Error_CompressJPEGBadLineCount = .Bits: 0x8183C1, + Error_CompressJPEGBadBuffer = .Bits: 0x8183C2, + Error_CompressJPEGBadSize = .Bits: 0x8183C3; + + CONST + Error_CompressJPEGArithNotImpl = .Bits: 0x81A881, + Error_CompressJPEGBadAlignType = .Bits: 0x81A882, + Error_CompressJPEGBadAllocChunk = .Bits: 0x81A883, + Error_CompressJPEGBadBufferMode = .Bits: 0x81A884, + Error_CompressJPEGBadComponentID = .Bits: 0x81A885, + Error_CompressJPEGBadDctSize = .Bits: 0x81A886, + Error_CompressJPEGBadInColourSpace = .Bits: 0x81A887, + Error_CompressJPEGBadKColourSpace = .Bits: 0x81A888, + Error_CompressJPEGBadLength = .Bits: 0x81A889, + Error_CompressJPEGBadMCUSize = .Bits: 0x81A88A, + Error_CompressJPEGBadPoolID = .Bits: 0x81A88B, + Error_CompressJPEGBadPrecision = .Bits: 0x81A88C, + Error_CompressJPEGBadSampling = .Bits: 0x81A88D, + Error_CompressJPEGBadState = .Bits: 0x81A88E, + Error_CompressJPEGBadVirtualAccess = .Bits: 0x81A88F, + Error_CompressJPEGBufferSize = .Bits: 0x81A890, + Error_CompressJPEGCantSuspend = .Bits: 0x81A891, + Error_CompressJPEGCCIR601NotImpl = .Bits: 0x81A892, + Error_CompressJPEGComponentCount = .Bits: 0x81A893, + Error_CompressJPEGConversionNotImpl = .Bits: 0x81A894, + Error_CompressJPEGDACIndex = .Bits: 0x81A895, + Error_CompressJPEGDACValue = .Bits: 0x81A896, + Error_CompressJPEGDHTIndex = .Bits: 0x81A897, + Error_CompressJPEGDQTIndex = .Bits: 0x81A898, + Error_CompressJPEGEmptyImage = .Bits: 0x81A899, + Error_CompressJPEGEOIExpected = .Bits: 0x81A89A, + Error_CompressJPEGFileRead = .Bits: 0x81A89B, + Error_CompressJPEGFileWrite = .Bits: 0x81A89C, + Error_CompressJPEGFractSampleNotImpl = .Bits: 0x81A89D, + Error_CompressJPEGHuffCLenOverflow = .Bits: 0x81A89E, + Error_CompressJPEGHuffMissingCode = .Bits: 0x81A89F, + Error_CompressJPEGImageTooBig = .Bits: 0x81A8A0, + Error_CompressJPEGInputEmpty = .Bits: 0x81A8A1, + Error_CompressJPEGInputEOF = .Bits: 0x81A8A2, + Error_CompressJPEGNotImpl = .Bits: 0x81A8A3, + Error_CompressJPEGNotCompiled = .Bits: 0x81A8A4, + Error_CompressJPEGNoBackingStore = .Bits: 0x81A8A5, + Error_CompressJPEGNoHuffTable = .Bits: 0x81A8A6, + Error_CompressJPEGNoImage = .Bits: 0x81A8A7, + Error_CompressJPEGNoQuantTable = .Bits: 0x81A8A8, + Error_CompressJPEGNoSOI = .Bits: 0x81A8A9, + Error_CompressJPEGOutOfMemory = .Bits: 0x81A8AA, + Error_CompressJPEGQuantComponents = .Bits: 0x81A8AB, + Error_CompressJPEGQuantFewColours = .Bits: 0x81A8AC, + Error_CompressJPEGQuantManyColours = .Bits: 0x81A8AD, + Error_CompressJPEGSOFDuplicate = .Bits: 0x81A8AE, + Error_CompressJPEGSOFNoSOS = .Bits: 0x81A8AF, + Error_CompressJPEGSOFUnsupported = .Bits: 0x81A8B0, + Error_CompressJPEGSOIDuplicate = .Bits: 0x81A8B1, + Error_CompressJPEGSOSNoSOF = .Bits: 0x81A8B2, + Error_CompressJPEGTooLittleData = .Bits: 0x81A8B3, + Error_CompressJPEGUnknownMarker = .Bits: 0x81A8B4, + Error_CompressJPEGVirtualBug = .Bits: 0x81A8B5, + Error_CompressJPEGWidthOverflow = .Bits: 0x81A8B6, + Error_CompressJPEGBadDCTCoef = .Bits: 0x81A8B7, + Error_CompressJPEGBadHuffTable = .Bits: 0x81A8B8, + Error_CompressJPEGBadProgression = .Bits: 0x81A8B9, + Error_CompressJPEGBadProgScript = .Bits: 0x81A8BA, + Error_CompressJPEGBadScanScript = .Bits: 0x81A8BB, + Error_CompressJPEGMismatchedQuantTable = .Bits: 0x81A8BC, + Error_CompressJPEGMissingData = .Bits: 0x81A8BD, + Error_CompressJPEGModeChange = .Bits: 0x81A8BE, + Error_CompressJPEGWBufferSize = .Bits: 0x81A8BF; + SWI CompressJPEG_Start = *************** *** 97,99 **** --- 211,227 ---- ( R2! -> .Data: image_data_end, R4 = .Int: lines_written + ) ); + + SWI + CompressJPEG_Transcode = + ( NUMBER 0x4A510 "Transcodes a JPEG from one form to another - RISC O S Select", + ENTRY + ( R0 = CompressJPEG_TranscodeFlags: flags, + R1 -> .Data: source_data, + R2 = .Int: source_size, + R3 = .Ref .Data: destination_data, + R4 = .Int: destination_size, + R5 = .Ref .Data: workspace, + R6 = .Int: workspace_size, + R7 -> CompressJPEG_ScanDescription: scans ) ) Index: DrawFile.swi =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/User/oslib/DrawFile.swi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DrawFile.swi 13 Mar 2002 13:45:03 -0000 1.2 --- DrawFile.swi 23 Nov 2002 12:13:00 -0000 1.3 *************** *** 73,79 **** TYPE DrawFile_RenderFlags = .Bits; CONST ! DrawFile_RenderBBoxes = DrawFile_RenderFlags: 0b1, ! DrawFile_RenderSuppress = DrawFile_RenderFlags: 0b10, ! DrawFile_RenderGivenFlatness = DrawFile_RenderFlags: 0b100; //Flags values for DrawFile_DeclareFonts --- 73,80 ---- TYPE DrawFile_RenderFlags = .Bits; CONST ! DrawFile_RenderBBoxes = DrawFile_RenderFlags: 0b1, ! DrawFile_RenderSuppress = DrawFile_RenderFlags: 0b10, ! DrawFile_RenderGivenFlatness = DrawFile_RenderFlags: 0b100, ! DrawFile_RenderGivenColourMapping = DrawFile_RenderFlags: 0b1000; //Flags values for DrawFile_DeclareFonts *************** *** 300,303 **** --- 301,319 ---- ); + SWI + DrawFile_RenderMapped = + ( NUMBER 0x45540 "RISC O S 4+", + ENTRY + ( R0 # DrawFile_RenderGivenColourMapping, + R0 | DrawFile_RenderFlags: flags, + R1 -> DrawFile_Diagram: diagram, + R2 = .Int: size, + R3 -> OS_Trfm: trfm, + R4 -> OS_Box: clip, + R5 = .Int: flatness, + R6 -> OSSpriteOp_ColourMapping: mapping + ) + ); + // Renders the |size| bytes of |diagram| using the given transformation //|trfm|. A rectangle |clip| may be assed in; this allows DrawFile_Render to *************** *** 352,356 **** .Ref OS_Box: clip, .Int: flatness, ! .Ref OS_Error: error ); --- 368,373 ---- .Ref OS_Box: clip, .Int: flatness, ! .Ref OS_Error: error, ! .Ref OSSpriteOp_ColourMapping: mapping "RISC O S 4+" ); Index: JPEG.swi =================================================================== RCS file: /cvsroot/ro-oslib/OSLib/!OsLib/Source/User/oslib/JPEG.swi,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** JPEG.swi 9 Mar 2002 11:13:23 -0000 1.1 --- JPEG.swi 23 Nov 2002 12:13:00 -0000 1.2 *************** *** 2,6 **** AUTHOR "Jonathan Coxhead, jon...@do..., 21 Aug 1995"; ! NEEDS OS; TYPE JPEG_InfoFlags = .Bits; --- 2,6 ---- AUTHOR "Jonathan Coxhead, jon...@do..., 21 Aug 1995"; ! NEEDS OS, OSSpriteOp; TYPE JPEG_InfoFlags = .Bits; *************** *** 13,23 **** CONST JPEG_ScaleDithered = JPEG_ScaleFlags: %1, ! JPEG_ScaleErrorDiffused = JPEG_ScaleFlags: %10; TYPE JPEG_TransformFlags = .Bits; CONST ! JPEG_DestinationCoords = JPEG_TransformFlags: %1, ! JPEG_TransformDithered = JPEG_TransformFlags: %10, ! JPEG_TransformErrorDiffused = JPEG_TransformFlags: %100; CONST --- 13,29 ---- CONST JPEG_ScaleDithered = JPEG_ScaleFlags: %1, ! JPEG_ScaleErrorDiffused = JPEG_ScaleFlags: %10, ! JPEG_ScaleGivenColourMapping = JPEG_ScaleFlags: %100, ! JPEG_ScaleTranslucency = JPEG_ScaleFlags: %111111110000, ! JPEG_ScaleTranslucencyShift = .Int: 4; TYPE JPEG_TransformFlags = .Bits; CONST ! JPEG_DestinationCoords = JPEG_TransformFlags: %1, ! JPEG_TransformDithered = JPEG_TransformFlags: %10, ! JPEG_TransformErrorDiffused = JPEG_TransformFlags: %100, ! JPEG_TransformGivenColourMapping = JPEG_TransformFlags: %1000, ! JPEG_TransformTranslucency = JPEG_TransformFlags: %1111111100000, ! JPEG_TransformTranslucencyShift = .Int: 5; CONST *************** *** 74,77 **** --- 80,96 ---- ) ); + SWI JPEG_PlotScaledMapped = + ( NUMBER 0x49982 "Plots a JPEG image from memory with colour mapping - RISC O S 4+", + ENTRY + ( R0 -> JPEG_Image: image, + R1 = .Int: x, + R2 = .Int: y, + R3 -> OS_Factors: factors, + R4 = .Int: size, + R5 # JPEG_ScaleGivenColourMapping, + R5 | JPEG_ScaleFlags: flags, + R6 -> OSSpriteOp_ColourMapping: mapping + ) ); + SWI JPEG_PlotFileScaled = ( NUMBER 0x49983 "Plots a JPEG image from a file - RISC O S 3.6+", *************** *** 84,87 **** --- 103,118 ---- ) ); + SWI JPEG_PlotFileScaledMapped = + ( NUMBER 0x49983 "Plots a JPEG image from a file with colour mapping - RISC O S 4+", + ENTRY + ( R0 -> .String: file_name, + R1 = .Int: x, + R2 = .Int: y, + R3 -> OS_Factors: factors, + R4 # JPEG_ScaleGivenColourMapping, + R4 | JPEG_ScaleFlags: flags, + R5 -> OSSpriteOp_ColourMapping: mapping + ) ); + SWI JPEG_PlotTransformed = ( NUMBER 0x49984 "Plots a JPEG image from memory using a transformation matrix - RISC O S 3.6+", *************** *** 93,96 **** --- 124,138 ---- ) ); + SWI JPEG_PlotTransformedMapped = + ( NUMBER 0x49984 "Plots a JPEG image from memory using a transformation matrix with colour mapping - RISC O S 4+", + ENTRY + ( R0 -> JPEG_Image: image, + R1 # JPEG_TransformGivenColourMapping, + R1 | JPEG_TransformFlags: flags, + R2 -> OS_Trfm: trfm_or_rect, + R3 = .Int: size, + R4 -> OSSpriteOp_ColourMapping: mapping + ) ); + SWI JPEG_PlotFileTransformed = ( NUMBER 0x49985 "Plots a JPEG image from a file using a transformation matrix - RISC O S 3.6+", *************** *** 99,102 **** --- 141,154 ---- R1 = JPEG_TransformFlags: flags, R2 -> OS_Trfm: trfm_or_rect + ) ); + + SWI JPEG_PlotFileTransformedMapped = + ( NUMBER 0x49985 "Plots a JPEG image from a file using a transformation matrix with colour mapping - RISC O S 4+", + ENTRY + ( R0 -> .String: file_name, + R1 # JPEG_TransformGivenColourMapping, + R1 | JPEG_TransformFlags: flags, + R2 -> OS_Trfm: trfm_or_rect, + R3 -> OSSpriteOp_ColourMapping: mapping ) ); |