Jump to content

Component: GLCD Base (Graphical Library): Difference between revisions

From Flowcode Help
No edit summary
No edit summary
Line 17: Line 17:
==Component Source Code==
==Component Source Code==


Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_GLCD_base.fcfx FC_Comp_Source_GLCD_base.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GLCD_base.fcfx FC_Comp_Source_GLCD_base.fcfx]


==Detailed description==
==Detailed description==




Line 109: Line 111:


==Examples==
==Examples==




Line 157: Line 161:


==Macro reference==
==Macro reference==
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontWidth'''
|-
| colspan="2" | Reads the number of pixel columns used in the selected font 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1) 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Character
|-
| colspan="2" | ASCII character to get the pixel width e.g. 'A' or 65 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetFontScaler'''
|-
| colspan="2" |  
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleX
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ScaleY
|-
| colspan="2" |  
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawEnd'''
|-
| colspan="2" |  
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintNumber'''
|-
| colspan="2" | This macro prints a decimal number to the Graphical LCD. 
|-
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Number
|-
| colspan="2" | Byte or Integer number to send to the display. 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
|-
| colspan="2" | X pixel coordinate to set the output string position. 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y pixel coordinate to set the output string position. 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Range: 0 to 31 - 0=5x8, 1=10x8, 2=10x16, 3=5x16, 4-31=Extended Sizes 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn. 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Ev_Initialise'''
|-
| colspan="2" | Initialisation routine for the component once the component is linked to its parent 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine'''
|-
| colspan="2" | Draws a line with the current foreground colour from pixel location X1, Y1 to pixel location X2, Y2. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
| colspan="2" |  
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Plot'''
|-
| colspan="2" | Sets a pixel with the current foreground colour at pixel location X, Y. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" |  
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawEllipse'''
|-
| colspan="2" | Draws an ellipse object on the display with the center of the ellipse at the location X,Y 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
|-
| colspan="2" | X Coordinate for the center of the circle 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y coordinate for the center of the circle 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | XRadius
|-
| colspan="2" | Radius of the circle on the X axis specified in pixels 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | YRadius
|-
| colspan="2" | Radius of the circle on the Y axis specified in pixels 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawStart'''
|-
| colspan="2" |  
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FastPlot'''
|-
| colspan="2" | Sets a pixel with the current foreground colour at current pixel location. 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetDisplayOrientation'''
|-
| colspan="2" | Controls the way data is printed out on the display allowing multiple different viewing orientations. Default is 0. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Orientation
|-
| colspan="2" | 0=Default, 1=90°CW, 2=180°CW, 3=270°CW 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BPlot'''
|-
| colspan="2" | Sets a pixel with the current background colour at pixel location X, Y. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" |  
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Window'''
|-
| colspan="2" | Specifies a specific window in the pixels to draw to. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
| colspan="2" |  
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontStat'''
|-
| colspan="2" | Gets a stat from the selected embedded ASCII font data. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1) 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | 0=SpaceWidth, 1=PixelHeight 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Print'''
|-
| colspan="2" | This macro prints a string of characters to the Graphical LCD. 
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Str
|-
| colspan="2" | String of characters to send to the display. 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" | X pixel coordinate to set the output string position. 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" | Y pixel coordinate to set the output string position. 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Selects which Font to use Range: 0 to Font Count 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Specifies if the background of the text is drawn - 0 = Background colour is drawn, 1 = Background colour not drawn. 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearDisplay'''
|-
| colspan="2" | This macro clears the display of any previous output by overwriting the entire display with the background colour. 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBackgroundColour'''
|-
| colspan="2" | Specifies the colour of the background by creating a mixture of red, green and blue.  
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Red
|-
| colspan="2" | 0 - 255 where 0 = no red and 255 = maximum red 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Green
|-
| colspan="2" | 0 - 255 where 0 = no green and 255 = maximum green 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Blue
|-
| colspan="2" | 0 - 255 where 0 = no blue and 255 = maximum blue 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCircle'''
|-
| colspan="2" | Draws a circle object on the display with the center of the circle at the location X,Y 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
|-
| colspan="2" | X Coordinate for the center of the circle 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y
|-
| colspan="2" | Y coordinate for the center of the circle 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Radius
|-
| colspan="2" | Radius of the circle specified in pixels 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | 0=Fill inside circle using background colour / 1=Draw outer circle only 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| colspan="2" | 0=Use Transparent Setting / 1=Fill with foreground colour 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadFontByte'''
|-
| colspan="2" | Gets a byte from the selected embedded ASCII font data. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Font
|-
| colspan="2" | Font selection range: 0 to (NumFonts - 1) 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Character
|-
| colspan="2" | ASCII character for example 'A' or 65 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | ByteIndex
|-
| colspan="2" | Font column Ranging 0-4 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetForegroundColour'''
|-
| colspan="2" | Specifies the colour of the foreground by creating a mixture of red, green and blue.  
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Red
|-
| colspan="2" | 0 - 255 where 0 = no red and 255 = maximum red 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Green
|-
| colspan="2" | 0 - 255 where 0 = no green and 255 = maximum green 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Blue
|-
| colspan="2" | 0 - 255 where 0 = no blue and 255 = maximum blue 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle'''
|-
| colspan="2" | Draws a rectangle with the current foreground colour from pixel loaction X1, Y1 to pixel location X2, Y2. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
|-
| colspan="2" | Chooses the transparency of the box - 0 = Box contains background colour, 1 = Box contains previous pixel data. 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Solid
|-
| colspan="2" | Chooses to fill the box with colour - 0 = Box contains transparency data, 1 = Box contains foreground colour. 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
==Property reference==
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Dimensions
|-
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Pixel Width
|-
| colspan="2" | Width of gLCD canvas measured in pixels. 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Pixel Height
|-
| colspan="2" | Heigt of gLCD canvas measured in pixels. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Colour
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Monochrome
|-
| colspan="2" | Specifies if the display is capable of colour or monochrome only. 
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Foreground Colour
|-
| colspan="2" | Specifies the initial foreground colour for shapes and text. 
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="90%" | Background Colour
|-
| colspan="2" | Specifies the initial background color. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bit Depth
|-
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Colour Bit Depth
|-
| colspan="2" | Total color bit depth for the display. 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Red Bit Depth
|-
| colspan="2" | Specifies the red bit depth for the display. 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Green Bit Depth
|-
| colspan="2" | Specifies the green bit depth for the display. 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Blue Bit Depth
|-
| colspan="2" | Specifies the blue bit depth for the display. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Fonts
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font Count
|-
| colspan="2" | Specifies the number of fonts available to use on the display. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Font 0
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Font
|-
| colspan="2" | Font picker to decide which font to use on your display. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Character Spacing
|-
| colspan="2" | Sets the number of blank pixels between each character when printing text. Default 1. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Space Width
|-
| colspan="2" | Sets the number of horizontal pixels used to represent a space character. 
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation Mode
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Show Background Elements
|-
| colspan="2" | Show or hide features like the title and background. 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Component Label
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| width="90%" | Component Label Scale
|-
| colspan="2" | The label scale can be change if the amout of text is too wide for the display  
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Display Method
|-
| colspan="2" | Chooses which method to use when drawing to the gLCD component The bitmap is the more common mode but may run slowly on some machines. The point cloud should run faster but may use more memory. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Embed Font Set
|-
| colspan="2" | Specifies if the font set is included with the embedded downloadable code. Some display types have in an built font and text functions so the embedded font set can be disabled to reduce code overhead. For other display types the embedded font data should be enable to allow the print functions to work correctly.  
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | Num Parents
|-
| colspan="2" | Number of parent levels to jump up to get the auto title name. For most GLCDs it will be 1. For most Alpha LCDs it will be 2. 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Show GLCD Icon
|-
| colspan="2" | Show the GLCD connectivity icon, Set to Yes for GLCDs and No for other none standard things e.g. Alphanumeric LCDs. 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
| width="90%" | TouchHandler
|-
| colspan="2" |  
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Physical Orientation
|-
| colspan="2" | Rotates the simulated canvas to match the orientation of real world hardware. 
|}==Macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"

Revision as of 15:14, 20 January 2023

Author Matrix Ltd
Version 3.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.

Component Source Code

Please click here to view the component source code (Beta): FC_Comp_Source_GLCD_base.fcfx

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

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


SetFontScaler
 
- BYTE ScaleX
 
- BYTE ScaleY
 
- VOID Return


DrawEnd
 
- VOID Return


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


Ev_Initialise
Initialisation routine for the component once the component is linked to its parent 
- ULONG Return


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


Plot
Sets a pixel with the current foreground colour at pixel location X, Y. 
- UINT X1
 
- UINT Y1
 
- VOID Return


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


DrawStart
 
- VOID Return


FastPlot
Sets a pixel with the current foreground colour at current pixel location. 
- VOID Return


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


BPlot
Sets a pixel with the current background colour at pixel location X, Y. 
- UINT X1
 
- UINT Y1
 
- VOID Return


Window
Specifies a specific window in the pixels to draw to. 
- UINT X1
 
- UINT Y1
 
- UINT X2
 
- UINT Y2
 
- VOID Return


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


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


ClearDisplay
This macro clears the display of any previous output by overwriting the entire display with the background colour. 
- VOID Return


SetBackgroundColour
Specifies the colour of the background by creating a mixture of red, green and blue.  
- BYTE Red
0 - 255 where 0 = no red and 255 = maximum red 
- BYTE Green
0 - 255 where 0 = no green and 255 = maximum green 
- BYTE Blue
0 - 255 where 0 = no blue and 255 = maximum blue 
- VOID Return


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


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 
- BYTE ByteIndex
Font column Ranging 0-4 
- BYTE Return


SetForegroundColour
Specifies the colour of the foreground by creating a mixture of red, green and blue.  
- BYTE Red
0 - 255 where 0 = no red and 255 = maximum red 
- BYTE Green
0 - 255 where 0 = no green and 255 = maximum green 
- BYTE Blue
0 - 255 where 0 = no blue and 255 = maximum blue 
- VOID Return


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


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



Property reference

Properties
Dimensions
Pixel Width
Width of gLCD canvas measured in pixels. 
Pixel Height
Heigt of gLCD canvas measured in pixels. 
Colour
Monochrome
Specifies if the display is capable of colour or monochrome only. 
Foreground Colour
Specifies the initial foreground colour for shapes and text. 
Background Colour
Specifies the initial background color. 
Bit Depth
Colour Bit Depth
Total color bit depth for the display. 
Red Bit Depth
Specifies the red bit depth for the display. 
Green Bit Depth
Specifies the green bit depth for the display. 
Blue Bit Depth
Specifies the blue bit depth for the display. 
Fonts
Font Count
Specifies the number of fonts available to use on the display. 
Font 0
Font
Font picker to decide which font to use on your display. 
Character Spacing
Sets the number of blank pixels between each character when printing text. Default 1. 
Space Width
Sets the number of horizontal pixels used to represent a space character. 
Simulation Mode
Show Background Elements
Show or hide features like the title and background. 
Component Label
 
Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Display Method
Chooses which method to use when drawing to the gLCD component The bitmap is the more common mode but may run slowly on some machines. The point cloud should run faster but may use more memory. 
Embed Font Set
Specifies if the font set is included with the embedded downloadable code. Some display types have in an built font and text functions so the embedded font set can be disabled to reduce code overhead. For other display types the embedded font data should be enable to allow the print functions to work correctly.  
Num Parents
Number of parent levels to jump up to get the auto title name. For most GLCDs it will be 1. For most Alpha LCDs it will be 2. 
Show GLCD Icon
Show the GLCD connectivity icon, Set to Yes for GLCDs and No for other none standard things e.g. Alphanumeric LCDs. 
TouchHandler
 
Physical Orientation
Rotates the simulated canvas to match the orientation of real world hardware. 

==Macro reference==

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


SetFontScaler
 
- BYTE ScaleX
 
- BYTE ScaleY
 
- VOID Return


DrawEnd
 
- VOID Return


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


Ev_Initialise
Initialisation routine for the component once the component is linked to its parent 
- ULONG Return


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


Plot
Sets a pixel with the current foreground colour at pixel location X, Y. 
- UINT X1
 
- UINT Y1
 
- VOID Return


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


DrawStart
 
- VOID Return


FastPlot
Sets a pixel with the current foreground colour at current pixel location. 
- VOID Return


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


BPlot
Sets a pixel with the current background colour at pixel location X, Y. 
- UINT X1
 
- UINT Y1
 
- VOID Return


Window
Specifies a specific window in the pixels to draw to. 
- UINT X1
 
- UINT Y1
 
- UINT X2
 
- UINT Y2
 
- VOID Return


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


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


ClearDisplay
This macro clears the display of any previous output by overwriting the entire display with the background colour. 
- VOID Return


SetBackgroundColour
Specifies the colour of the background by creating a mixture of red, green and blue.  
- BYTE Red
0 - 255 where 0 = no red and 255 = maximum red 
- BYTE Green
0 - 255 where 0 = no green and 255 = maximum green 
- BYTE Blue
0 - 255 where 0 = no blue and 255 = maximum blue 
- VOID Return


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


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 
- BYTE ByteIndex
Font column Ranging 0-4 
- BYTE Return


SetForegroundColour
Specifies the colour of the foreground by creating a mixture of red, green and blue.  
- BYTE Red
0 - 255 where 0 = no red and 255 = maximum red 
- BYTE Green
0 - 255 where 0 = no green and 255 = maximum green 
- BYTE Blue
0 - 255 where 0 = no blue and 255 = maximum blue 
- VOID Return


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


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



Property reference

Properties
Dimensions
Pixel Width
Width of gLCD canvas measured in pixels. 
Pixel Height
Heigt of gLCD canvas measured in pixels. 
Colour
Monochrome
Specifies if the display is capable of colour or monochrome only. 
Foreground Colour
Specifies the initial foreground colour for shapes and text. 
Background Colour
Specifies the initial background color. 
Bit Depth
Colour Bit Depth
Total color bit depth for the display. 
Red Bit Depth
Specifies the red bit depth for the display. 
Green Bit Depth
Specifies the green bit depth for the display. 
Blue Bit Depth
Specifies the blue bit depth for the display. 
Fonts
Font Count
Specifies the number of fonts available to use on the display. 
Font 0
Font
Font picker to decide which font to use on your display. 
Character Spacing
Sets the number of blank pixels between each character when printing text. Default 1. 
Space Width
Sets the number of horizontal pixels used to represent a space character. 
Simulation Mode
Show Background Elements
Show or hide features like the title and background. 
Component Label
 
Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Display Method
Chooses which method to use when drawing to the gLCD component The bitmap is the more common mode but may run slowly on some machines. The point cloud should run faster but may use more memory. 
Embed Font Set
Specifies if the font set is included with the embedded downloadable code. Some display types have in an built font and text functions so the embedded font set can be disabled to reduce code overhead. For other display types the embedded font data should be enable to allow the print functions to work correctly.  
Num Parents
Number of parent levels to jump up to get the auto title name. For most GLCDs it will be 1. For most Alpha LCDs it will be 2. 
Show GLCD Icon
Show the GLCD connectivity icon, Set to Yes for GLCDs and No for other none standard things e.g. Alphanumeric LCDs. 
TouchHandler
 
Physical Orientation
Rotates the simulated canvas to match the orientation of real world hardware.