|
orcus
|
2D accelerator More...
Data Structures | |
| struct | Graphic |
| Defines a graphic, be it on or off-screen. More... | |
| struct | RasterPattern |
| Defines the pattern setup for raster operations. More... | |
| struct | Rect |
| Defines a rectangular area. More... | |
Macros | |
| #define | ROP_DPSao 0xEA |
| Pre-defined GDI ternary raster operation, the full list can be found on the Microsoft website. | |
| #define | ROP_PATCOPY 0xF0 |
| Pre-defined GDI ternary raster operation, the full list can be found on the Microsoft website. | |
| #define | ROP_SPno 0xCF |
| Pre-defined GDI ternary raster operation, the full list can be found on the Microsoft website. | |
| #define | ROP_SRCCOPY 0xCC |
| Pre-defined GDI ternary raster operation, the full list can be found on the Microsoft website. | |
Enumerations | |
| enum | Angle { DEG0 = 0 , DEG90 = 1 , DEG180 = 2 , DEG270 = 3 } |
| Rotation angle. More... | |
Functions | |
| void | rgbBlit (Graphic *src, Rect *srcRect, Graphic *dest, int x, int y, bool enableTransparency) |
| Configure a blit raster operation. More... | |
| void | rgbBlit1bpp (Graphic *src, Rect *srcRect, Graphic *dest, int x, int y, bool enableTransparency, uint16_t fgCol, uint16_t bgCol) |
| Configure a 1bpp blit raster operation. More... | |
| void | rgbPatternFill (Graphic *dest, Rect *region, RasterPattern *pattern, bool enableTransparency) |
| Configure a pattern fill raster operation. More... | |
| bool | rgbRasterIsRunning () |
| Check if a raster operation is currently being run. More... | |
| void | rgbRasterOp (Graphic *src, Rect *srcRect, Graphic *dest, Rect *destRect, uint8_t rasterOp, RasterPattern *pattern, bool enableTransparency, uint16_t srcFgCol, uint16_t srcBgCol) |
| Configure a raster operation. More... | |
| void | rgbRasterRun () |
| Start running pre-configured raster operation. More... | |
| void | rgbRasterWaitComplete () |
| Wait until the current raster operation has completed. More... | |
| void | rgbRotBlit (Graphic *src, Rect *srcRect, Graphic *dest, int x, int y, Angle angle) |
| Configure a rotation blit operation. More... | |
| bool | rgbRotIsRunning () |
| Check if a rotation operation is currently being run. More... | |
| void | rgbRotRun () |
| Start running pre-configured rotation operation. More... | |
| void | rgbRotWaitComplete () |
| Wait until the current rotation operation has completed. More... | |
| void | rgbSetTransparencyColour (uint16_t colour) |
| Set the transparent colour. More... | |
| void | rgbSolidFill (Graphic *dest, Rect *region, uint16_t colour) |
| Configure a solid fill raster operation. More... | |
Variables | |
| volatile uint32_t * | pattern |
| Pointer to start of pattern graphic data. More... | |
| enum Angle |
| void rgbBlit | ( | Graphic * | src, |
| Rect * | srcRect, | ||
| Graphic * | dest, | ||
| int | x, | ||
| int | y, | ||
| bool | enableTransparency | ||
| ) |
Configure a blit raster operation.
| src | Source graphic to copy |
| srcRect | Area of source graphic to copy |
| dest | Destination graphic to copy onto |
| x | X-coordinate of upper left hand corner of where the source graphic should be drawn on the destination |
| y | Y-coordinate of upper left hand corner of where the source graphic should be drawn on the destination |
| enableTransparency | The transparent colour will be omitted from the copy if true |
| void rgbBlit1bpp | ( | Graphic * | src, |
| Rect * | srcRect, | ||
| Graphic * | dest, | ||
| int | x, | ||
| int | y, | ||
| bool | enableTransparency, | ||
| uint16_t | fgCol, | ||
| uint16_t | bgCol | ||
| ) |
Configure a 1bpp blit raster operation. Where the source image is 1bpp, the 2d accelerator will convert it to the destination format by using the supplied foreground and background colours.
| src | Source graphic to copy |
| srcRect | Area of source graphic to copy |
| dest | Destination graphic to copy onto |
| x | X-coordinate of upper left hand corner of where the source graphic should be drawn on the destination |
| y | Y-coordinate of upper left hand corner of where the source graphic should be drawn on the destination |
| enableTransparency | The transparent colour will be omitted from the copy if true |
| fgCol | Foreground colour in the destination format |
| bgCol | Background colour in the destination format |
| void rgbPatternFill | ( | Graphic * | dest, |
| Rect * | region, | ||
| RasterPattern * | pattern, | ||
| bool | enableTransparency | ||
| ) |
Configure a pattern fill raster operation, where a region on the destination will be filled with the repeated pattern.
| dest | Destination graphic to fill |
| region | Region of destination to fill |
| pattern | Configuration of pattern to fill with |
| enableTransparency | The transparent colour will be omitted from the fill |
| bool rgbRasterIsRunning | ( | ) |
Check if a raster operation is currently being run.
| void rgbRasterOp | ( | Graphic * | src, |
| Rect * | srcRect, | ||
| Graphic * | dest, | ||
| Rect * | destRect, | ||
| uint8_t | rasterOp, | ||
| RasterPattern * | pattern, | ||
| bool | enableTransparency, | ||
| uint16_t | srcFgCol, | ||
| uint16_t | srcBgCol | ||
| ) |
Configure a raster operation. This is a lower level function which is used by all the other raster functions, one can use this to configure a custom ternary raster operation which can combine source, pattern and destination pixels in a variety of ways (see the Microsoft documentation for full details on GDI ternary raster operations).
| src | Source graphic to copy (NULL if not used) |
| srcRect | Area of source graphic to copy (NULL if not used) |
| dest | Destination graphic to render onto |
| destRect | Area of destination graphic to render onto |
| pattern | Configuration of pattern (NULL if not used) |
| enableTransparency | The transparent colour will be omitted from the copy if true |
| srcFgCol | Foreground colour to use when expanding 1bpp source, in the destination format |
| srcBgCol | Background colour to use when expanding 1bpp source, in the destination format |
| void rgbRasterRun | ( | ) |
Start running pre-configured raster operation.
| void rgbRasterWaitComplete | ( | ) |
Wait until the current raster operation has completed.
Configure a rotation blit operation.
| src | Source graphic to copy |
| srcRect | Area of source graphic to copy |
| dest | Destination graphic to copy onto |
| x | X-coordinate of upper left hand corner of where the source graphic should be drawn on the destination |
| y | Y-coordinate of upper left hand corner of where the source graphic should be drawn on the destination |
| angle | The angle to rotate the source image by when drawing onto the destination |
| bool rgbRotIsRunning | ( | ) |
Check if a rotation operation is currently being run.
| void rgbRotRun | ( | ) |
Start running pre-configured rotation operation.
| void rgbRotWaitComplete | ( | ) |
Wait until the current rotation operation has completed.
| void rgbSetTransparencyColour | ( | uint16_t | colour | ) |
Sets the colour to be considered transparent in a source when performing a raster operation - this colour will be omitted. By default this is set to magenta (0xF81F in RGB565).
Configure a solid fill raster operation.
| dest | Destination graphic to fill |
| region | Region of destination to fill |
| colour | Colour to fill area with in destination format |
|
extern |
Pointer to the start of the 8x8 graphic data. This is 128B long to accommodate an 8x8 RGB565 pattern.