This service provides an interface to drawing graphics on a graphical display.
The graphics service consists of the following:
- Display driver interface (gfx.h)
- General graphics drawing primitives (gfx_generic.h)
- Display and controller specific implementation (ex. gfx_hx8347a_et024006dhu.h)
- Display controller driver (ex. hx8347a.c/h)
The display driver interface provides an general interface to be used by the application or by libraries.
The generic drawing primitives is a library of functions for drawing graphics primitives such as lines, rectangles and circles. It uses other functions implemented by the display driver for drawing the primitives. The implementation of these functions can optionally be used by a display driver, but if the hardware of the display allows faster handling of any of the primitives, the display driver can implement it directly.
The display specific drivers provides an interface to the graphical display via the display controller. It implements the low level communication with the display hardware, putting pixels on the display and drawing primitives such as lines, circles and rectangles. Depending on the display driver implementation, drawing the graphics primitives might be handled by the generic graphics drawing primitives rather than the display driver itself.
|
#define | GFX_COLOR_BLACK GFX_COLOR( 0, 0, 0) |
|
#define | GFX_COLOR_WHITE GFX_COLOR(255, 255, 255) |
|
#define | GFX_COLOR_GRAY GFX_COLOR(128, 128, 128) |
|
#define | GFX_COLOR_RED GFX_COLOR(255, 0, 0) |
|
#define | GFX_COLOR_DK_RED GFX_COLOR(128, 0, 0) |
|
#define | GFX_COLOR_GREEN GFX_COLOR( 0, 255, 0) |
|
#define | GFX_COLOR_DK_GREEN GFX_COLOR( 0, 128, 0) |
|
#define | GFX_COLOR_BLUE GFX_COLOR( 0, 0, 255) |
|
#define | GFX_COLOR_DK_BLUE GFX_COLOR( 0, 0, 128) |
|
#define | GFX_COLOR_MAGENTA GFX_COLOR(255, 0, 255) |
|
#define | GFX_COLOR_DK_MAGENTA GFX_COLOR(128, 0, 128) |
|
#define | GFX_COLOR_YELLOW GFX_COLOR(255, 255, 0) |
|
#define | GFX_COLOR_DK_YELLOW GFX_COLOR(128, 128, 0) |
|
#define | GFX_COLOR_CYAN GFX_COLOR( 0, 255, 255) |
|
#define | GFX_COLOR_DK_CYAN GFX_COLOR( 0, 128, 128) |
|
Generate a display-native color value from constant RGB components.
It is not possible to define a color that is outside the color spectrum for the ILI9488 driver, hence use a dark color as an invalid color.
This macro does the same job as gfx_color(), except that the RGB values must be constant, and that it is usable as a static initializer.
Referenced by gfx_ili9488_color().
#define GFX_COLOR_CYAN GFX_COLOR( 0, 255, 255) |
#define GFX_COLOR_DK_BLUE GFX_COLOR( 0, 0, 128) |
#define GFX_COLOR_DK_CYAN GFX_COLOR( 0, 128, 128) |
#define GFX_COLOR_DK_GREEN GFX_COLOR( 0, 128, 0) |
#define GFX_COLOR_DK_MAGENTA GFX_COLOR(128, 0, 128) |
#define GFX_COLOR_DK_RED GFX_COLOR(128, 0, 0) |
#define GFX_COLOR_DK_YELLOW GFX_COLOR(128, 128, 0) |
#define GFX_COLOR_GRAY GFX_COLOR(128, 128, 128) |
#define GFX_COLOR_GREEN GFX_COLOR( 0, 255, 0) |
Value returned by gfx_get_pixel() for pixels outside clipping region.
It is not possible to define a color that is outside the color spectrum for the ILI9488 driver, hence use a very uncommon strong magenta color as transparency mask color.
Referenced by gfx_ili9488_get_pixel().
#define GFX_COLOR_MAGENTA GFX_COLOR(255, 0, 255) |
#define GFX_COLOR_TRANSPARENT GFX_COLOR(240, 0, 240) |
Value used as input to font functions to give a transparent background region.
Referenced by gfx_draw_char(), and main().
#define GFX_COLOR_WHITE GFX_COLOR(255, 255, 255) |
#define GFX_COLOR_YELLOW GFX_COLOR(255, 255, 0) |
Data type for color values native to the display.
Data type representing a coordinate on the screen.