Showing changes from revision #1 to #2:
Added | Removed | Changed
Entry | |
---|---|
R0 | 49 (Reason code) + Area value |
R1 | Unused/Sprite area (as defined by area value in R0) |
R2 | Sprite name/pointer (as defined by area value in R0) |
R3 | X coordinate |
R4 | Y coordinate |
Exit | |
---|---|
All registers preserved |
This call paints a sprite mask to the screen. For sprite pixels where the mask is non-zero, the corresponding screen pixel will be set to the currently selected background colour. If the mask is zero the screen pixel will not be updated.
This call does not attempt to translate between different colour depths. Unless you know the source and destination are in compatible modes, it’s recommended to use OS_SpriteOp 50 - Plot Mask Scaled instead. However due to the overheads involved in OS_SpriteOp 50, using OS_SpriteOp 49 where possible can result in significant performance gains.
Coordinates are in OS units, and specify the bottom-left corner of the sprite.
No scaling is performed; source pixels will map directly to destination pixels, regardless of the sprite DPI or screen eigen values.
When used on a sprite without a mask, a filled rectangle the size of the scaled sprite will be drawn.
This call does not support plotting of alpha masks.