| Author
|
Matrix Ltd
|
| Version
|
35.0
|
| Category
|
Graphical Library
|
GLCD Base component
Base graphical LCD with simulation only interface to allow graphics to be drawn in simulation.
Suitable for inheriting to simplify the creation of further graphical LCD components.
Library Version, Component Version, Date, Author, Info
11, 1.0, 22-07-24, BR, Added DrawArc and DrawRoundedRectangle functions
Library Version, Component Version, Date, Author, Info
33, 3.1, 13-06-24, BR, Added user selectable simulated mask for round displays
34, 3.1, 17-07-24, MW, Fixed bug where Arc is not displyed when Resolution is 0
35, 35, 17-07-24, MW, Added an additioanl font count of 4
35, 35, 17-07-24, MW, Changed a variable type to allow larger font sizes
Detailed description
Font sizes
Standard Fonts
0 = Normal
1 = 2 x Width
2 = 2 x Width and 2 x Height
3 = 2 x Height
Extended Fonts
4 = 2 x Width and 3 x Height
5 = 2 x Width and 4 x Height
6 = 2 x Width and 5 x Height
7 = 2 x Width and 6 x Height
8 = 3 x width
9 = 3 x Width and 2 x Height
10 = 3 x Width and 3 x Height
11 = 3 x Width and 4 x Height
12 = 3 x Width and 5 x Height
13 = 3 x Width and 6 x Height
14 = 4 x width
15 = 4 x Width and 2 x Height
16 = 4 x Width and 3 x Height
17 = 4 x Width and 4 x Height
18 = 4 x Width and 5 x Height
19 = 4 x Width and 6 x Height
20 = 5 x width
21 = 5 x Width and 2 x Height
22 = 5 x Width and 3 x Height
23 = 5 x Width and 4 x Height
24 = 5 x Width and 5 x Height
25 = 5 x Width and 6 x Height
26 = 6 x width
27 = 6 x Width and 2 x Height
28 = 6 x Width and 3 x Height
29 = 6 x Width and 4 x Height
30 = 6 x Width and 5 x Height
31 = 6 x Width and 6 x Height
Examples
EBM001 Basic Example
EBM001 gLCD Example File
EBM001 Example
Example should show the following on the display on the panel and on the hardware.
EBM001 Maze Builder
Maze Builder gLCD
Example to draw a randomly generated 2D maze on an EBM001 graphical display.
EBM001 Drawing 3D Objects With Perspective
3D Manipulations
Example should show the following on the display on the panel and on the hardware. The two switches allow you to move closer to or away from the object. The perspective provides more and more distortion to the object the closer you get.
Macro reference
BPlot
|
BPlot
|
| Sets a pixel with the current background colour at pixel location X, Y.
|
- UINT
|
X1
|
|
|
- UINT
|
Y1
|
|
|
- VOID
|
Return
|
ClearDisplay
|
ClearDisplay
|
| This macro clears the display of any previous output by overwriting the entire display with the background colour.
|
- VOID
|
Return
|
DrawArc
|
DrawArc
|
| Draws an arc either as an outline or as a filled object.
|
- UINT
|
X
|
| Center X coordinate
|
- UINT
|
Y
|
| Center Y coordinate
|
- UINT
|
Radius
|
| Radius, distance of edge from the centre coordinates
|
- FLOAT
|
StartAngle
|
| Angle to start drawing, in degrees
|
- FLOAT
|
EndAngle
|
| Angle to end drawing, in degrees
|
- UINT
|
Resolution
|
| Number of lines to draw from the center to the outer edge
|
- BYTE
|
Transparent
|
| Chooses the transparency - 0 = Arc contains background colour, 1 = Arc contains previous pixel data.
|
- BYTE
|
Solid
|
| Chooses to fill with colour - 0 = Arc transparency data, 1 = Arc contains foreground colour.
|
- VOID
|
Return
|
DrawBezier
|
DrawBezier
|
| Draws a quadratic Bezier curve with the current foreground colour from pixel location X0, Y0 to pixel location X2, Y2 using control point CX, CY.
|
- UINT
|
X0
|
| Start X coordinate
|
- UINT
|
Y0
|
| Start Y coordinate
|
- UINT
|
CX
|
| Control point X coordinate
|
- UINT
|
CY
|
| Control point Y coordinate
|
- UINT
|
X2
|
| End X coordinate
|
- UINT
|
Y2
|
| End Y coordinate
|
- UINT
|
Resolution
|
| Number of segments to approximate the curve, 0 chooses an automatic value based on curve size.
|
- VOID
|
Return
|
DrawCircle
|
DrawCircle
|
| Draws a circle object on the display with the center of the circle at the location X,Y
|
- UINT
|
X
|
| X Coordinate for the center of the circle
|
- UINT
|
Y
|
| Y coordinate for the center of the circle
|
- UINT
|
Radius
|
| Radius of the circle specified in pixels
|
- BYTE
|
Transparent
|
| 0=Fill inside circle using background colour / 1=Draw outer circle only
|
- BYTE
|
Solid
|
| 0=Use Transparent Setting / 1=Fill with foreground colour
|
- VOID
|
Return
|
DrawEllipse
|
DrawEllipse
|
| Draws an ellipse object on the display with the center of the ellipse at the location X,Y
|
- UINT
|
X
|
| X Coordinate for the center of the circle
|
- UINT
|
Y
|
| Y coordinate for the center of the circle
|
- UINT
|
XRadius
|
| Radius of the circle on the X axis specified in pixels
|
- UINT
|
YRadius
|
| Radius of the circle on the Y axis specified in pixels
|
- BYTE
|
Transparent
|
| 0=Fill inside circle using background colour / 1=Draw outer circle only
|
- BYTE
|
Solid
|
| 0=Use Transparent Setting / 1=Fill with foreground colour
|
- VOID
|
Return
|
DrawLine
|
DrawLine
|
| Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2.
|
- UINT
|
X1
|
|
|
- UINT
|
Y1
|
|
|
- UINT
|
X2
|
|
|
- UINT
|
Y2
|
|
|
- VOID
|
Return
|
DrawRectangle
|
DrawRectangle
|
| Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2.
|
- UINT
|
X1
|
|
|
- UINT
|
Y1
|
|
|
- UINT
|
X2
|
|
|
- UINT
|
Y2
|
|
|
- BYTE
|
Transparent
|
| Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.
|
- BYTE
|
Solid
|
| Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.
|
- VOID
|
Return
|
DrawRoundedRectangle
|
DrawRoundedRectangle
|
| Draws a rectangle with rounded corners
|
- UINT
|
X1
|
|
|
- UINT
|
Y1
|
|
|
- UINT
|
X2
|
|
|
- UINT
|
Y2
|
|
|
- UINT
|
Radius
|
|
|
- BYTE
|
Transparent
|
| Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data.
|
- BYTE
|
Solid
|
| Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour.
|
- VOID
|
Return
|
FastPlot
|
FastPlot
|
| Sets a pixel with the current foreground colour at current pixel location.
|
- VOID
|
Return
|
Initialise
|
Initialise
|
| The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.
|
- VOID
|
Return
|
Plot
|
Plot
|
| Sets a pixel with the current foreground colour at pixel location X, Y.
|
- UINT
|
X1
|
|
|
- UINT
|
Y1
|
|
|
- VOID
|
Return
|
Print
|
Print
|
| This macro prints a string of characters to the Graphical LCD.
|
- STRING
|
Str
|
| String of characters to send to the display.
|
- UINT
|
X1
|
| X pixel coordinate to set the output string position.
|
- UINT
|
Y1
|
| Y pixel coordinate to set the output string position.
|
- BYTE
|
Font
|
| Selects which Font to use Range: 0 to Font Count
|
- BYTE
|
Transparent
|
| Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.
|
- VOID
|
Return
|
PrintNumber
|
PrintNumber
|
| This macro prints a decimal number to the Graphical LCD.
|
- INT
|
Number
|
| Byte or Integer number to send to the display.
|
- UINT
|
X
|
| X pixel coordinate to set the output string position.
|
- UINT
|
Y
|
| Y pixel coordinate to set the output string position.
|
- BYTE
|
Font
|
| Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes
|
- BYTE
|
Transparent
|
| Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn.
|
- VOID
|
Return
|
ReadFontByte
|
ReadFontByte
|
| Gets a byte from the selected embedded ASCII font data.
|
- BYTE
|
Font
|
| Font selection range: 0 to (NumFonts - 1)
|
- BYTE
|
Character
|
| ASCII character for example 'A' or 65
|
- UINT
|
ByteIndex
|
| Font column Ranging 0-4
|
- BYTE
|
Return
|
ReadFontStat
|
ReadFontStat
|
| Gets a stat from the selected embedded ASCII font data.
|
- BYTE
|
Font
|
| Font selection range: 0 to (NumFonts - 1)
|
- BYTE
|
Index
|
| 0=SpaceWidth, 1=PixelHeight
|
- BYTE
|
Return
|
ReadFontWidth
|
ReadFontWidth
|
| Reads the number of pixel columns used in the selected font
|
- BYTE
|
Font
|
| Font selection range: 0 to (NumFonts - 1)
|
- BYTE
|
Character
|
| ASCII character to get the pixel width e.g. 'A' or 65
|
- BYTE
|
Return
|
SetBackgroundColour
SetDisplayOrientation
|
SetDisplayOrientation
|
| Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0.
|
- BYTE
|
Orientation
|
| 0=Default, 1=90°CW, 2=180°CW, 3=270°CW
|
- VOID
|
Return
|
SetExternalFont
|
SetExternalFont
|
| Allows one of the default external font files to be switched out for a different font file.
|
- BYTE
|
Font
|
| Range: 0 to (FontCount - 1)
|
- STRING
|
Filename
|
| New font filename
|
- BYTE
|
CharacterSpacing
|
| Number of pixel columns to use between each character
|
- BYTE
|
SpaceWidth
|
| Number of pixel columns to use for a space character
|
- VOID
|
Return
|
SetFontScaler
|
SetFontScaler
|
|
|
- BYTE
|
ScaleX
|
|
|
- BYTE
|
ScaleY
|
|
|
- VOID
|
Return
|
SetForegroundColour
Window
|
Window
|
| Specifies a specific window in the pixels to draw to.
|
- UINT
|
X1
|
|
|
- UINT
|
Y1
|
|
|
- UINT
|
X2
|
|
|
- UINT
|
Y2
|
|
|
- VOID
|
Return
|
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_GLCD_base.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_GLCD_base.fcfx