Pervasive Displays Library Suite - Reference Manual 9.0.3
Library for Pervasive Displays e-paper screens, extension boards and development kits
|
Generic screen virtual class. More...
#include <hV_Screen_Virtual.h>
Public Member Functions | |
hV_Screen_Virtual ()=default | |
Constructor. | |
~hV_Screen_Virtual ()=default | |
Destructor. | |
virtual void | setMarginXY (uint16_t marginX=0, uint16_t marginY=0)=0 |
Set margins for logical screen. | |
virtual uint16_t | screenMarginX ()=0 |
Margin size, x-axis. | |
virtual uint16_t | screenMarginY ()=0 |
Margin size, y-axis. | |
General | |
virtual void | begin ()=0 |
Initialisation. | |
virtual STRING_TYPE | WhoAmI ()=0 |
Request information about the screen. | |
virtual void | clear (uint16_t colour=myColours.black)=0 |
Clear the screen. | |
virtual void | flush ()=0 |
Send frame-buffer to display. | |
virtual void | setOrientation (uint8_t orientation)=0 |
Set orientation. | |
virtual uint8_t | getOrientation ()=0 |
Get orientation. | |
virtual uint16_t | screenSizeX ()=0 |
Screen size, x-axis. | |
virtual uint16_t | screenSizeY ()=0 |
Screen size, y-axis. | |
virtual uint16_t | screenDiagonal ()=0 |
Screen size, diagonal. | |
virtual uint8_t | screenColourBits ()=0 |
Screen colour depth. | |
Standard graphics | |
virtual void | circle (uint16_t x0, uint16_t y0, uint16_t radius, uint16_t colour)=0 |
Draw circle. | |
virtual void | line (uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t colour)=0 |
Draw line, rectangle coordinates. | |
virtual void | setPenSolid (bool flag=true)=0 |
Set pen opaque. | |
virtual bool | getPenSolid ()=0 |
Get pen mode. | |
virtual void | triangle (uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t x3, uint16_t y3, uint16_t colour)=0 |
Draw triangle, rectangle coordinates. | |
virtual void | rectangle (uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t colour)=0 |
Draw rectangle, rectangle coordinates. | |
virtual void | roundedRectangle (uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t radius, uint16_t colour)=0 |
Draw rectangle, rectangle coordinates. | |
virtual void | point (uint16_t x1, uint16_t y1, uint16_t colour)=0 |
Draw pixel. | |
Advanced graphics | |
virtual void | arc (uint16_t x0, uint16_t y0, uint16_t radius, uint16_t start, uint16_t end, uint16_t colour)=0 |
Draw arc. | |
virtual void | level (uint16_t x0, uint16_t y0, uint16_t radius, uint16_t start, uint16_t end, uint16_t colour)=0 |
Draw level in a circle. | |
virtual void | ring (uint16_t x0, uint16_t y0, uint16_t inner, uint16_t outer, uint16_t colour)=0 |
Draw ring. | |
Vector coordinates | |
virtual void | dLine (uint16_t x0, uint16_t y0, uint16_t dx, uint16_t dy, uint16_t colour)=0 |
Draw line, vector coordinates. | |
virtual void | dRectangle (uint16_t x0, uint16_t y0, uint16_t dx, uint16_t dy, uint16_t colour)=0 |
Draw rectangle, vector coordinates. | |
virtual void | dRoundedRectangle (uint16_t x0, uint16_t y0, uint16_t dx, uint16_t dy, uint16_t radius, uint16_t colour)=0 |
Draw rounded rectangle, vector coordinates. | |
Text | |
virtual void | setFontSolid (bool flag=true)=0 |
Set transparent or opaque text. | |
virtual uint16_t | characterSizeX (uint8_t character=0x00)=0 |
Character size, x-axis. | |
virtual uint16_t | characterSizeY ()=0 |
Character size, y-axis. | |
virtual uint16_t | stringSizeX (STRING_CONST_TYPE text)=0 |
String size, x-axis. | |
virtual uint8_t | stringLengthToFitX (STRING_CONST_TYPE text, uint16_t pixels)=0 |
Number of characters to fit a size, x-axis. | |
virtual void | gText (uint16_t x0, uint16_t y0, STRING_CONST_TYPE text, uint16_t textColour=myColours.white, uint16_t backColour=myColours.black)=0 |
Draw ASCII Text (pixel coordinates) | |
virtual void | selectFont (uint8_t font)=0 |
Select font. | |
virtual uint8_t | getFont ()=0 |
Get font number. | |
virtual uint8_t | fontMax ()=0 |
Number of fonts. | |
Energy features | |
virtual bool | isEnergy ()=0 |
Does the screen provide energy features? | |
virtual bool | isIntensity ()=0 |
Is screen backlight variable? | |
virtual void | setBacklight (bool state)=0 |
Turn display backlight on or off. | |
virtual void | setIntensity (uint8_t intensity)=0 |
Set display backlight intensity. | |
virtual uint8_t | getIntensity ()=0 |
Get display backlight intensity. | |
virtual void | setEnergy (uint32_t seconds=3)=0 |
Set delay for power saving. | |
virtual void | updateEnergy (bool state)=0 |
Update power saving. | |
Advanced features | |
virtual bool | isReadable ()=0 |
Is screen readable? | |
virtual bool | isStorage ()=0 |
Does the screen feature an external storage? | |
virtual uint16_t | readPixel (uint16_t x1, uint16_t y1)=0 |
Read pixel colour. | |
virtual void | copyPasteArea (uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t dx, uint16_t dy)=0 |
Copy a source area to a target area. | |
virtual void | copyArea (uint16_t x0, uint16_t y0, uint16_t dx, uint16_t dy, uint32_t &address)=0 |
Copy an area to an external support. | |
virtual void | pasteArea (uint16_t x0, uint16_t y0, uint16_t dx, uint16_t dy, uint32_t &address, bool option=false)=0 |
Paste an area from an external support. | |
Fast area features | |
Specific to each controller | |
virtual bool | isArea ()=0 |
Is area available? | |
virtual void | openArea (uint16_t x0, uint16_t y0, uint16_t dx, uint16_t dy)=0 |
Open an area for fast sequential writing. | |
virtual void | feedArea (uint16_t colour)=0 |
Feed the area with colour. | |
virtual void | closeArea ()=0 |
Close the area previously opened. | |
Touch | |
virtual bool | isTouch ()=0 |
Is touch available? | |
virtual bool | isTouchEvent ()=0 |
Are touch events available? | |
virtual bool | getTouch (touch_t &touch)=0 |
Poll touch. | |
virtual void | clearTouch ()=0 |
Clear touch. | |
virtual void | calibrateTouch ()=0 |
Calibrate the touch. | |
Generic screen virtual class.
This class provides the virtual functions for the screens
|
pure virtual |
Draw arc.
x0 | center, point coordinate, x-axis |
y0 | center, point coordinate, y-axis |
radius | radius |
start | starting angle, in degrees |
end | ending angle, in degrees |
colour | 16-bit colour |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Initialisation.
Implemented in hV_Screen_Buffer, and Screen_EPD.
|
pure virtual |
Character size, x-axis.
character | character to evaluate, default = 0 = font general size |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Character size, y-axis.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw circle.
x0 | center, point coordinate, x-axis |
y0 | center, point coordinate, y-axis |
radius | radius |
colour | 16-bit colour |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Clear the screen.
colour | 16-bit colour, default = black |
Implemented in hV_Screen_Buffer, and Screen_EPD.
|
pure virtual |
Copy an area to an external support.
x0 | source top left coordinate, x-axis |
y0 | source top left coordinate, y-axis |
dx | width to be copied, x-axis |
dy | height to be copied, y-axis |
address | identifier, as SRAM address or file number |
More: Coordinates, Screen, Storage
Implemented in hV_Screen_Buffer.
|
pure virtual |
Copy a source area to a target area.
x1 | source top left coordinate, x-axis |
y1 | source top left coordinate, y-axis |
x2 | target top left coordinate, x-axis |
y2 | target top left coordinate, y-axis |
dx | width to be copied, x-axis |
dy | height to be copied, y-axis |
More: Coordinates, Screen
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw line, vector coordinates.
x0 | point coordinate, x-axis |
y0 | point coordinate, y-axis |
dx | length, x-axis |
dy | height, y-axis |
colour | 16-bit colour |
More: Coordinates, Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw rectangle, vector coordinates.
x0 | point coordinate, x-axis |
y0 | point coordinate, y-axis |
dx | length, x-axis |
dy | height, y-axis |
colour | 16-bit colour |
More: Coordinates, Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw rounded rectangle, vector coordinates.
x0 | point coordinate, x-axis |
y0 | point coordinate, y-axis |
dx | length, x-axis |
dy | height, y-axis |
radius | radius for rounded corners, pixels |
colour | 16-bit colour |
More: Coordinates, Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Feed the area with colour.
Maximum dx*dy pixels, no check
colour | 16-bit colour |
More: Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Number of fonts.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Get font number.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Get display backlight intensity.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Get orientation.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Get pen mode.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Poll touch.
[out] | touch | touch struture |
More: Coordinates, Touch
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw ASCII Text (pixel coordinates)
x0 | point coordinate, x-axis |
y0 | point coordinate, y-axis |
text | text string |
textColour | 16-bit colour, default = white |
backColour | 16-bit colour, default = black |
More: Colours, Fonts
Implemented in hV_Screen_Buffer.
|
pure virtual |
|
pure virtual |
Does the screen provide energy features?
More: Energy
Implemented in hV_Screen_Buffer.
|
pure virtual |
Is screen backlight variable?
More: Screen
Implemented in hV_Screen_Buffer.
|
pure virtual |
Is screen readable?
More: Screen
Implemented in hV_Screen_Buffer.
|
pure virtual |
Does the screen feature an external storage?
More: Storage
Implemented in hV_Screen_Buffer.
|
pure virtual |
Is touch available?
Implemented in hV_Screen_Buffer.
|
pure virtual |
Are touch events available?
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw level in a circle.
x0 | center, point coordinate, x-axis |
y0 | center, point coordinate, y-axis |
radius | radius |
start | starting angle, in degrees |
end | ending angle, in degrees |
colour | 16-bit colour |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw line, rectangle coordinates.
x1 | top left coordinate, x-axis |
y1 | top left coordinate, y-axis |
x2 | bottom right coordinate, x-axis |
y2 | bottom right coordinate, y-axis |
colour | 16-bit colour |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Open an area for fast sequential writing.
x0 | source top left coordinate, x-axis |
y0 | source top left coordinate, y-axis |
dx | target to be pasted, x-axis |
dy | target to be pasted, y-axis |
More: Coordinates
Implemented in hV_Screen_Buffer.
|
pure virtual |
Paste an area from an external support.
x0 | source top left coordinate, x-axis |
y0 | source top left coordinate, y-axis |
dx | target to be pasted, x-axis |
dy | target to be pasted, y-axis |
address | identifier, as SRAM address or file number |
option | false = default = original colours, true = halved colours |
More: Coordinates, Screen, Storage
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw pixel.
x1 | point coordinate, x-axis |
y1 | point coordinate, y-axis |
colour | 16-bit colour |
More: Coordinates, Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Read pixel colour.
x1 | point coordinate, x-axis |
y1 | point coordinate, y-axis |
More: Coordinates, Colours, Screen
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw rectangle, rectangle coordinates.
x1 | top left coordinate, x-axis |
y1 | top left coordinate, y-axis |
x2 | bottom right coordinate, x-axis |
y2 | bottom right coordinate, y-axis |
colour | 16-bit colour |
More: Coordinates, Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw ring.
x0 | center, point coordinate, x-axis |
y0 | center, point coordinate, y-axis |
inner | inner radius |
outer | outer radius |
colour | 16-bit colour |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw rectangle, rectangle coordinates.
x1 | top left coordinate, x-axis |
y1 | top left coordinate, y-axis |
x2 | bottom right coordinate, x-axis |
y2 | bottom right coordinate, y-axis |
radius | radius for rounded corners, pixels |
colour | 16-bit colour |
More: Coordinates, Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Screen colour depth.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Screen size, diagonal.
Implemented in hV_Screen_Buffer.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Screen size, x-axis.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Screen size, y-axis.
Implemented in hV_Screen_Buffer.
|
pure virtual |
Select font.
font | 0..fontMax()-1, default = 0 |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Turn display backlight on or off.
state | true = HIGH = on, false = LOW = off |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Set delay for power saving.
seconds | idle period in seconds before power saving, default = 3 s |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Set transparent or opaque text.
flag | default = 1 = opaque = solid, false = transparent |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Set display backlight intensity.
intensity | 0..255 |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Set margins for logical screen.
marginX | x-axis margin in pixels |
marginY | y-axis margin in pixels |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Set orientation.
orientation | orientation,
|
Implemented in hV_Screen_Buffer.
|
pure virtual |
Set pen opaque.
flag | default = true = opaque = solid, false = wire frame |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Number of characters to fit a size, x-axis.
text | string to evaluate |
pixels | number of pixels to fit in |
Implemented in hV_Screen_Buffer.
|
pure virtual |
String size, x-axis.
text | string to evaluate |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Draw triangle, rectangle coordinates.
x1 | first point coordinate, x-axis |
y1 | first point coordinate, y-axis |
x2 | second point coordinate, x-axis |
y2 | second point coordinate, y-axis |
x3 | third point coordinate, x-axis |
y3 | third point coordinate, y-axis |
colour | 16-bit colour |
More: Coordinates, Colours
Implemented in hV_Screen_Buffer.
|
pure virtual |
Update power saving.
state | true = update or start new period or false = check period |
Implemented in hV_Screen_Buffer.
|
pure virtual |
Request information about the screen.
Implemented in hV_Screen_Buffer, and Screen_EPD.