Difference between revisions of "Component: Display Manager (Graphical Library)"
Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
− | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/ | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/Lib_DisplayManager.fcfx FC_Comp_Source_temp/Lib_DisplayManager.fcfx] |
− | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/ | + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/Lib_DisplayManager.fcfx FC_Comp_Source_temp/Lib_DisplayManager.fcfx] |
==Detailed description== | ==Detailed description== | ||
Line 66: | Line 66: | ||
{{Fcfile|DisplayManagerExample.fcfx|Display Manager Example}} | {{Fcfile|DisplayManagerExample.fcfx|Display Manager Example}} | ||
+ | |||
+ | |||
Line 73: | Line 75: | ||
==Macro reference== | ==Macro reference== | ||
− | === | + | ===CreateObject=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CreateObject''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Define an object on the graphical LCD. Returns the Object ID. |
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
− | | width="90%" | | + | | width="90%" | ObjectType |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | 0=TextBox, 1=Rect, 2=Line, 3=Ellipse, 4=FilledEllipse, 5=FilledRect |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | X | | width="90%" | X | ||
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | X Pixel Coordinate |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | Y | | width="90%" | Y | ||
+ | |- | ||
+ | | colspan="2" | Y Pixel Coordinate | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | Width | ||
+ | |- | ||
+ | | colspan="2" | Pixel Width or X Radius | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | Height | ||
+ | |- | ||
+ | | colspan="2" | Pixel Height or Y Radius | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===DrawObject=== | ||
+ | {| 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;" | '''DrawObject''' | ||
+ | |- | ||
+ | | colspan="2" | Draws a single object onto the display without clearing the display. Doesn't draw a textfield component, this is done using the SetObjectText macro. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | ObjectID | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
Line 102: | Line 133: | ||
− | === | + | ===MoveObject=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MoveObject''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Moves an existing object to absolute coordinates on the screen. |
|- | |- | ||
|- | |- | ||
Line 116: | Line 147: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT |
| width="90%" | X | | width="90%" | X | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT |
| width="90%" | Y | | width="90%" | Y | ||
|- | |- | ||
Line 131: | Line 162: | ||
− | === | + | ===RedrawAll=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RedrawAll''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Redraws all the content from the display manager objects. Doesn't draw textfield components, this is done using the SetObjectText macro. |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
Line 173: | Line 199: | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
Line 222: | Line 234: | ||
− | === | + | ===ShiftObject=== |
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftObject''' |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Shifts an existing object coordinates on the screen relative to the previous coordinates. |
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
− | | width="90%" | | + | | width="90%" | ObjectID |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT |
| width="90%" | X | | width="90%" | X | ||
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT |
| width="90%" | Y | | width="90%" | Y | ||
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | |
|- | |- | ||
− | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} |
Revision as of 12:02, 3 February 2023
Author | MatrixTSL |
Version | 1.0 |
Category | Graphical Library |
Contents
Display Manager component
A component designed to simplify the process of drawing primitives and text onto a graphical display. Keeps track of coordinates so you don't have to. Also works great as a base layer for gLCD based games as it will check for collisions and perform movement.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_temp/Lib_DisplayManager.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_temp/Lib_DisplayManager.fcfx
Detailed description
The component can create the follow objects.
- Type_Line - 2 - A simple straight line.
- Type_Rectangle - 1 - A simple rectangular box.
- Type_RectangeFilled - 5 - A filled rectangular box.
- Type_Ellipse - 3 - A simple ellipse or circle.
- Type_EllipseFilled - 4 - A filled ellipse or circle.
- Type_TextBox - 0 - A text area allowing a line of text to be displayed.
The type can be entered by using the component's public constants. Begin with the Display Manager handle name followed by :: and the list of the public variables will be displayed.
For example... DisplayManager1::Type_TextBox
Examples
An example showing the creation of some text areas inside formatted shapes.
Macro reference
CreateObject
DrawObject
![]() |
DrawObject |
Draws a single object onto the display without clearing the display. Doesn't draw a textfield component, this is done using the SetObjectText macro. | |
![]() |
ObjectID |
![]() |
Return |
MoveObject
![]() |
MoveObject |
Moves an existing object to absolute coordinates on the screen. | |
![]() |
ObjectID |
![]() |
X |
![]() |
Y |
![]() |
Return |
RedrawAll
![]() |
RedrawAll |
Redraws all the content from the display manager objects. Doesn't draw textfield components, this is done using the SetObjectText macro. | |
![]() |
Return |
ScaleObject
![]() |
ScaleObject |
Changes the width and height of the selected Object | |
![]() |
ObjectID |
![]() |
Width |
![]() |
Height |
![]() |
Return |
SetObjectText
ShiftObject
![]() |
ShiftObject |
Shifts an existing object coordinates on the screen relative to the previous coordinates. | |
![]() |
ObjectID |
![]() |
X |
![]() |
Y |
![]() |
Return |
Property reference
![]() |
Properties |
![]() |
LinkTo |
![]() |
Max Objects |
The total number of objects allowed on the screen. Sets the size of the RAM buffers used to track the various screen elements. |