h6. [[OS SWI Calls]] h6(. » [[OS_SpriteOp]] h6((. » OS_SpriteOp 52 - Paint Sprite Scaled h2. OS_SpriteOp 52 - Paint Sprite Scaled h5. (SWI &2E) |_<^{width:4em}. Entry | | |<^. R0 |<^. 52 (Reason code) + [[OS_SpriteOp|Area value]]| |<^. R1 |<^. Unused/[[Format Of Sprite Area|Sprite area]] (as defined by area value in R0) | |<^. R2 |<^. Sprite name/[[Format Of Sprite|pointer]] (as defined by area value in R0) | |<^. R3 |<^. X coordinate | |<^. R4 |<^. Y coordinate | |<^. R5 |<^. [[OS_SpriteOp Scaled/Transformed Plot Flags|Flags]] | |<^. R6 |<^. Pointer to [[OS_SpriteOp Scale Factors|scaling factors]], or 0 for 1:1 scaling | |<^. R7 |<^. Pointer to pixel translation table / [[Colour Mapping Descriptor]], or 0 for no translation | |_<^{width:4em}. Exit | | |\2<^. All registers preserved| h4. Use This call paints a scaled sprite to the screen. When supplied with the right translation table, it is able to paint a sprite created in any source mode to any destination mode. If a translation table is not supplied when one is required, an error will be generated. Therefore when plotting arbitrary sprites it is recommended to always call [[ColourTrans_SelectTable]] or [[ColourTrans_GenerateTable]] before the plot in order to generate a suitable table. h4. Notes Coordinates are in OS units, and specify the bottom-left corner of the sprite. 1:1 scaling maps directly from source pixels to destination pixels; the DPI and eigen values of the source and destination are ignored. See [[OS_SpriteOp Scaled/Transformed Plot Flags]] for details on how the flags affect the plot operation and dictate some of the input parameters. [[OS_SpriteOp 34|OS_SpriteOp 34 - Put sprite at user coords]] is a less sophisticated sprite plotting interface which can be used in certain situations. If you have large numbers of sprites to render and are concerned about performance, consider using that call where possible. Per-pixel performance will be identical to OS_SpriteOp 52, but there will be lower overheads per sprite rendered. h4. See also * [[Format Of Sprite]] * [[Format Of Sprite Area]] * [[OS_SpriteOp]] * [[OS_SpriteOp Scaled/Transformed Plot Flags]] * [[OS_SpriteOp Scale Factors]] * [[OS_SpriteOp 34|OS_SpriteOp 34 - Put sprite at user coords]] * [[ColourTrans_SelectTable]] * [[ColourTrans_GenerateTable]] * [[Colour Mapping Descriptor]]