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.