FabGL
ESP32 Display Controller and Graphics Library
|
Represents the VGA 2 colors bitmapped controller. More...
#include <vga2controller.h>
Public Member Functions | |
void | begin () |
This is the 64 colors (8 GPIOs) initializer using default pinout. More... | |
void | begin (gpio_num_t red1GPIO, gpio_num_t red0GPIO, gpio_num_t green1GPIO, gpio_num_t green0GPIO, gpio_num_t blue1GPIO, gpio_num_t blue0GPIO, gpio_num_t HSyncGPIO, gpio_num_t VSyncGPIO) |
This is the 64 colors (8 GPIOs) initializer. More... | |
void | begin (gpio_num_t redGPIO, gpio_num_t greenGPIO, gpio_num_t blueGPIO, gpio_num_t HSyncGPIO, gpio_num_t VSyncGPIO) |
This is the 8 colors (5 GPIOs) initializer. More... | |
virtual int | colorsCount () |
Determines number of colors this display can provide. More... | |
DisplayControllerType | controllerType () |
Determines the display controller type. More... | |
uint8_t | createRawPixel (RGB222 rgb) |
Creates a raw pixel to use with VGAController.setRawPixel. More... | |
void | enableBackgroundPrimitiveExecution (bool value) |
Enables or disables drawings inside vertical retracing time. More... | |
void | enableBackgroundPrimitiveTimeout (bool value) |
Enables or disables execution time limitation inside vertical retracing interrupt. More... | |
uint8_t | getBitsPerChannel () |
Gets number of bits allocated for each channel. More... | |
uint8_t * | getScanline (int y) |
Gets a raw scanline pointer. More... | |
int | getScreenHeight () |
Determines the screen height in pixels. More... | |
int | getScreenWidth () |
Determines the screen width in pixels. More... | |
int | getViewPortCol () |
Determines horizontal position of the viewport. More... | |
int | getViewPortHeight () |
Determines vertical size of the viewport. More... | |
int | getViewPortRow () |
Determines vertical position of the viewport. More... | |
int | getViewPortWidth () |
Determines horizontal size of the viewport. More... | |
bool | isDoubleBuffered () |
Determines whether BitmappedDisplayController is on double buffered mode. More... | |
void | moveScreen (int offsetX, int offsetY) |
Moves screen by specified horizontal and vertical offset. More... | |
NativePixelFormat | nativePixelFormat () |
Represents the native pixel format used by this display. More... | |
void | processPrimitives () |
Draws immediately all primitives in the queue. More... | |
void | refreshSprites () |
Forces the sprites to be updated. More... | |
void | removeSprites () |
Empties the list of active sprites. More... | |
void | setMouseCursor (Cursor *cursor) |
Sets mouse cursor and make it visible. More... | |
void | setMouseCursor (CursorName cursorName) |
Sets mouse cursor from a set of predefined cursors. More... | |
void | setMouseCursorPos (int X, int Y) |
Sets mouse cursor position. More... | |
void | setPaletteItem (int index, RGB888 const &color) |
Determines color of specified palette item. More... | |
void | setProcessPrimitivesOnBlank (bool value) |
Determines the maximum time allowed to process primitives. More... | |
void | setResolution (char const *modeline, int viewPortWidth=-1, int viewPortHeight=-1, bool doubleBuffered=false) |
Sets current resolution using linux-like modeline. More... | |
template<typename T > | |
void | setSprites (T *sprites, int count) |
Sets the list of active sprites. More... | |
void | shrinkScreen (int shrinkX, int shrinkY) |
Reduces or expands screen size by the specified horizontal and vertical offset. More... | |
void | suspendBackgroundPrimitiveExecution () |
Suspends drawings. More... | |
Static Public Member Functions | |
static VGA2Controller * | instance () |
Returns the singleton instance of VGA2Controller class. More... | |
Static Public Attributes | |
static int | queueSize = 1024 |
Size of display controller primitives queue. More... | |
Represents the VGA 2 colors bitmapped controller.
This VGA controller allows just 2 colors, but requires less (1/8) RAM than VGAController, at the same resolution. Each pixel is represented by 1 bit, which is an index to a palette of 2 colors. Each byte of the frame buffer contains eight pixels. For example, a frame buffer of 640x480 requires about 40K of RAM. This controller also allows higher resolutions, up to 1280x768.
VGA2Controller output consumes up to 10% of one CPU core (measured at 640x480x60Hz).
This example initializes VGA Controller with 64 colors (2 visible at the same time) at 640x480:
fabgl::VGA2Controller displayController; // the default assigns GPIO22 and GPIO21 to Red, GPIO19 and GPIO18 to Green, GPIO5 and GPIO4 to Blue, GPIO23 to HSync and GPIO15 to VSync displayController.begin(); displayController.setResolution(VGA_640x480_60Hz);
Definition at line 83 of file vga2controller.h.