<root>
<document scada='0' projtype='1' schema='103' license='1,82702381,95CJQR' title='' description='' fcversion='720899' target='PIC16.33E.33EP256MU810' >
	<config data='!0,ffff!10,ffff!20,ffbf!30,ffff!40,ffef!50,ffff!60,ffff%0,1%1,1%4,3%10,7%17,1%20,3%22,1%25,1%26,2%30,f%34,1%35,1%36,1%37,1%40,7%43,1%44,0%45,1%50,3%52,1%55,1%60,1%61,1%64,3' clkspd='12000000' simspd='0' usewdt='0' constif='0' Use3V3='0' />
	<plugins >
		<dll_models enabled='1' />
	</plugins>
	<supplement use='0' head='' body='' />
	<debug >
		<watch expr='.MyPanelID' />
	</debug>
	<traces />
	<ghost >
		<FK2 >
			<data name='FK2D0' port='4294967295' pin='4294967295' />
			<data name='FK2D1' port='4294967295' pin='4294967295' />
			<data name='FK2D2' port='4294967295' pin='4294967295' />
			<data name='FK2D3' port='4294967295' pin='4294967295' />
			<data name='FK2D4' port='4294967295' pin='4294967295' />
			<data name='FK2D5' port='4294967295' pin='4294967295' />
			<data name='FK2D6' port='4294967295' pin='4294967295' />
			<data name='FK2D7' port='4294967295' pin='4294967295' />
			<data name='FK2D8' port='4294967295' pin='4294967295' />
			<data name='FK2D9' port='4294967295' pin='4294967295' />
			<data name='FK2D10' port='4294967295' pin='4294967295' />
			<data name='FK2D11' port='4294967295' pin='4294967295' />
			<data name='FK2D12' port='4294967295' pin='4294967295' />
			<data name='FK2D13' port='4294967295' pin='4294967295' />
			<data name='FK2D14' port='4294967295' pin='4294967295' />
			<data name='FK2D15' port='4294967295' pin='4294967295' />
			<data name='FK2A0' port='4294967295' pin='4294967295' />
			<data name='FK2A1' port='4294967295' pin='4294967295' />
			<data name='FK2A2' port='4294967295' pin='4294967295' />
			<data name='FK2A3' port='4294967295' pin='4294967295' />
			<data name='FK2A4' port='4294967295' pin='4294967295' />
			<data name='FK2A5' port='4294967295' pin='4294967295' />
		</FK2>
		<ICD >
			<data name='AnalogPrescaleValue' value='19' />
			<data name='DigitalSampleRate' value='100000' />
			<data name='BreakpointCount' value='8' />
			<data name='CallStackDepthCount' value='8' />
			<data name='ClockPort' value='1' />
			<data name='ClockPin' value='1' />
			<data name='DataPort' value='1' />
			<data name='DataPin' value='0' />
			<data name='UseDefaultPins' value='1' />
			<data name='WrapEnabled' value='1' />
			<data name='CommsDelayOverridden' value='0' />
			<data name='CommsDelay' value='14' />
			<data name='CalculatedCommsDelay' value='14' />
			<data name='AnalogEB2PrescaleValue' value='2' />
			<data name='DigitalEB2SampleRate' value='100000' />
		</ICD>
		<pins >
			<digital A='0' B='0' C='0' D='0' E='0' F='0' G='0' H='0' I='0' J='0' K='0' L='0' M='0' N='0' O='0' P='0' Q='0' R='0' S='0' T='0' U='0' V='0' W='0' X='0' Y='0' Z='0' />
			<analog A='0' B='0' C='0' D='0' E='0' F='0' G='0' H='0' I='0' J='0' K='0' L='0' M='0' N='0' O='0' P='0' Q='0' R='0' S='0' T='0' U='0' V='0' W='0' X='0' Y='0' Z='0' />
		</pins>
	</ghost>
	<components >
		<settings autoimg='0' center='1' unitscale='1' fixedscale='0' fixedx='1' fixedy='1' fixedz='1' headcode='0' />
		<definition guid='cbfb3c21-f13d-488d-9b90-400c8d4fc605' vstate='40' vmin='2' vmaj='24' srcleaf='Lib_DisplayManager.fcfx' visiblename='Display Manager' description='A component designed to simplify the process of drawing primitives and text onto a &#13;&#10;graphical display. Keeps track of coordinates so you don&apos;t have to.&#13;&#10;Also works great as a base layer for gLCD based games as it will check for collisions and &#13;&#10;perform movement.' category='Graphical Library' category2='' category3='' bIs2dOnly='1' bIs3dOnly='0' bIsWysiwyg='0' catenable='1' author='MatrixTSL' manuname='' manucode='' sysinfo='3158283' keywords='Keypad' dynamic='1' scadaCompatible='0' embeddedCompatible='1' showmacros='1' iconpath='..\..\icons\components\glcdLib.png' />
		<component class_type='root' codename='DisplayManager' panelId='-1' x='0' y='0' z='0' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='0' poslock='1' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
			<resources />
			<properties >
				<property name='GLCD Component' target='GLCDComponent' typeid='17' hidden='1' locked='0' info='Selects the GLCD component to display all the objects' />
				<property name='Graphical Display' target='LibraryComponent1::OutputIcon::LinkTo' typeid='16' hidden='0' locked='0' info='Graphical Display to draw our objects on' filter='000' />
				<property name='DM Library' target='LibraryComponent1::InputIcon::LinkTo' typeid='16' hidden='0' locked='0' info='Display Manager compatible GLCD library component. &#13;&#10;e.g. Bitmap drawer components.' filter='000' />
				<property name='Ram Usage Bytes' target='RamUsage' typeid='21' hidden='0' locked='1' info='The calculated number of bytes of RAM required by the display manager.' />
				<property name='Text Align Offset' target='TextAlignOffset' typeid='21' hidden='0' locked='0' info='Number of pixels to move away from an edge when calling ' />
				<property name='Background Colour' target='BackgroundColour' typeid='1' hidden='0' locked='0' info='Default background colour to use when clearing the display and &#13;&#10;applied as the default when creating new display creator scenes.' />
				<property name='DisplayType' target='DisplayType' typeid='7' hidden='1' locked='0' info='' />
				<property name='LibraryType' target='LibraryType' typeid='21' hidden='1' locked='0' info='' />
				<property name='IsSim' target='IsSim' typeid='7' hidden='1' locked='0' info='' />
				<property name='PostInit' target='PostInit' typeid='7' hidden='1' locked='0' info='' />
				<property name='EB3_Display' target='EB3_Display' typeid='7' hidden='1' locked='0' info='' />
				<property name='EB3_WebMirror' target='EB3_WebMirror' typeid='7' hidden='1' locked='0' info='Enables the auto web mirror functionality of E-blocks 3 allowing the display to be mirrored to a web browser via the internet.&#13;&#10;' />
				<property name='Objects' hidden='0' >
					<property name='Max Objects' target='MaxObjects' typeid='21' hidden='0' locked='0' info='The total number of primitive objects allowed on the screen at once.&#13;&#10;Sets the size of the RAM buffers used to track the various screen elements.&#13;&#10;Each object requires 10 bytes of RAM to stores things like size, location and type.' />
					<property name='Object Theme Count' target='ObjThemeCount' typeid='16' hidden='1' locked='0' info='Sets the number of themes available when drawing primitive objects.&#13;&#10;Each object theme requires 6 bytes of RAM to store the colour channels.' filter='0000&#10;0011&#10;0022&#10;0033&#10;0044&#10;0055&#10;0066&#10;0077&#10;0088' />
					<property name='Object &amp; Text Theme 0' folder='ObjTheme0' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_0' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_0' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
					<property name='Object &amp; Text Theme 1' folder='ObjTheme1' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_1' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_1' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
					<property name='Object &amp; Text Theme 2' folder='ObjTheme2' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_2' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_2' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
					<property name='Object &amp; Text Theme 3' folder='ObjTheme3' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_3' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_3' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
					<property name='Object &amp; Text Theme 4' folder='ObjTheme4' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_4' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_4' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
					<property name='Object &amp; Text Theme 5' folder='ObjTheme5' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_5' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_5' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
					<property name='Object &amp; Text Theme 6' folder='ObjTheme6' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_6' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_6' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
					<property name='Object &amp; Text Theme 7' folder='ObjTheme7' hidden='1' layout='' >
						<property name='Foreground' target='Obj_Fg_7' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Obj_Bg_7' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
					</property>
				</property>
				<property name='Widgets' hidden='0' >
					<property name='Max Widgets' target='MaxWidgets' typeid='21' hidden='0' locked='0' info='The total number of touchable interactibe objects allowed on the screen at once e.g. Widgets and sliders.&#13;&#10;Sets the size of the RAM buffers used to track the various screen elements&#13;&#10;Each Widget requires 18 bytes of RAM to stores things like size, location, value and type.' />
					<property name='Touch Repeat Rate' target='TouchRepeatRate' typeid='21' hidden='0' locked='0' info='Sets the period for touch repeats in terms of calls of the CheckForTouch macro.&#13;&#10;Widgets will only register a repeat touch after x calls if continually held down.&#13;&#10;Sliders will always register a touch.  &#13;&#10;The touch count can be cleared using the NoTouch macro if no touch is detected.' />
					<property name='Widget Theme Count' target='WidgetThemeCount' typeid='16' hidden='1' locked='0' info='Sets the number of themes available for drawng Widgets.&#13;&#10;Each Widget theme requires 12 bytes of RAM to store the colour channels.' filter='0000&#10;0011&#10;0022&#10;0033&#10;0044&#10;0055&#10;0066&#10;0077&#10;0088' />
					<property name='Widget Theme 0' folder='BtnTheme0' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_0' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_0' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_0' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_0' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
					<property name='Widget Theme 1' folder='BtnTheme1' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_1' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_1' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_1' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_1' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
					<property name='Widget Theme 2' folder='BtnTheme2' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_2' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_2' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_2' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_2' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
					<property name='Widget Theme 3' folder='BtnTheme3' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_3' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_3' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_3' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_3' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
					<property name='Widget Theme 4' folder='BtnTheme4' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_4' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_4' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_4' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_4' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
					<property name='Widget Theme 5' folder='BtnTheme5' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_5' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_5' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_5' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_5' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
					<property name='Widget Theme 6' folder='BtnTheme6' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_6' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_6' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_6' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_6' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
					<property name='Widget Theme 7' folder='BtnTheme7' hidden='1' layout='' >
						<property name='Foreground' target='Btn_Fg_7' typeid='1' hidden='0' locked='0' info='Foreground colour of the theme' />
						<property name='Background' target='Btn_Bg_7' typeid='1' hidden='0' locked='0' info='Background colour of the theme' />
						<property name='Highlight' target='Btn_Hl_7' typeid='1' hidden='0' locked='0' info='Highlight colour of the theme' />
						<property name='Lowlight' target='Btn_Ll_7' typeid='1' hidden='0' locked='0' info='Lowlight colour of the theme' />
					</property>
				</property>
				<property name='Display Creator' hidden='0' >
					<property name='Enabled' target='DC_Enabled' typeid='7' hidden='0' locked='0' info='Enable the display creator (WYSIWYG) scene panels.' />
					<property name='Settings' folder='GLE_Settings' hidden='0' layout='' >
						<property name='Enable Callbacks' target='EnableCallbacks' typeid='7' hidden='0' locked='0' info='Allows the widgets to define their own callback macros to simplify the act of processing touches' />
						<property name='Orientation' target='Orientation' typeid='16' hidden='1' locked='0' info='Sets the orientation of the layouts' filter='000Default&#10;00190° CW&#10;002180° CW&#10;003270° CW' />
						<property name='Scene Count' target='SceneCount' typeid='21' hidden='0' locked='0' info='Defines the number of invididual scene layout, display creator scenes available to draw' />
						<property name='Scene Data' hidden='0' >
							<property name='Scene 0' target='Scene0' typeid='26' hidden='0' locked='0' info='' filter='2' />
							<property name='Layout 0' target='Layout0' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 0' target='Count0' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 0' target='Callback0' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 0' target='CBCount0' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 1' target='Scene1' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 1' target='Layout1' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 1' target='Count1' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 1' target='Callback1' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 1' target='CBCount1' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 2' target='Scene2' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 2' target='Layout2' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 2' target='Count2' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 2' target='Callback2' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 2' target='CBCount2' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 3' target='Scene3' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 3' target='Layout3' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 3' target='Count3' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 3' target='Callback3' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 3' target='CBCount3' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 4' target='Scene4' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 4' target='Layout4' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 4' target='Count4' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 4' target='Callback4' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 4' target='CBCount4' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 5' target='Scene5' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 5' target='Layout5' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 5' target='Count5' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 5' target='Callback5' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 5' target='CBCount5' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 6' target='Scene6' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 6' target='Layout6' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 6' target='Count6' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 6' target='Callback6' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 6' target='CBCount6' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 7' target='Scene7' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 7' target='Layout7' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 7' target='Count7' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 7' target='Callback7' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 7' target='CBCount7' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 8' target='Scene8' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 8' target='Layout8' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 8' target='Count8' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 8' target='Callback8' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 8' target='CBCount8' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 9' target='Scene9' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 9' target='Layout9' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 9' target='Count9' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 9' target='Callback9' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 9' target='CBCount9' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 10' target='Scene10' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 10' target='Layout10' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 10' target='Count10' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 10' target='Callback10' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 10' target='CBCount10' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 11' target='Scene11' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 11' target='Layout11' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 11' target='Count11' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 11' target='Callback11' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 11' target='CBCount11' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 12' target='Scene12' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 12' target='Layout12' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 12' target='Count12' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 12' target='Callback12' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 12' target='CBCount12' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 13' target='Scene13' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 13' target='Layout13' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 13' target='Count13' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 13' target='Callback13' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 13' target='CBCount13' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 14' target='Scene14' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 14' target='Layout14' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 14' target='Count14' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 14' target='Callback14' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 14' target='CBCount14' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 15' target='Scene15' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 15' target='Layout15' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 15' target='Count15' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 15' target='Callback15' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 15' target='CBCount15' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 16' target='Scene16' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 16' target='Layout16' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 16' target='Count16' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 16' target='Callback16' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 16' target='CBCount16' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 17' target='Scene17' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 17' target='Layout17' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 17' target='Count17' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 17' target='Callback17' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 17' target='CBCount17' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 18' target='Scene18' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 18' target='Layout18' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 18' target='Count18' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 18' target='Callback18' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 18' target='CBCount18' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 19' target='Scene19' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 19' target='Layout19' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 19' target='Count19' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 19' target='Callback19' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 19' target='CBCount19' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 20' target='Scene20' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 20' target='Layout20' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 20' target='Count20' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 20' target='Callback20' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 20' target='CBCount20' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 21' target='Scene21' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 21' target='Layout21' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 21' target='Count21' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 21' target='Callback21' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 21' target='CBCount21' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 22' target='Scene22' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 22' target='Layout22' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 22' target='Count22' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 22' target='Callback22' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 22' target='CBCount22' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 23' target='Scene23' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 23' target='Layout23' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 23' target='Count23' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 23' target='Callback23' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 23' target='CBCount23' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 24' target='Scene24' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 24' target='Layout24' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 24' target='Count24' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 24' target='Callback24' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 24' target='CBCount24' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 25' target='Scene25' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 25' target='Layout25' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 25' target='Count25' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 25' target='Callback25' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 25' target='CBCount25' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 26' target='Scene26' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 26' target='Layout26' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 26' target='Count26' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 26' target='Callback26' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 26' target='CBCount26' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 27' target='Scene27' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 27' target='Layout27' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 27' target='Count27' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 27' target='Callback27' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 27' target='CBCount27' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 28' target='Scene28' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 28' target='Layout28' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 28' target='Count28' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 28' target='Callback28' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 28' target='CBCount28' typeid='21' hidden='1' locked='0' info='' />
							<property name='Scene 29' target='Scene29' typeid='26' hidden='1' locked='0' info='' filter='2' />
							<property name='Layout 29' target='Layout29' typeid='10' hidden='1' locked='0' info='' />
							<property name='Count 29' target='Count29' typeid='21' hidden='1' locked='0' info='' />
							<property name='Callback 29' target='Callback29' typeid='10' hidden='1' locked='0' info='' />
							<property name='CBCount 29' target='CBCount29' typeid='21' hidden='1' locked='0' info='' />
						</property>
						<property name='X Pixels' target='XPixels' typeid='21' hidden='1' locked='0' info='' />
						<property name='Y Pixels' target='YPixels' typeid='21' hidden='1' locked='0' info='' />
					</property>
				</property>
			</properties>
			<values >
				<value target='GLCDComponent' data='0' />
				<value target='LibraryComponent1::OutputIcon::LinkTo' data='1' />
				<value target='LibraryComponent1::InputIcon::LinkTo' data='000' />
				<value target='RamUsage' data='560' />
				<value target='TextAlignOffset' data='4' />
				<value target='BackgroundColour' data='8388626' />
				<value target='DisplayType' data='0' />
				<value target='LibraryType' data='0' />
				<value target='IsSim' data='0' />
				<value target='PostInit' data='1' />
				<value target='EB3_Display' data='0' />
				<value target='EB3_WebMirror' data='0' />
				<value target='MaxObjects' data='20' />
				<value target='ObjThemeCount' data='000' />
				<value target='Obj_Fg_0' data='0' />
				<value target='Obj_Bg_0' data='16777215' />
				<value target='Obj_Fg_1' data='16711680' />
				<value target='Obj_Bg_1' data='16776960' />
				<value target='Obj_Fg_2' data='65280' />
				<value target='Obj_Bg_2' data='0' />
				<value target='Obj_Fg_3' data='16711680' />
				<value target='Obj_Bg_3' data='65535' />
				<value target='Obj_Fg_4' data='16777215' />
				<value target='Obj_Bg_4' data='0' />
				<value target='Obj_Fg_5' data='' />
				<value target='Obj_Bg_5' data='' />
				<value target='Obj_Fg_6' data='' />
				<value target='Obj_Bg_6' data='' />
				<value target='Obj_Fg_7' data='' />
				<value target='Obj_Bg_7' data='' />
				<value target='MaxWidgets' data='20' />
				<value target='TouchRepeatRate' data='10' />
				<value target='WidgetThemeCount' data='000' />
				<value target='Btn_Fg_0' data='' />
				<value target='Btn_Bg_0' data='16777215' />
				<value target='Btn_Hl_0' data='5921370' />
				<value target='Btn_Ll_0' data='9868950' />
				<value target='Btn_Fg_1' data='16711680' />
				<value target='Btn_Bg_1' data='16776960' />
				<value target='Btn_Hl_1' data='16729600' />
				<value target='Btn_Ll_1' data='16744448' />
				<value target='Btn_Fg_2' data='16711680' />
				<value target='Btn_Bg_2' data='65535' />
				<value target='Btn_Hl_2' data='16711935' />
				<value target='Btn_Ll_2' data='65280' />
				<value target='Btn_Fg_3' data='255' />
				<value target='Btn_Bg_3' data='16776960' />
				<value target='Btn_Hl_3' data='65535' />
				<value target='Btn_Ll_3' data='16711680' />
				<value target='Btn_Fg_4' data='0' />
				<value target='Btn_Bg_4' data='16776960' />
				<value target='Btn_Hl_4' data='255' />
				<value target='Btn_Ll_4' data='49407' />
				<value target='Btn_Fg_5' data='' />
				<value target='Btn_Bg_5' data='' />
				<value target='Btn_Hl_5' data='' />
				<value target='Btn_Ll_5' data='' />
				<value target='Btn_Fg_6' data='' />
				<value target='Btn_Bg_6' data='' />
				<value target='Btn_Hl_6' data='' />
				<value target='Btn_Ll_6' data='' />
				<value target='Btn_Fg_7' data='' />
				<value target='Btn_Bg_7' data='' />
				<value target='Btn_Hl_7' data='' />
				<value target='Btn_Ll_7' data='' />
				<value target='DC_Enabled' data='1' />
				<value target='EnableCallbacks' data='1' />
				<value target='Orientation' data='000' />
				<value target='SceneCount' data='1' />
				<value target='Scene0' data='1' />
				<value target='Layout0' data='' />
				<value target='Count0' data='0' />
				<value target='Callback0' data='' />
				<value target='CBCount0' data='0' />
				<value target='Scene1' data='2' />
				<value target='Layout1' data='' />
				<value target='Count1' data='0' />
				<value target='Callback1' data='' />
				<value target='CBCount1' data='' />
				<value target='Scene2' data='3' />
				<value target='Layout2' data='' />
				<value target='Count2' data='' />
				<value target='Callback2' data='' />
				<value target='CBCount2' data='' />
				<value target='Scene3' data='4' />
				<value target='Layout3' data='' />
				<value target='Count3' data='' />
				<value target='Callback3' data='' />
				<value target='CBCount3' data='' />
				<value target='Scene4' data='5' />
				<value target='Layout4' data='' />
				<value target='Count4' data='' />
				<value target='Callback4' data='' />
				<value target='CBCount4' data='' />
				<value target='Scene5' data='6' />
				<value target='Layout5' data='' />
				<value target='Count5' data='' />
				<value target='Callback5' data='' />
				<value target='CBCount5' data='' />
				<value target='Scene6' data='7' />
				<value target='Layout6' data='' />
				<value target='Count6' data='' />
				<value target='Callback6' data='' />
				<value target='CBCount6' data='' />
				<value target='Scene7' data='8' />
				<value target='Layout7' data='' />
				<value target='Count7' data='' />
				<value target='Callback7' data='' />
				<value target='CBCount7' data='' />
				<value target='Scene8' data='9' />
				<value target='Layout8' data='' />
				<value target='Count8' data='' />
				<value target='Callback8' data='' />
				<value target='CBCount8' data='' />
				<value target='Scene9' data='10' />
				<value target='Layout9' data='' />
				<value target='Count9' data='' />
				<value target='Callback9' data='' />
				<value target='CBCount9' data='' />
				<value target='Scene10' data='11' />
				<value target='Layout10' data='' />
				<value target='Count10' data='' />
				<value target='Callback10' data='' />
				<value target='CBCount10' data='' />
				<value target='Scene11' data='12' />
				<value target='Layout11' data='' />
				<value target='Count11' data='' />
				<value target='Callback11' data='' />
				<value target='CBCount11' data='' />
				<value target='Scene12' data='13' />
				<value target='Layout12' data='' />
				<value target='Count12' data='' />
				<value target='Callback12' data='' />
				<value target='CBCount12' data='' />
				<value target='Scene13' data='14' />
				<value target='Layout13' data='' />
				<value target='Count13' data='' />
				<value target='Callback13' data='' />
				<value target='CBCount13' data='' />
				<value target='Scene14' data='15' />
				<value target='Layout14' data='' />
				<value target='Count14' data='' />
				<value target='Callback14' data='' />
				<value target='CBCount14' data='' />
				<value target='Scene15' data='16' />
				<value target='Layout15' data='' />
				<value target='Count15' data='' />
				<value target='Callback15' data='' />
				<value target='CBCount15' data='' />
				<value target='Scene16' data='17' />
				<value target='Layout16' data='' />
				<value target='Count16' data='' />
				<value target='Callback16' data='' />
				<value target='CBCount16' data='' />
				<value target='Scene17' data='18' />
				<value target='Layout17' data='' />
				<value target='Count17' data='' />
				<value target='Callback17' data='' />
				<value target='CBCount17' data='' />
				<value target='Scene18' data='19' />
				<value target='Layout18' data='' />
				<value target='Count18' data='' />
				<value target='Callback18' data='' />
				<value target='CBCount18' data='' />
				<value target='Scene19' data='20' />
				<value target='Layout19' data='' />
				<value target='Count19' data='' />
				<value target='Callback19' data='' />
				<value target='CBCount19' data='' />
				<value target='Scene20' data='21' />
				<value target='Layout20' data='' />
				<value target='Count20' data='' />
				<value target='Callback20' data='' />
				<value target='CBCount20' data='' />
				<value target='Scene21' data='22' />
				<value target='Layout21' data='' />
				<value target='Count21' data='' />
				<value target='Callback21' data='' />
				<value target='CBCount21' data='' />
				<value target='Scene22' data='23' />
				<value target='Layout22' data='' />
				<value target='Count22' data='' />
				<value target='Callback22' data='' />
				<value target='CBCount22' data='' />
				<value target='Scene23' data='24' />
				<value target='Layout23' data='' />
				<value target='Count23' data='' />
				<value target='Callback23' data='' />
				<value target='CBCount23' data='' />
				<value target='Scene24' data='25' />
				<value target='Layout24' data='' />
				<value target='Count24' data='' />
				<value target='Callback24' data='' />
				<value target='CBCount24' data='' />
				<value target='Scene25' data='26' />
				<value target='Layout25' data='' />
				<value target='Count25' data='' />
				<value target='Callback25' data='' />
				<value target='CBCount25' data='' />
				<value target='Scene26' data='' />
				<value target='Layout26' data='27' />
				<value target='Count26' data='' />
				<value target='Callback26' data='' />
				<value target='CBCount26' data='' />
				<value target='Scene27' data='28' />
				<value target='Layout27' data='' />
				<value target='Count27' data='' />
				<value target='Callback27' data='' />
				<value target='CBCount27' data='' />
				<value target='Scene28' data='29' />
				<value target='Layout28' data='' />
				<value target='Count28' data='' />
				<value target='Callback28' data='' />
				<value target='CBCount28' data='' />
				<value target='Scene29' data='30' />
				<value target='Layout29' data='' />
				<value target='Count29' data='' />
				<value target='Callback29' data='' />
				<value target='CBCount29' data='' />
				<value target='XPixels' data='320' />
				<value target='YPixels' data='240' />
			</values>
			<events >
				<event class='Compile' event='AddHeader' target='Ev_AddHeader' />
				<event class='Components' event='Property' target='Ev_Property' />
				<event class='Components' event='PostInitialise' target='Ev_PostInitialise' />
				<event class='Components' event='Renamed' target='Ev_Renamed' />
				<event class='Simulation' event='Start' target='Ev_SimStart' />
				<event class='System' event='LoadComplete' target='Ev_LoadComplete' />
				<event class='Compile' event='Start' target='Ev_CompileStart' />
				<event class='Compile' event='GetVarSize' target='Ev_GetVarSize' />
				<event class='System' event='Timer' target='Ev_Timer' />
				<event class='Components' event='Initialise' target='Ev_Initialise' />
			</events>
			<apis >
				<api name='DrawScene' alt='DrawScene' type='1' proto='1' />
				<api name='CreateWidget' alt='CreateWidget' type='1' proto='1' />
				<api name='ModifyColour' alt='ModifyColour' type='1' proto='1' />
				<api name='CheckForTouch' alt='CheckForTouch' type='1' proto='1' />
				<api name='GetSliderValue' alt='GetSliderValue' type='1' proto='1' />
				<api name='CreateTextField' alt='CreateTextField' type='1' proto='1' />
				<api name='ModifyScale' alt='ModifyScale' type='1' proto='1' />
				<api name='DrawItem' alt='DrawItem' type='1' proto='1' />
				<api name='SetTextLabel' alt='SetTextLabel' type='1' proto='1' />
				<api name='DrawAll' alt='DrawAll' type='1' proto='1' />
				<api name='GetLastTouchID' alt='GetLastTouchID' type='1' proto='1' />
				<api name='SetSliderValue' alt='SetSliderValue' type='1' proto='1' />
				<api name='CheckCollision' alt='CheckCollision' type='1' proto='1' />
				<api name='ModifyPosition' alt='ModifyPosition' type='1' proto='1' />
				<api name='ClearAll' alt='ClearAll' type='1' proto='1' />
				<api name='CreateObjectArray' alt='CreateObjectArray' type='1' proto='1' />
				<api name='ModifyBitmap' alt='ModifyBitmap' type='1' proto='1' />
				<api name='NoTouch' alt='NoTouch' type='1' proto='1' />
				<api name='CreateWidgetArray' alt='CreateWidgetArray' type='1' proto='1' />
				<api name='GetSceneIdx' alt='GetSceneIdx' type='1' proto='1' />
				<api name='CreateObject' alt='CreateObject' type='1' proto='1' />
				<api name='Initialise' alt='Initialise' type='1' proto='1' />
			</apis>
			<variables >
				<variable public='0' >
					<def class_type='variable' name='H' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
						<array size='100' />
					</def>
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Object_RoundedRectangle' type='u8' description='Object type: rounded rectangle with border and fill' isconst='1' isHidden='0' isinit='1' usrinit='2' setinit='2' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_Rectangular' type='u8' description='Widget type: rectangular button' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='LastWidgetPress' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='-1' setinit='-1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='WidgetColour' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
						<array size='100' />
						<array size='4' />
						<array size='3' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='SceneIdx' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Value' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' >
						<array size='100' />
					</def>
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_Ellipse' type='u8' description='Widget type: elliptical button' isconst='1' isHidden='0' isinit='1' usrinit='3' setinit='3' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Object_Line' type='u8' description='Object type: line from X,Y to X+Width,Y+Height' isconst='1' isHidden='0' isinit='1' usrinit='4' setinit='4' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='BitmapFilename' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
						<array size='20' />
					</def>
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Object_Hidden' type='u8' description='Object type: invisible area used for text labels or collision checks' isconst='1' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Object_Rectangle' type='u8' description='Object type: rectangle with border and fill' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='OldValue' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' >
						<array size='100' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='NumWidgets' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Widget_Bitmap' type='u8' description='Widget type: touchable bitmap image' isconst='1' isHidden='0' isinit='1' usrinit='8' setinit='8' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_HSlider_Round' type='u8' description='Widget type: horizontal slider with round thumb' isconst='1' isHidden='0' isinit='1' usrinit='7' setinit='7' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='ObjectColour' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
						<array size='100' />
						<array size='3' />
						<array size='3' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='WidgetHandles' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='{0}' >
						<array size='100' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='SendingScene' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='NumObjects' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Y' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
						<array size='100' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='X' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
						<array size='100' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Type' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='100' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='W' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
						<array size='100' />
					</def>
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_HSlider' type='u8' description='Widget type: horizontal slider with rectangular thumb' isconst='1' isHidden='0' isinit='1' usrinit='5' setinit='5' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='DrawHighlight' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot; 0 &quot;' setinit='{0}' >
						<array size='100' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='LineWidth' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot; 0 &quot;' setinit='{0}' >
						<array size='100' />
					</def>
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_VSlider_Round' type='u8' description='Widget type: vertical slider with round thumb' isconst='1' isHidden='0' isinit='1' usrinit='6' setinit='6' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_Hidden' type='u8' description='Widget type: invisible touch area' isconst='1' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='TouchInterval' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_VSlider' type='u8' description='Widget type: vertical slider with rectangular thumb' isconst='1' isHidden='0' isinit='1' usrinit='4' setinit='4' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_CircularSlider' type='u8' description='Widget type: touchable circular slider, 270 degree arc with a round thumb' isconst='1' isHidden='0' isinit='1' usrinit='9' setinit='9' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_Gauge' type='u8' description='Widget type: circular gauge, 270 degree arc with optional needle (not touchable)' isconst='1' isHidden='0' isinit='1' usrinit='10' setinit='10' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Widget_RoundedRectangle' type='u8' description='Widget type: rounded rectangle button' isconst='1' isHidden='0' isinit='1' usrinit='2' setinit='2' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Console' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='1' >
					<def class_type='variable' name='Object_Ellipse' type='u8' description='Object type: ellipse with border and fill' isconst='1' isHidden='0' isinit='1' usrinit='3' setinit='3' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Object_Bitmap' type='u8' description='Object type: bitmap image' isconst='1' isHidden='0' isinit='1' usrinit='8' setinit='8' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='DrawScene' description='Clears the screen and adds and draws the objects and widgets from the layout editor.&#13;&#10;' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='SceneIndex' type='u8' description='Select which screen to draw. Range: 0 to Scene Count - 1' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Idx' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='data' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='25' />
						</local>
						<local name='Str' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='100' />
						</local>
						<local name='StrIdx' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='LastID' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='255' setinit='255' />
						<local name='Count' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Colours' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot; 0 &quot;' setinit='{0}' >
							<array size='12' />
						</local>
						<command class_type='decision' title='Decision' exp='DC_Enabled == 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='SendingScene = 1' />
								</command>
								<command class_type='decision' title='Decision' exp='.SceneIndex &lt; SceneCount' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='SceneIdx = .SceneIndex' />
										</command>
										<command class_type='native' title='Code' ccode='      unsigned char * ptr = LAYOUT0;' language='C' />
										<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
											<flowline >
												<command class_type='sim' title='Read Sim Length of Layout' macro='Component.Property.GetValue' >
													<return exp='.Count' />
													<argument exp='this' />
													<argument exp='&quot;Count&quot; + ToString$(.SceneIndex)' />
												</command>
											</flowline>
											<flowline >
												<command class_type='native' title='Read Length of layout' ccode='        FCL_COUNT = DC_COUNT[FCL_SCENEINDEX];' language='C' />
												<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.SceneIndex' >
													<case >
														<flowline />
													</case>
													<case exp='1' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 1' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT1;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='2' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 2' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT2;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='3' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 3' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT3;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='4' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 4' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT4;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='5' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 5' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT5;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='6' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 6' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT6;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='7' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 7' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT7;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='8' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 8' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT8;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='9' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 9' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT9;' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='0' >
														<flowline >
															<command class_type='native' title='Code' ccode='            ptr = LAYOUT0;' language='C' />
														</flowline>
													</case>
												</command>
												<command class_type='decision' title='Decision' exp='SceneCount &gt; 10' swap='0' >
													<flowline >
														<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.SceneIndex' >
															<case >
																<flowline />
															</case>
															<case exp='11' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 11' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT11;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='12' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 12' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT12;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='13' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 13' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT13;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='14' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 14' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT14;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='15' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 15' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT15;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='16' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 16' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT16;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='17' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 17' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT17;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='18' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 18' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT18;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='19' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 19' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT19;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='10' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT10;' language='C' />
																</flowline>
															</case>
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Decision' exp='SceneCount &gt; 20' swap='0' >
													<flowline >
														<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.SceneIndex' >
															<case >
																<flowline />
															</case>
															<case exp='21' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 21' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT21;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='22' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 22' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT22;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='23' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 23' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT23;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='24' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 24' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT24;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='25' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 25' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT25;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='26' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 26' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT26;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='27' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 27' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT27;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='28' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 28' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT28;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='29' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 29' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                ptr = LAYOUT29;' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='20' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              ptr = LAYOUT20;' language='C' />
																</flowline>
															</case>
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
										</command>
										<command class_type='loop' title='Loop' type='0' exp='.Idx &lt; .Count' for1='' for3='' >
											<flowline >
												<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
													<flowline >
														<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
															<argument exp='.data' />
															<argument exp='.idx' />
															<argument exp='1' />
															<argument exp='.SceneIndex' />
														</command>
													</flowline>
													<flowline >
														<command class_type='native' title='Code' ccode='          FCL_DATA[0] = ptr[FCL_IDX];' language='C' />
													</flowline>
												</command>
												<command class_type='calculation' title='Calculation' >
													<exp exp='.idx = .idx + 1' />
												</command>
												<command class_type='decision' title='Background Colour Header' exp='.Data[0] == &apos;C&apos;' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
															<flowline >
																<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
																	<argument exp='.data' />
																	<argument exp='.idx' />
																	<argument exp='3' />
																	<argument exp='.SceneIndex' />
																</command>
															</flowline>
															<flowline >
																<command class_type='native' title='Code' ccode='            FCL_DATA[0] = ptr[FCL_IDX + 0]; //BgColour R&#10;            FCL_DATA[1] = ptr[FCL_IDX + 1]; //BgColour G&#10;            FCL_DATA[2] = ptr[FCL_IDX + 2]; //BgColour B' language='C' />
															</flowline>
														</command>
														<command class_type='decision' title='Decision' exp='DisplayType = 0' swap='0' >
															<flowline >
																<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetBackgroundColour' >
																	<argument exp='.data[0]' />
																	<argument exp='.data[1]' />
																	<argument exp='.data[2]' />
																</command>
																<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='ClearDisplay' />
															</flowline>
															<flowline >
																<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetBackgroundColour' >
																	<argument exp='.data[0]' />
																</command>
																<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='ClearDisplay' />
															</flowline>
														</command>
														<command class_type='call' title='User Macro' macro='ClearAll' >
															<argument exp='0' />
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.idx = .idx + 3' />
														</command>
														<command class_type='goto' title='Jump' labelid='0' labelname='' labeltype='0' />
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Object Header' exp='.Data[0] == &apos;O&apos;' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
															<flowline >
																<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
																	<argument exp='.data' />
																	<argument exp='.idx' />
																	<argument exp='19' />
																	<argument exp='.SceneIndex' />
																</command>
															</flowline>
															<flowline >
																<command class_type='native' title='Code' ccode='            FCL_DATA[0] = ptr[FCL_IDX + 0];   //SubType&#10;            FCL_DATA[1] = ptr[FCL_IDX + 1];   //XL&#10;            FCL_DATA[2] = ptr[FCL_IDX + 2];   //XH&#10;            FCL_DATA[3] = ptr[FCL_IDX + 3];   //YL&#10;            FCL_DATA[4] = ptr[FCL_IDX + 4];   //YH&#10;            FCL_DATA[5] = ptr[FCL_IDX + 5];   //WidthL&#10;            FCL_DATA[6] = ptr[FCL_IDX + 6];   //WidthH&#10;            FCL_DATA[7] = ptr[FCL_IDX + 7];   //HeightL&#10;            FCL_DATA[8] = ptr[FCL_IDX + 8];   //HeightH&#10;            FCL_DATA[9] = ptr[FCL_IDX + 9];   //Line Width&#10;            FCL_DATA[10] = ptr[FCL_IDX + 10]; //FgColour R&#10;            FCL_DATA[11] = ptr[FCL_IDX + 11]; //FgColour G&#10;            FCL_DATA[12] = ptr[FCL_IDX + 12]; //FgColour B&#10;            FCL_DATA[13] = ptr[FCL_IDX + 13]; //BgColour R&#10;            FCL_DATA[14] = ptr[FCL_IDX + 14]; //BgColour G&#10;            FCL_DATA[15] = ptr[FCL_IDX + 15]; //BgColour B&#10;            FCL_DATA[16] = ptr[FCL_IDX + 16]; //TxColour R&#10;            FCL_DATA[17] = ptr[FCL_IDX + 17]; //TxColour G&#10;            FCL_DATA[18] = ptr[FCL_IDX + 18]; //TxColour B' language='C' />
															</flowline>
														</command>
														<command class_type='calculation' title='Copy colours from data into seperate array' >
															<exp exp='.Colours[0] = .data[10]' />
															<exp exp='.Colours[1] = .data[11]' />
															<exp exp='.Colours[2] = .data[12]' />
															<exp exp='.Colours[3] = .data[13]' />
															<exp exp='.Colours[4] = .data[14]' />
															<exp exp='.Colours[5] = .data[15]' />
															<exp exp='.Colours[6] = .data[16]' />
															<exp exp='.Colours[7] = .data[17]' />
															<exp exp='.Colours[8] = .data[18]' />
														</command>
														<command class_type='call' title='User Macro' macro='CreateObject' >
															<return exp='.LastID' />
															<argument exp='.Data[0]' />
															<argument exp='.Data[1] + (.Data[2] &lt;&lt; 8)' />
															<argument exp='.Data[3] + (.Data[4] &lt;&lt; 8)' />
															<argument exp='.Data[5] + (.Data[6] &lt;&lt; 8)' />
															<argument exp='.Data[7] + (.Data[8] &lt;&lt; 8)' />
															<argument exp='.Data[9]' />
															<argument exp='.Colours' />
															<argument exp='1' />
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.idx = .idx + 19' />
														</command>
														<command class_type='goto' title='Jump' labelid='0' labelname='' labeltype='0' />
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Widget Header' exp='.Data[0] == &apos;W&apos;' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
															<flowline >
																<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
																	<argument exp='.data' />
																	<argument exp='.idx' />
																	<argument exp='25' />
																	<argument exp='.SceneIndex' />
																</command>
															</flowline>
															<flowline >
																<command class_type='native' title='Code' ccode='            FCL_DATA[0] = ptr[FCL_IDX + 0];   //SubType&#10;            FCL_DATA[1] = ptr[FCL_IDX + 1];   //XL&#10;            FCL_DATA[2] = ptr[FCL_IDX + 2];   //XH&#10;            FCL_DATA[3] = ptr[FCL_IDX + 3];   //YL&#10;            FCL_DATA[4] = ptr[FCL_IDX + 4];   //YH&#10;            FCL_DATA[5] = ptr[FCL_IDX + 5];   //WidthL&#10;            FCL_DATA[6] = ptr[FCL_IDX + 6];   //WidthH&#10;            FCL_DATA[7] = ptr[FCL_IDX + 7];   //HeightL&#10;            FCL_DATA[8] = ptr[FCL_IDX + 8];   //HeightL&#10;            FCL_DATA[9] = ptr[FCL_IDX + 9];   //Line Width&#10;            FCL_DATA[10] = ptr[FCL_IDX + 10]; //FgColour R&#10;            FCL_DATA[11] = ptr[FCL_IDX + 11]; //FgColour G&#10;            FCL_DATA[12] = ptr[FCL_IDX + 12]; //FgColour B&#10;            FCL_DATA[13] = ptr[FCL_IDX + 13]; //BgColour R&#10;            FCL_DATA[14] = ptr[FCL_IDX + 14]; //BgColour G&#10;            FCL_DATA[15] = ptr[FCL_IDX + 15]; //BgColour B&#10;            FCL_DATA[16] = ptr[FCL_IDX + 16]; //HlColour R&#10;            FCL_DATA[17] = ptr[FCL_IDX + 17]; //HlColour G&#10;            FCL_DATA[18] = ptr[FCL_IDX + 18]; //HlColour B&#10;            FCL_DATA[19] = ptr[FCL_IDX + 19]; //LlColour R&#10;            FCL_DATA[20] = ptr[FCL_IDX + 20]; //LlColour G&#10;            FCL_DATA[21] = ptr[FCL_IDX + 21]; //LlColour B&#10;            FCL_DATA[22] = ptr[FCL_IDX + 22]; //Draw Highlight&#10;            FCL_DATA[23] = ptr[FCL_IDX + 23]; //HandleL&#10;            FCL_DATA[24] = ptr[FCL_IDX + 24]; //HandleH' language='C' />
															</flowline>
														</command>
														<command class_type='calculation' title='Copy colours from data into seperate array' >
															<exp exp='.Colours[0] = .data[10]' />
															<exp exp='.Colours[1] = .data[11]' />
															<exp exp='.Colours[2] = .data[12]' />
															<exp exp='.Colours[3] = .data[13]' />
															<exp exp='.Colours[4] = .data[14]' />
															<exp exp='.Colours[5] = .data[15]' />
															<exp exp='.Colours[6] = .data[16]' />
															<exp exp='.Colours[7] = .data[17]' />
															<exp exp='.Colours[8] = .data[18]' />
															<exp exp='.Colours[9] = .data[19]' />
															<exp exp='.Colours[10] = .data[20]' />
															<exp exp='.Colours[11] = .data[21]' />
														</command>
														<command class_type='decision' title='Decision' exp='NumWidgets &lt; MaxWidgets' swap='0' >
															<flowline >
																<command class_type='calculation' title='Calculation' >
																	<exp exp='WidgetHandles[NumWidgets] = .data[23] + (.data[24] &lt;&lt; 8)' />
																</command>
															</flowline>
															<flowline />
														</command>
														<command class_type='call' title='User Macro' macro='CreateWidget' >
															<return exp='.LastID' />
															<argument exp='.Data[0]' />
															<argument exp='.Data[1] + (.Data[2] &lt;&lt; 8)' />
															<argument exp='.Data[3] + (.Data[4] &lt;&lt; 8)' />
															<argument exp='.Data[5] + (.Data[6] &lt;&lt; 8)' />
															<argument exp='.Data[7] + (.Data[8] &lt;&lt; 8)' />
															<argument exp='.Data[9]' />
															<argument exp='.Colours' />
															<argument exp='.Data[22]' />
															<argument exp='1' />
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.idx = .idx + 25' />
														</command>
														<command class_type='goto' title='Jump' labelid='0' labelname='' labeltype='0' />
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Bitmap Header' exp='.Data[0] == &apos;B&apos;' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
															<flowline >
																<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
																	<argument exp='.data' />
																	<argument exp='.idx' />
																	<argument exp='19' />
																	<argument exp='.SceneIndex' />
																</command>
															</flowline>
															<flowline >
																<command class_type='native' title='Code' ccode='            FCL_DATA[0] = ptr[FCL_IDX + 0];    //Type Object / Widget&#10;            FCL_DATA[1] = ptr[FCL_IDX + 1];    //Scaling Native / Stretch &#10;            FCL_DATA[2] = ptr[FCL_IDX + 2];    //XL&#10;            FCL_DATA[3] = ptr[FCL_IDX + 3];    //XH&#10;            FCL_DATA[4] = ptr[FCL_IDX + 4];    //YL&#10;            FCL_DATA[5] = ptr[FCL_IDX + 5];    //YH&#10;            FCL_DATA[6] = ptr[FCL_IDX + 6];    //WidthL&#10;            FCL_DATA[7] = ptr[FCL_IDX + 7];    //WidthH&#10;            FCL_DATA[8] = ptr[FCL_IDX + 8];    //HeightL&#10;            FCL_DATA[9] = ptr[FCL_IDX + 9];    //HeightH&#10;            FCL_DATA[10] = ptr[FCL_IDX + 10];  //Use Transparency&#10;            FCL_DATA[11] = ptr[FCL_IDX + 11];  //Transparency R&#10;            FCL_DATA[12] = ptr[FCL_IDX + 12];  //Transparency G&#10;            FCL_DATA[13] = ptr[FCL_IDX + 13];  //Transparency B&#10;            FCL_DATA[14] = ptr[FCL_IDX + 14];  //Text R&#10;            FCL_DATA[15] = ptr[FCL_IDX + 15];  //Text G&#10;            FCL_DATA[16] = ptr[FCL_IDX + 16];  //Text B&#10;            FCL_DATA[17] = ptr[FCL_IDX + 17];  //Handle L&#10;            FCL_DATA[18] = ptr[FCL_IDX + 18];  //Handle H' language='C' />
															</flowline>
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.idx = .idx + 19' />
														</command>
														<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
															<flowline >
																<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
																	<argument exp='.str' />
																	<argument exp='.idx' />
																	<argument exp='255' />
																	<argument exp='.SceneIndex' />
																</command>
																<command class_type='calculation' title='Calculation' >
																	<exp exp='.idx = .idx + Length$(.str) + 1' />
																</command>
															</flowline>
															<flowline >
																<command class_type='native' title='Code' ccode='            FCL_STRIDX = 0;&#10;            while (ptr[FCL_IDX] &gt; 0)&#10;            {&#10;                FCL_STR[FCL_STRIDX++] = ptr[FCL_IDX++];&#10;            }&#10;            FCL_STR[FCL_STRIDX++] = ptr[FCL_IDX++];' language='C' />
															</flowline>
														</command>
														<command class_type='calculation' title='Copy filename string to global var' >
															<exp exp='BitmapFilename = .Str' />
														</command>
														<command class_type='calculation' title='Copy colours from data into seperate array' >
															<exp exp='.Colours[0] = .data[1] //Native or Stretch' />
															<exp exp='.Colours[1] = .data[10] //Use Transparency' />
															<exp exp='.Colours[2] = 0' />
															<exp exp='.Colours[3] = .data[11]' />
															<exp exp='.Colours[4] = .data[12]' />
															<exp exp='.Colours[5] = .data[13]' />
															<exp exp='.Colours[6] = .data[14]' />
															<exp exp='.Colours[7] = .data[15]' />
															<exp exp='.Colours[8] = .data[16]' />
															<exp exp='.Colours[9] = 0' />
															<exp exp='.Colours[10] = 0' />
															<exp exp='.Colours[11] = 0' />
														</command>
														<command class_type='decision' title='Decision' exp='.data[0]' swap='0' >
															<flowline >
																<command class_type='decision' title='Decision' exp='NumWidgets &lt; MaxWidgets' swap='0' >
																	<flowline >
																		<command class_type='calculation' title='Calculation' >
																			<exp exp='WidgetHandles[NumWidgets] = .data[17] + (.data[18] &lt;&lt; 8)' />
																		</command>
																	</flowline>
																	<flowline />
																</command>
																<command class_type='call' title='User Macro' macro='CreateWidget' >
																	<return exp='.LastID' />
																	<argument exp='8' />
																	<argument exp='.data[2] + (.data[3] &lt;&lt; 8)' />
																	<argument exp='.data[4] + (.data[5] &lt;&lt; 8)' />
																	<argument exp='.data[6] + (.data[7] &lt;&lt; 8)' />
																	<argument exp='.data[8] + (.data[9] &lt;&lt; 8)' />
																	<argument exp='0' />
																	<argument exp='.Colours' />
																	<argument exp='0' />
																	<argument exp='1' />
																</command>
															</flowline>
															<flowline >
																<command class_type='call' title='User Macro' macro='CreateObject' >
																	<return exp='.LastID' />
																	<argument exp='8' />
																	<argument exp='.data[2] + (.data[3] &lt;&lt; 8)' />
																	<argument exp='.data[4] + (.data[5] &lt;&lt; 8)' />
																	<argument exp='.data[6] + (.data[7] &lt;&lt; 8)' />
																	<argument exp='.data[8] + (.data[9] &lt;&lt; 8)' />
																	<argument exp='0' />
																	<argument exp='.Colours' />
																	<argument exp='1' />
																</command>
															</flowline>
														</command>
														<command class_type='goto' title='Jump' labelid='0' labelname='' labeltype='0' />
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='String Header' exp='.Data[0] == &apos;S&apos;' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
															<flowline >
																<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
																	<argument exp='.data' />
																	<argument exp='.idx' />
																	<argument exp='3' />
																	<argument exp='.SceneIndex' />
																</command>
															</flowline>
															<flowline >
																<command class_type='native' title='Code' ccode='            FCL_DATA[0] = ptr[FCL_IDX + 0];  //Font Index&#10;            FCL_DATA[1] = ptr[FCL_IDX + 1];  //HAlign&#10;            FCL_DATA[2] = ptr[FCL_IDX + 2];  //VAlign' language='C' />
															</flowline>
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.idx = .idx + 3' />
														</command>
														<command class_type='decision' title='Decision' exp='IsSim == 1' swap='0' >
															<flowline >
																<command class_type='call' title='User Macro' macro='Prv_GetDCArray' >
																	<argument exp='.str' />
																	<argument exp='.idx' />
																	<argument exp='255' />
																	<argument exp='.SceneIndex' />
																</command>
																<command class_type='calculation' title='Calculation' >
																	<exp exp='.idx = .idx + Length$(.str) + 1' />
																</command>
															</flowline>
															<flowline >
																<command class_type='native' title='Code' ccode='            FCL_STRIDX = 0;&#10;            while (ptr[FCL_IDX] &gt; 0)&#10;            {&#10;                FCL_STR[FCL_STRIDX++] = ptr[FCL_IDX++];&#10;            }&#10;            FCL_STR[FCL_STRIDX++] = ptr[FCL_IDX++];' language='C' />
															</flowline>
														</command>
														<command class_type='call' title='User Macro' macro='SetTextLabel' >
															<argument exp='.LastID' />
															<argument exp='.Str' />
															<argument exp='.data[0]' />
															<argument exp='.data[1]' />
															<argument exp='.data[2]' />
															<argument exp='1' />
														</command>
														<command class_type='goto' title='Jump' labelid='0' labelname='' labeltype='0' />
													</flowline>
													<flowline />
												</command>
												<command class_type='label' title='Label' labelid='0' labelname='A' labeltype='4' />
											</flowline>
										</command>
										<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
											<flowline >
												<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.SceneIndex' >
													<case >
														<flowline />
													</case>
													<case exp='1' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 1' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT1, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='2' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 2' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT2, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='3' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 3' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT3, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='4' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 4' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT4, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='5' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 5' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT5, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='6' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 6' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT6, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='7' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 7' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT7, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='8' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 8' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT8, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='9' >
														<flowline >
															<command class_type='decision' title='Decision' exp='SceneCount &gt; 9' swap='0' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT9, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
																<flowline />
															</command>
														</flowline>
													</case>
													<case exp='0' >
														<flowline >
															<command class_type='native' title='Code' ccode='            MX_CAPTOUCH_SendBinaryScene(LAYOUT0, FCL_COUNT, FCL_COUNT);' language='C' />
														</flowline>
													</case>
												</command>
												<command class_type='decision' title='Decision' exp='SceneCount &gt; 10' swap='0' >
													<flowline >
														<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.SceneIndex' >
															<case >
																<flowline />
															</case>
															<case exp='11' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 11' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT11, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='12' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 12' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT12, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='13' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 13' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT13, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='14' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 14' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT14, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='15' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 15' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT15, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='16' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 16' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT16, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='17' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 17' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT17, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='18' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 18' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT18, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='19' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 19' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT19, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='10' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT10, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
															</case>
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Decision' exp='SceneCount &gt; 20' swap='0' >
													<flowline >
														<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.SceneIndex' >
															<case >
																<flowline />
															</case>
															<case exp='21' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 21' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT21, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='22' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 22' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT22, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='23' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 23' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT23, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='24' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 24' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT24, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='25' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 25' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT25, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='26' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 26' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT26, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='27' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 27' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT27, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='28' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 28' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT28, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='29' >
																<flowline >
																	<command class_type='decision' title='Decision' exp='SceneCount &gt; 29' swap='0' >
																		<flowline >
																			<command class_type='native' title='Code' ccode='                MX_CAPTOUCH_SendBinaryScene(LAYOUT29, FCL_COUNT, FCL_COUNT);' language='C' />
																		</flowline>
																		<flowline />
																	</command>
																</flowline>
															</case>
															<case exp='20' >
																<flowline >
																	<command class_type='native' title='Code' ccode='              MX_CAPTOUCH_SendBinaryScene(LAYOUT20, FCL_COUNT, FCL_COUNT);' language='C' />
																</flowline>
															</case>
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='SendingScene = 0' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Timer' description='Called back on the panel command System.TimerStart' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='TimerID' type='u32' description='The identifier passed to the System.TimerStart panel command' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='TestHandle' type='h32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='decision' title='Decision' exp='.TimerID = 255' swap='0' >
							<flowline >
								<command class_type='call' title='User Macro' macro='Prv_SetupDCScenes' />
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Str = &quot;Scene&quot; + ToString$(.TimerID)' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
									<return exp='.TestHandle' />
									<argument exp='this' />
									<argument exp='.Str' />
								</command>
								<command class_type='decision' title='Decision' exp='.TestHandle &gt;= 0' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='Orientation &amp; 1' swap='0' >
											<flowline >
												<command class_type='sim' title='Built-in Function' macro='Panel.ConfigureDisplayCreator' >
													<argument exp='.TestHandle' />
													<argument exp='YPixels' />
													<argument exp='XPixels' />
													<argument exp='BackgroundColour' />
													<argument exp='3' />
												</command>
											</flowline>
											<flowline >
												<command class_type='sim' title='Built-in Function' macro='Panel.ConfigureDisplayCreator' >
													<argument exp='.TestHandle' />
													<argument exp='XPixels' />
													<argument exp='YPixels' />
													<argument exp='BackgroundColour' />
													<argument exp='3' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='CreateWidget' description='Define an interactive Widget: button shape, slider, circular slider or gauge.&#13;&#10;Returns the Widget ID (Max Objects + 1 upwards), or 0 if the Max Widgets limit has been reached.' statediag='0' >
						<return name='Return' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='WidgetType' type='u8' description='0=Hidden (touch area only), 1=Rectangle, 2=Rounded Rectangle, 3=Ellipse, 4=Vertical Slider, 5=Horizontal Slider,&#13;&#10;6=Vertical Slider Round Thumb, 7=Horizontal Slider Round Thumb, 8=Bitmap, 9=Circular Slider (touchable), 10=Circular Gauge (not touchable)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='X' type='u16' description='X pixel coordinate of the top left corner' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y' type='u16' description='Y pixel coordinate of the top left corner' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Width' type='u16' description='Pixel width of the bounding box. Circular slider / gauge: the disc fits the smaller of width and height.' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Height' type='u16' description='Pixel height of the bounding box. Circular slider / gauge: the disc fits the smaller of width and height.' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='LineWidth' type='u8' description='Border thickness in pixels for shapes (0 = no border, fill only).&#13;&#10;Sliders, circular slider and gauge: thickness of the track or arc.' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Colours' type='u8' description='Byte array: Foreground RGB [0-2], Background RGB [3-5], Text RGB [6-8], Highlight RGB [9-11].&#13;&#10;Shapes: Foreground = border, Background = fill, Text = label, Highlight = drop shadow.&#13;&#10;Sliders / circular slider / gauge: Foreground = thumb or needle, Background = track background, Text = low side of track or arc, Highlight = high side.' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='12' />
						</param>
						<param name='DrawHighlight' type='u8' description='Shapes: 1 = draw a drop shadow in the highlight colour, 0 = none.&#13;&#10;Sliders: thumb width in pixels. Circular slider: thumb diameter in pixels.&#13;&#10;Gauge: needle width in pixels, 0 = no needle (filled arc only).' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='DrawWidget' type='b1' description='0 = Do not draw the Widget yet, 1 = Draw the Widget now (does not apply to hidden widgets)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='NumWidgets &lt; MaxWidgets' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;CreateWidget -&gt; &quot;' />
										</command>
										<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.WidgetType' >
											<case >
												<flowline />
											</case>
											<case exp='0' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Hidden &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='1' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Rectangle &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='2' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Rounded Rectangle &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='3' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Ellipse &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='4' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Vertical Slider &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='5' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Horizontal Slider &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='6' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Vertical Slider Rounded &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='7' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Horizontal Slider Rounded &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='8' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Bitmap &quot;' />
													</command>
												</flowline>
											</case>
							<case exp='9' >
								<flowline >
									<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
										<argument exp='Console' />
										<argument exp='&quot;Circular Slider &quot;' />
									</command>
								</flowline>
							</case>
							<case exp='10' >
								<flowline >
									<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
										<argument exp='Console' />
										<argument exp='&quot;Gauge &quot;' />
									</command>
								</flowline>
							</case>
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Assign Parameters' >
									<exp exp='Type[MaxObjects + NumWidgets] = .WidgetType' />
									<exp exp='X[MaxObjects + NumWidgets] = .X' />
									<exp exp='Y[MaxObjects + NumWidgets] = .Y' />
									<exp exp='W[MaxObjects + NumWidgets] = .Width' />
									<exp exp='H[MaxObjects + NumWidgets] = .Height' />
									<exp exp='LineWidth[MaxObjects + NumWidgets] = .LineWidth' />
									<exp exp='WidgetColour[NumWidgets][0][0] = .Colours[0]' />
									<exp exp='WidgetColour[NumWidgets][0][1] = .Colours[1]' />
									<exp exp='WidgetColour[NumWidgets][0][2] = .Colours[2]' />
									<exp exp='WidgetColour[NumWidgets][1][0] = .Colours[3]' />
									<exp exp='WidgetColour[NumWidgets][1][1] = .Colours[4]' />
									<exp exp='WidgetColour[NumWidgets][1][2] = .Colours[5]' />
									<exp exp='WidgetColour[NumWidgets][2][0] = .Colours[6]' />
									<exp exp='WidgetColour[NumWidgets][2][1] = .Colours[7]' />
									<exp exp='WidgetColour[NumWidgets][2][2] = .Colours[8]' />
									<exp exp='WidgetColour[NumWidgets][3][0] = .Colours[9]' />
									<exp exp='WidgetColour[NumWidgets][3][1] = .Colours[10]' />
									<exp exp='WidgetColour[NumWidgets][3][2] = .Colours[11]' />
									<exp exp='DrawHighlight[NumWidgets] = .DrawHighlight' />
									<exp exp='Value[NumWidgets] = 0.0' />
									<exp exp='OldValue[NumWidgets] = 2.0' />
								</command>
								<command class_type='calculation' title='Increment Number Of Widgets' >
									<exp exp='NumWidgets = NumWidgets + 1' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = MaxObjects + NumWidgets' />
								</command>
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;: ID=&quot; + STRING .Return + &quot;\n&quot;' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='.DrawWidget' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='DrawItem' >
											<argument exp='.Return' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;CreateWidget -&gt; Error max widgets limit reached!\n&quot;' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;Max Widgets property can be changed to allow more widgets\n&quot;' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ModifyColour' description='Changes one of the colours of the selected Object or Widget.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='Unique ID of the object or Widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Index' type='u8' description='0 = Foreground (border / thumb / needle), 1 = Background (fill), 2 = Text (label / low side of track or arc),&#13;&#10;3 = Highlight (drop shadow / high side of track or arc) - Widgets only' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='R' type='u8' description='Red channel 0-255 (mono displays use R only: 0 = off, 1 = on)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='G' type='u8' description='Green channel 0-255' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='B' type='u8' description='Blue channel 0-255' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Redraw' type='b1' description='0 = Do not redraw, 1 = Redraw the item straight away in the new colours' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='MQTT_Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='30' />
						</local>
						<command class_type='decision' title='Decision' exp='.ID &gt; 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Change to 0 based ID' >
									<exp exp='.ID = .ID - 1' />
								</command>
								<command class_type='decision' title='Check ID is valid' exp='.ID &lt; NumObjects' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.Index &lt; 3' swap='0' >
											<flowline >
												<command class_type='calculation' title='Update Theme' >
													<exp exp='ObjectColour[.ID][.Index][0] = .R' />
													<exp exp='ObjectColour[.ID][.Index][1] = .G' />
													<exp exp='ObjectColour[.ID][.Index][2] = .B' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Check ID is valid' exp='(.ID &gt;= MaxObjects) &amp;&amp; (.ID &lt; (MaxObjects + NumWidgets))' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.Index &lt; 4' swap='0' >
											<flowline >
												<command class_type='calculation' title='Update Theme' >
													<exp exp='WidgetColour[.ID - MaxObjects][.Index][0] = .R' />
													<exp exp='WidgetColour[.ID - MaxObjects][.Index][1] = .G' />
													<exp exp='WidgetColour[.ID - MaxObjects][.Index][2] = .B' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='.Redraw' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='DrawItem' >
											<argument exp='.ID + 1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='ClearAll' />
										<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
											<argument exp='0' />
											<argument exp='&quot;ID&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='1' />
											<argument exp='&quot;Type&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='2' />
											<argument exp='&quot;idx&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='3' />
											<argument exp='&quot;R&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='4' />
											<argument exp='&quot;G&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='5' />
											<argument exp='&quot;B&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='6' />
											<argument exp='&quot;re&quot;' />
										</command>
										<command class_type='call' title='Identifier' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='0' />
											<argument exp='.ID + 1' />
										</command>
										<command class_type='call' title='Type 4 = Modify Colour' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='1' />
											<argument exp='4' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='2' />
											<argument exp='.Index' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='3' />
											<argument exp='.R' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='4' />
											<argument exp='.G' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='5' />
											<argument exp='.B' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='6' />
											<argument exp='.Redraw' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='GenerateJSON' >
											<return exp='.MQTT_Str' />
										</command>
										<command class_type='native' title='Code' ccode='      MX_CAPTOUCH_SendBinaryAction(FCL_MQTT_STR, 60);' language='C' />
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetSliderValue' description='Reads the value of a slider, circular slider or gauge Widget.&#13;&#10;Returns 0 to 1, or 0 if the ID is not a Widget.' statediag='0' >
						<return name='Return' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<param name='WidgetID' type='u16' description='ID returned by CreateWidget, CreateWidgetArray or the Display Creator component' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='.WidgetID &gt; 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.WidgetID = .WidgetID - 1' />
								</command>
								<command class_type='decision' title='Decision' exp='(.WidgetID &gt;= MaxObjects) &amp;&amp; (.WidgetID &lt; (MaxObjects + NumWidgets))' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Return = Value[.WidgetID - MaxObjects]' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='CheckForTouch' description='Uses the X and Y coordinates from a touch sensor to check for Widget presses.&#13;&#10;Returns 0 for no Widgets pressed. Returns ID for a valid Widget press.&#13;&#10;Touched sliders and circular sliders automatically move their thumb and value to the touch position.&#13;&#10;Gauges do not respond to touch.' statediag='0' >
						<return name='Return' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='X' type='u16' description='Touch X pixel coordinate' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y' type='u16' description='Touch Y pixel coordinate' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Idx' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='ID' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Coord' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='WHandle' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Fval' type='f32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0.0' setinit='0' />
						<local name='Coord2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='No Press Detected' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.Idx' exp='NumWidgets' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.ID = .Idx + MaxObjects' />
								</command>
								<command class_type='decision' title='Check if X in range' exp='(.X &gt;= X[.ID]) &amp;&amp; (.X &lt;= (X[.ID] + W[.ID]))' swap='0' >
									<flowline >
										<command class_type='decision' title='Check if Y in range' exp='(.Y &gt;= Y[.ID]) &amp;&amp; (.Y &lt;= (Y[.ID] + H[.ID]))' swap='0' >
											<flowline >
												<command class_type='decision' title='Standard Widgets' exp='Type[.ID] &lt; 4' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='TouchInterval = 0' swap='0' >
															<flowline >
																<command class_type='calculation' title='Touch detected - return Widget index' >
																	<exp exp='LastWidgetPress = .ID + 1' />
																	<exp exp='.Return = LastWidgetPress' />
																	<exp exp='TouchInterval = TouchRepeatRate' />
																</command>
																<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
																	<flowline >
																		<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
																			<argument exp='Console' />
																			<argument exp='&quot;Touch Detected: ID=&quot; + STRING LastWidgetPress + &quot;\n&quot;' />
																		</command>
																	</flowline>
																	<flowline />
																</command>
															</flowline>
															<flowline >
																<command class_type='calculation' title='Touch previously detected - decrement counter' >
																	<exp exp='TouchInterval = TouchInterval - 1' />
																</command>
																<command class_type='calculation' title='Return detected Widget index' >
																	<exp exp='.Return = 0' />
																</command>
																<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' labeltype='0' />
															</flowline>
														</command>
													</flowline>
													<flowline >
														<command class_type='calculation' title='Touch detected - return Widget index' >
															<exp exp='LastWidgetPress = .ID + 1' />
															<exp exp='.Return = LastWidgetPress' />
															<exp exp='TouchInterval = 0' />
														</command>
														<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
															<flowline >
																<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
																	<argument exp='Console' />
																	<argument exp='&quot;Touch Detected: ID=&quot; + STRING LastWidgetPress + &quot;\n&quot;' />
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
												</command>
												<command class_type='decision' title='Slider V?' exp='(Type[.ID] = 4) || (Type[.ID] = 6)' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.Coord = .Y - Y[.ID] - (DrawHighlight[.ID - MaxObjects] &gt;&gt; 1)' />
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.Fval = FLOAT .Coord / FLOAT (H[.ID] - DrawHighlight[.ID - MaxObjects])' />
															<exp exp='.Fval = 1.0 - .Fval' />
														</command>
														<command class_type='call' title='User Macro' macro='SetSliderValue' >
															<argument exp='.ID + 1' />
															<argument exp='.Fval' />
															<argument exp='1' />
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Slider H?' exp='(Type[.ID] = 5) || (Type[.ID] = 7)' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.Coord = .X - X[.ID] - (DrawHighlight[.ID - MaxObjects] &gt;&gt; 1)' />
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.Fval = FLOAT .Coord / FLOAT (W[.ID] - DrawHighlight[.ID - MaxObjects])' />
														</command>
														<command class_type='call' title='User Macro' macro='SetSliderValue' >
															<argument exp='.ID + 1' />
															<argument exp='.Fval' />
															<argument exp='1' />
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Circular slider?' exp='Type[.ID] = Widget_CircularSlider' swap='0' >
													<flowline >
														<command class_type='calculation' title='Offset from centre' >
															<exp exp='.Coord = .Y - Y[.ID] - (H[.ID] &gt;&gt; 1)' />
															<exp exp='.Coord2 = .X - X[.ID] - (W[.ID] &gt;&gt; 1)' />
														</command>
														<command class_type='calculation' title='Angle in degrees, -180 to 180' >
															<exp exp='.Fval = atan2 (FLOAT .Coord, FLOAT .Coord2) * 57.29578' />
														</command>
														<command class_type='decision' title='Normalise to 135..495' exp='.Fval &lt; 135.0' swap='0' >
															<flowline >
																<command class_type='calculation' title='Calculation' >
																	<exp exp='.Fval = .Fval + 360.0' />
																</command>
															</flowline>
															<flowline />
														</command>
														<command class_type='calculation' title='Scale to 0..1' >
															<exp exp='.Fval = (.Fval - 135.0) / 270.0' />
														</command>
														<command class_type='decision' title='Touched in the gap?' exp='.Fval &gt; 1.0' swap='0' >
															<flowline >
																<command class_type='decision' title='Snap to nearest end' exp='.Fval &lt; 1.1667' swap='0' >
																	<flowline >
																		<command class_type='calculation' title='Calculation' >
																			<exp exp='.Fval = 1.0' />
																		</command>
																	</flowline>
																	<flowline >
																		<command class_type='calculation' title='Calculation' >
																			<exp exp='.Fval = 0.0' />
																		</command>
																	</flowline>
																</command>
															</flowline>
															<flowline />
														</command>
														<command class_type='call' title='User Macro' macro='SetSliderValue' >
															<argument exp='.ID + 1' />
															<argument exp='.Fval' />
															<argument exp='1' />
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' labeltype='0' />
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='label' title='Declare Connection Point' labelid='0' labelname='A' labeltype='4' />
						<command class_type='decision' title='Is there a valid touch?' exp='.Return' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
											<flowline >
												<command class_type='comment' title='' comment='Check for simulated callback' textarea='12,0,12,0' />
												<command class_type='call' title='User Macro' macro='Prv_FindSceneCompCallback' >
													<argument exp='.Return' />
												</command>
											</flowline>
											<flowline >
												<command class_type='comment' title='' comment='Check for embedded callback' textarea='12,0,12,0' />
												<command class_type='calculation' title='Calculation' >
													<exp exp='.ID = .Return - (MaxObjects + 1)' />
												</command>
												<command class_type='calculation' title='Calculation' >
													<exp exp='.WHandle = WidgetHandles[.ID]' />
												</command>
												<command class_type='decision' title='Decision' exp='SceneIdx = 0' swap='0' >
													<flowline >
														<command class_type='native' title='Code' ccode='          DC_CB_Func0[FCL_ID](FCL_WHANDLE);' language='C' />
													</flowline>
													<flowline >
														<command class_type='decision' title='Decision' exp='SceneCount &gt; 1' swap='0' >
															<flowline >
																<command class_type='decision' title='Decision' exp='SceneIdx = 1' swap='0' >
																	<flowline >
																		<command class_type='native' title='Code' ccode='              DC_CB_Func1[FCL_ID](FCL_WHANDLE);' language='C' />
																	</flowline>
																	<flowline >
																		<command class_type='decision' title='Decision' exp='SceneCount &gt; 2' swap='0' >
																			<flowline >
																				<command class_type='decision' title='Decision' exp='SceneIdx = 2' swap='0' >
																					<flowline >
																						<command class_type='native' title='Code' ccode='                  DC_CB_Func2[FCL_ID](FCL_WHANDLE);' language='C' />
																					</flowline>
																					<flowline >
																						<command class_type='decision' title='Decision' exp='SceneCount &gt; 3' swap='0' >
																							<flowline >
																								<command class_type='decision' title='Decision' exp='SceneIdx = 3' swap='0' >
																									<flowline >
																										<command class_type='native' title='Code' ccode='                      DC_CB_Func3[FCL_ID](FCL_WHANDLE);' language='C' />
																									</flowline>
																									<flowline >
																										<command class_type='decision' title='Decision' exp='SceneCount &gt; 4' swap='0' >
																											<flowline >
																												<command class_type='decision' title='Decision' exp='SceneIdx = 4' swap='0' >
																													<flowline >
																														<command class_type='native' title='Code' ccode='                          DC_CB_Func4[FCL_ID](FCL_WHANDLE);' language='C' />
																													</flowline>
																													<flowline >
																														<command class_type='decision' title='Decision' exp='SceneCount &gt; 5' swap='0' >
																															<flowline >
																																<command class_type='decision' title='Decision' exp='SceneIdx = 5' swap='0' >
																																	<flowline >
																																		<command class_type='native' title='Code' ccode='                              DC_CB_Func5[FCL_ID](FCL_WHANDLE);' language='C' />
																																	</flowline>
																																	<flowline >
																																		<command class_type='decision' title='Decision' exp='SceneCount &gt; 6' swap='0' >
																																			<flowline >
																																				<command class_type='decision' title='Decision' exp='SceneIdx = 6' swap='0' >
																																					<flowline >
																																						<command class_type='native' title='Code' ccode='                                  DC_CB_Func6[FCL_ID](FCL_WHANDLE);' language='C' />
																																					</flowline>
																																					<flowline >
																																						<command class_type='decision' title='Decision' exp='SceneCount &gt; 7' swap='0' >
																																							<flowline >
																																								<command class_type='decision' title='Decision' exp='SceneIdx = 7' swap='0' >
																																									<flowline >
																																										<command class_type='native' title='Code' ccode='                                      DC_CB_Func7[FCL_ID](FCL_WHANDLE);' language='C' />
																																									</flowline>
																																									<flowline >
																																										<command class_type='decision' title='Decision' exp='SceneCount &gt; 8' swap='0' >
																																											<flowline >
																																												<command class_type='decision' title='Decision' exp='SceneIdx = 8' swap='0' >
																																													<flowline >
																																														<command class_type='native' title='Code' ccode='                                          DC_CB_Func8[FCL_ID](FCL_WHANDLE);' language='C' />
																																													</flowline>
																																													<flowline >
																																														<command class_type='decision' title='Decision' exp='SceneCount &gt; 9' swap='0' >
																																															<flowline >
																																																<command class_type='decision' title='Decision' exp='SceneIdx = 9' swap='0' >
																																																	<flowline >
																																																		<command class_type='native' title='Code' ccode='                                              DC_CB_Func9[FCL_ID](FCL_WHANDLE);' language='C' />
																																																	</flowline>
																																																	<flowline >
																																																		<command class_type='decision' title='Decision' exp='SceneCount &gt; 10' swap='0' >
																																																			<flowline >
																																																				<command class_type='decision' title='Decision' exp='SceneIdx = 10' swap='0' >
																																																					<flowline >
																																																						<command class_type='native' title='Code' ccode='                                                  DC_CB_Func10[FCL_ID](FCL_WHANDLE);' language='C' />
																																																					</flowline>
																																																					<flowline >
																																																						<command class_type='decision' title='Decision' exp='SceneCount &gt; 11' swap='0' >
																																																							<flowline >
																																																								<command class_type='decision' title='Decision' exp='SceneIdx = 11' swap='0' >
																																																									<flowline >
																																																										<command class_type='native' title='Code' ccode='                                                      DC_CB_Func11[FCL_ID](FCL_WHANDLE);' language='C' />
																																																									</flowline>
																																																									<flowline >
																																																										<command class_type='decision' title='Decision' exp='SceneCount &gt; 12' swap='0' >
																																																											<flowline >
																																																												<command class_type='decision' title='Decision' exp='SceneIdx = 12' swap='0' >
																																																													<flowline >
																																																														<command class_type='native' title='Code' ccode='                                                          DC_CB_Func12[FCL_ID](FCL_WHANDLE);' language='C' />
																																																													</flowline>
																																																													<flowline >
																																																														<command class_type='decision' title='Decision' exp='SceneCount &gt; 13' swap='0' >
																																																															<flowline >
																																																																<command class_type='decision' title='Decision' exp='SceneIdx = 13' swap='0' >
																																																																	<flowline >
																																																																		<command class_type='native' title='Code' ccode='                                                              DC_CB_Func13[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																	</flowline>
																																																																	<flowline >
																																																																		<command class_type='decision' title='Decision' exp='SceneCount &gt; 14' swap='0' >
																																																																			<flowline >
																																																																				<command class_type='decision' title='Decision' exp='SceneIdx = 14' swap='0' >
																																																																					<flowline >
																																																																						<command class_type='native' title='Code' ccode='                                                                  DC_CB_Func14[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																					</flowline>
																																																																					<flowline >
																																																																						<command class_type='decision' title='Decision' exp='SceneCount &gt; 15' swap='0' >
																																																																							<flowline >
																																																																								<command class_type='decision' title='Decision' exp='SceneIdx = 15' swap='0' >
																																																																									<flowline >
																																																																										<command class_type='native' title='Code' ccode='                                                                      DC_CB_Func15[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																									</flowline>
																																																																									<flowline >
																																																																										<command class_type='decision' title='Decision' exp='SceneCount &gt; 16' swap='0' >
																																																																											<flowline >
																																																																												<command class_type='decision' title='Decision' exp='SceneIdx = 16' swap='0' >
																																																																													<flowline >
																																																																														<command class_type='native' title='Code' ccode='                                                                          DC_CB_Func16[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																													</flowline>
																																																																													<flowline >
																																																																														<command class_type='decision' title='Decision' exp='SceneCount &gt; 17' swap='0' >
																																																																															<flowline >
																																																																																<command class_type='decision' title='Decision' exp='SceneIdx = 17' swap='0' >
																																																																																	<flowline >
																																																																																		<command class_type='native' title='Code' ccode='                                                                              DC_CB_Func17[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																	</flowline>
																																																																																	<flowline >
																																																																																		<command class_type='decision' title='Decision' exp='SceneCount &gt; 18' swap='0' >
																																																																																			<flowline >
																																																																																				<command class_type='decision' title='Decision' exp='SceneIdx = 18' swap='0' >
																																																																																					<flowline >
																																																																																						<command class_type='native' title='Code' ccode='                                                                                  DC_CB_Func18[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																					</flowline>
																																																																																					<flowline >
																																																																																						<command class_type='decision' title='Decision' exp='SceneCount &gt; 19' swap='0' >
																																																																																							<flowline >
																																																																																								<command class_type='decision' title='Decision' exp='SceneIdx = 19' swap='0' >
																																																																																									<flowline >
																																																																																										<command class_type='native' title='Code' ccode='                                                                                      DC_CB_Func19[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																									</flowline>
																																																																																									<flowline >
																																																																																										<command class_type='decision' title='Decision' exp='SceneCount &gt; 20' swap='0' >
																																																																																											<flowline >
																																																																																												<command class_type='decision' title='Decision' exp='SceneIdx = 20' swap='0' >
																																																																																													<flowline >
																																																																																														<command class_type='native' title='Code' ccode='                                                                                          DC_CB_Func20[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																													</flowline>
																																																																																													<flowline >
																																																																																														<command class_type='decision' title='Decision' exp='SceneCount &gt; 21' swap='0' >
																																																																																															<flowline >
																																																																																																<command class_type='decision' title='Decision' exp='SceneIdx = 21' swap='0' >
																																																																																																	<flowline >
																																																																																																		<command class_type='native' title='Code' ccode='                                                                                              DC_CB_Func21[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																	</flowline>
																																																																																																	<flowline >
																																																																																																		<command class_type='decision' title='Decision' exp='SceneCount &gt; 22' swap='0' >
																																																																																																			<flowline >
																																																																																																				<command class_type='decision' title='Decision' exp='SceneIdx = 22' swap='0' >
																																																																																																					<flowline >
																																																																																																						<command class_type='native' title='Code' ccode='                                                                                                  DC_CB_Func22[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																					</flowline>
																																																																																																					<flowline >
																																																																																																						<command class_type='decision' title='Decision' exp='SceneCount &gt; 23' swap='0' >
																																																																																																							<flowline >
																																																																																																								<command class_type='decision' title='Decision' exp='SceneIdx = 23' swap='0' >
																																																																																																									<flowline >
																																																																																																										<command class_type='native' title='Code' ccode='                                                                                                      DC_CB_Func23[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																									</flowline>
																																																																																																									<flowline >
																																																																																																										<command class_type='decision' title='Decision' exp='SceneCount &gt; 24' swap='0' >
																																																																																																											<flowline >
																																																																																																												<command class_type='decision' title='Decision' exp='SceneIdx = 24' swap='0' >
																																																																																																													<flowline >
																																																																																																														<command class_type='native' title='Code' ccode='                                                                                                          DC_CB_Func24[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																													</flowline>
																																																																																																													<flowline >
																																																																																																														<command class_type='decision' title='Decision' exp='SceneCount &gt; 25' swap='0' >
																																																																																																															<flowline >
																																																																																																																<command class_type='decision' title='Decision' exp='SceneIdx = 25' swap='0' >
																																																																																																																	<flowline >
																																																																																																																		<command class_type='native' title='Code' ccode='                                                                                                              DC_CB_Func25[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																																	</flowline>
																																																																																																																	<flowline >
																																																																																																																		<command class_type='decision' title='Decision' exp='SceneCount &gt; 26' swap='0' >
																																																																																																																			<flowline >
																																																																																																																				<command class_type='decision' title='Decision' exp='SceneIdx = 26' swap='0' >
																																																																																																																					<flowline >
																																																																																																																						<command class_type='native' title='Code' ccode='                                                                                                                  DC_CB_Func26[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																																					</flowline>
																																																																																																																					<flowline >
																																																																																																																						<command class_type='decision' title='Decision' exp='SceneCount &gt; 27' swap='0' >
																																																																																																																							<flowline >
																																																																																																																								<command class_type='decision' title='Decision' exp='SceneIdx = 27' swap='0' >
																																																																																																																									<flowline >
																																																																																																																										<command class_type='native' title='Code' ccode='                                                                                                                      DC_CB_Func27[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																																									</flowline>
																																																																																																																									<flowline >
																																																																																																																										<command class_type='decision' title='Decision' exp='SceneCount &gt; 28' swap='0' >
																																																																																																																											<flowline >
																																																																																																																												<command class_type='decision' title='Decision' exp='SceneIdx = 28' swap='0' >
																																																																																																																													<flowline >
																																																																																																																														<command class_type='native' title='Code' ccode='                                                                                                                          DC_CB_Func28[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																																													</flowline>
																																																																																																																													<flowline >
																																																																																																																														<command class_type='decision' title='Decision' exp='SceneCount &gt; 29' swap='0' >
																																																																																																																															<flowline >
																																																																																																																																<command class_type='decision' title='Decision' exp='SceneIdx = 29' swap='0' >
																																																																																																																																	<flowline >
																																																																																																																																		<command class_type='native' title='Code' ccode='                                                                                                                              DC_CB_Func29[FCL_ID](FCL_WHANDLE);' language='C' />
																																																																																																																																	</flowline>
																																																																																																																																	<flowline />
																																																																																																																																</command>
																																																																																																																															</flowline>
																																																																																																																															<flowline />
																																																																																																																														</command>
																																																																																																																													</flowline>
																																																																																																																												</command>
																																																																																																																											</flowline>
																																																																																																																											<flowline />
																																																																																																																										</command>
																																																																																																																									</flowline>
																																																																																																																								</command>
																																																																																																																							</flowline>
																																																																																																																							<flowline />
																																																																																																																						</command>
																																																																																																																					</flowline>
																																																																																																																				</command>
																																																																																																																			</flowline>
																																																																																																																			<flowline />
																																																																																																																		</command>
																																																																																																																	</flowline>
																																																																																																																</command>
																																																																																																															</flowline>
																																																																																																															<flowline />
																																																																																																														</command>
																																																																																																													</flowline>
																																																																																																												</command>
																																																																																																											</flowline>
																																																																																																											<flowline />
																																																																																																										</command>
																																																																																																									</flowline>
																																																																																																								</command>
																																																																																																							</flowline>
																																																																																																							<flowline />
																																																																																																						</command>
																																																																																																					</flowline>
																																																																																																				</command>
																																																																																																			</flowline>
																																																																																																			<flowline />
																																																																																																		</command>
																																																																																																	</flowline>
																																																																																																</command>
																																																																																															</flowline>
																																																																																															<flowline />
																																																																																														</command>
																																																																																													</flowline>
																																																																																												</command>
																																																																																											</flowline>
																																																																																											<flowline />
																																																																																										</command>
																																																																																									</flowline>
																																																																																								</command>
																																																																																							</flowline>
																																																																																							<flowline />
																																																																																						</command>
																																																																																					</flowline>
																																																																																				</command>
																																																																																			</flowline>
																																																																																			<flowline />
																																																																																		</command>
																																																																																	</flowline>
																																																																																</command>
																																																																															</flowline>
																																																																															<flowline />
																																																																														</command>
																																																																													</flowline>
																																																																												</command>
																																																																											</flowline>
																																																																											<flowline />
																																																																										</command>
																																																																									</flowline>
																																																																								</command>
																																																																							</flowline>
																																																																							<flowline />
																																																																						</command>
																																																																					</flowline>
																																																																				</command>
																																																																			</flowline>
																																																																			<flowline />
																																																																		</command>
																																																																	</flowline>
																																																																</command>
																																																															</flowline>
																																																															<flowline />
																																																														</command>
																																																													</flowline>
																																																												</command>
																																																											</flowline>
																																																											<flowline />
																																																										</command>
																																																									</flowline>
																																																								</command>
																																																							</flowline>
																																																							<flowline />
																																																						</command>
																																																					</flowline>
																																																				</command>
																																																			</flowline>
																																																			<flowline />
																																																		</command>
																																																	</flowline>
																																																</command>
																																															</flowline>
																																															<flowline />
																																														</command>
																																													</flowline>
																																												</command>
																																											</flowline>
																																											<flowline />
																																										</command>
																																									</flowline>
																																								</command>
																																							</flowline>
																																							<flowline />
																																						</command>
																																					</flowline>
																																				</command>
																																			</flowline>
																																			<flowline />
																																		</command>
																																	</flowline>
																																</command>
																															</flowline>
																															<flowline />
																														</command>
																													</flowline>
																												</command>
																											</flowline>
																											<flowline />
																										</command>
																									</flowline>
																								</command>
																							</flowline>
																							<flowline />
																						</command>
																					</flowline>
																				</command>
																			</flowline>
																			<flowline />
																		</command>
																	</flowline>
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_EncodeDCLayoutString' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='EncodedLayoutText' type='T8*' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='1024' />
						</param>
						<param name='Value' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.EncodedLayoutText = .EncodedLayoutText + ToString$(.Value)' />
							<exp exp='.EncodedLayoutText = .EncodedLayoutText + &quot;,&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='CreateTextField' description='Creates a text field consisting of a rectangular border containing a single line of text' statediag='0' >
						<return name='Return' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Text' type='T8*' description='Text string to set as the label' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='X' type='u16' description='X Pixel Coordinate' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y' type='u16' description='Y Pixel Coordinate' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Width' type='u16' description='Pixel Width' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Height' type='u16' description='Pixel Height' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Font' type='u8' description='GLCD Font Index to use' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Colours' type='u8' description='Byte array containing FgColour RGB [0-2], Bg Colour RGB [3-5], Text Colour RGB [6-8]' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='9' />
						</param>
						<param name='HAlignment' type='u8' description='0=Left, 1=Center, 2=Right' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='VAlignment' type='u8' description='0=Top, 1=Middle, 2=Bottom' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Draw Textfield Background' macro='CreateObject' >
							<return exp='.Return' />
							<argument exp='0' />
							<argument exp='.X' />
							<argument exp='.Y' />
							<argument exp='.Width' />
							<argument exp='.Height' />
							<argument exp='0' />
							<argument exp='.Colours' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Assign text label to object' macro='SetTextLabel' >
							<argument exp='.Return' />
							<argument exp='.Text' />
							<argument exp='.Font' />
							<argument exp='.HAlignment' />
							<argument exp='.VAlignment' />
							<argument exp='1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_BoundsCheck' description='' statediag='0' >
						<return name='Return' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='PosInt' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
							<array size='4' />
						</param>
						<param name='Handle' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Name' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='XPix' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='YPix' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='Orientation &amp; 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.XPix = YPixels' />
									<exp exp='.YPix = XPixels' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.XPix = XPixels' />
									<exp exp='.YPix = YPixels' />
								</command>
							</flowline>
						</command>
						<command class_type='sim' title='Built-in Function' macro='Tree.GetName' >
							<return exp='.Name' />
							<argument exp='.Handle' />
						</command>
						<command class_type='decision' title='Check for -ve X dimension' exp='.PosINT[0] &lt; 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Subtract -ve offset from width' >
									<exp exp='.PosINT[2] = .PosINT[2] + .PosINT[0]' />
									<exp exp='.PosINT[0] = 0' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
									<argument exp='Console' />
									<argument exp='&quot;Warning: &quot; + .Name + &quot; Has a negative X dimension\n&quot;' />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Check for out of bounds X dimension' exp='.PosINT[0] &gt; .XPix' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;Warning: &quot; + .Name + &quot; Out of bounds - skipped\n&quot;' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Return = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Check for -ve Y dimension' exp='.PosINT[1] &lt; 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Subtract -ve offset from height' >
									<exp exp='.PosINT[3] = .PosINT[3] + .PosINT[1]' />
									<exp exp='.PosINT[1] = 0' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
									<argument exp='Console' />
									<argument exp='&quot;Warning: &quot; + .Name + &quot; Has a negative Y dimension\n&quot;' />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Check for out of bounds Y dimension' exp='.PosINT[1] &gt; .YPix' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;Warning: &quot; + .Name + &quot; Out of bounds - skipped\n&quot;' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Return = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Check for width too big' exp='(.PosINT[0] + .PosINT[2]) &gt; .XPix' swap='0' >
							<flowline >
								<command class_type='calculation' title='Subtract +ve offset from width' >
									<exp exp='.PosINT[2] = .XPix - .PosINT[0]' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
									<argument exp='Console' />
									<argument exp='&quot;Warning: &quot; + .Name + &quot; Width goes off the display\n&quot;' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Check for height too big' exp='(.PosINT[1] + .PosINT[3]) &gt; .YPix' swap='0' >
							<flowline >
								<command class_type='calculation' title='Subtract +ve offset from width' >
									<exp exp='.PosINT[3] = .YPix - .PosINT[1]' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
									<argument exp='Console' />
									<argument exp='&quot;Warning: &quot; + .Name + &quot; Height goes off the display\n&quot;' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Initialise' description='Initialisation routine for the component once the component is linked to its parent' statediag='0' >
						<return name='Return' type='u32' description='Non-zero to prevent initialisation' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;PostInit&quot;' />
							<argument exp='0' />
						</command>
						<command class_type='sim' title='Built-in Function' macro='Console.AddText' >
							<return exp='Console' />
							<argument exp='&quot;Display Manager&quot;' />
							<argument exp='0' />
						</command>
						<command class_type='sim' title='Component Macro' component='LibraryComponent1' macro='SetConsoleHandle' >
							<argument exp='Console' />
						</command>
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;ObjThemeCount&quot;' />
							<argument exp='0' />
						</command>
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;WidgetThemeCount&quot;' />
							<argument exp='0' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ModifyScale' description='Changes the width and height of the selected Object or Widget.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='Unique ID of the object or Widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Width' type='u16' description='New width in pixels' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Height' type='u16' description='New height in pixels' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='MQTT_Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='30' />
						</local>
						<command class_type='decision' title='Decision' exp='.ID &gt; 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Change to 0 based ID' >
									<exp exp='.ID = .ID - 1' />
								</command>
								<command class_type='decision' title='Check ID is valid' exp='.ID &lt; NumObjects' swap='0' >
									<flowline >
										<command class_type='calculation' title='Update Coordinates' >
											<exp exp='W[.ID] = .Width' />
											<exp exp='H[.ID] = .Height' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Check ID is valid' exp='(.ID &gt;= MaxObjects) &amp;&amp; (.ID &lt; (MaxObjects + NumWidgets))' swap='0' >
									<flowline >
										<command class_type='calculation' title='Update Coordinates' >
											<exp exp='W[.ID] = .Width' />
											<exp exp='H[.ID] = .Height' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='ClearAll' />
										<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
											<argument exp='0' />
											<argument exp='&quot;ID&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='1' />
											<argument exp='&quot;Type&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='2' />
											<argument exp='&quot;W&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='3' />
											<argument exp='&quot;H&quot;' />
										</command>
										<command class_type='call' title='Identifier' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='0' />
											<argument exp='.ID + 1' />
										</command>
										<command class_type='call' title='Type 3 = Modify Scale' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='1' />
											<argument exp='3' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='2' />
											<argument exp='.Width' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='3' />
											<argument exp='.Height' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='GenerateJSON' >
											<return exp='.MQTT_Str' />
										</command>
										<command class_type='native' title='Code' ccode='      MX_CAPTOUCH_SendBinaryAction(FCL_MQTT_STR, 60);' language='C' />
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_PostInitialise' description='Post-initialisation routine for the component once all components have been initialised' statediag='0' >
						<return name='Return' type='u32' description='Non-zero to prevent initialisation' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;PostInit&quot;' />
							<argument exp='1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='DrawItem' description='Draws a single Object or Widget onto the display without clearing the display.&#13;&#10;Doesn&apos;t draw text, this is done using the SetText macros.&#13;&#10;Sliders, circular sliders and gauges are only redrawn when their value has changed since the last draw.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='Unique ID of the Object or Widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='IsWidget' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Valid' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Idx' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='comment' title='' comment='Dispatcher only - each primitive has its own Prv_Draw... macro.&#10;Object types: 0=Hidden 1=Rect 2=RoundRect 3=Ellipse 4=Line 8=Bitmap&#10;Widget types: 0=Hidden 1=Rect 2=RoundRect 3=Ellipse 4=VSlider 5=HSlider 6=VSliderRound 7=HSliderRound 8=Bitmap 9=CircularSlider 10=Gauge' textarea='12,0,12,0' />
						<command class_type='decision' title='Valid object ID?' exp='(.ID &gt; 0) &amp;&amp; (.ID &lt;= NumObjects)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Valid = 1' />
									<exp exp='.IsWidget = 0' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Valid widget ID?' exp='(.ID &gt; MaxObjects) &amp;&amp; (.ID &lt;= (MaxObjects + NumWidgets))' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Valid = 1' />
									<exp exp='.IsWidget = 1' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Valid ID?' exp='.Valid' swap='0' >
							<flowline >
								<command class_type='calculation' title='Return to 0 indexed ID' >
									<exp exp='.ID = .ID - 1' />
								</command>
								<command class_type='call' title='Foreground colour' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='0' />
									<argument exp='0' />
								</command>
								<command class_type='call' title='Background colour' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='1' />
									<argument exp='1' />
								</command>
								<command class_type='decision' title='Rect / RoundRect / Ellipse?' exp='(Type[.ID] &gt;= 1) &amp;&amp; (Type[.ID] &lt;= 3)' swap='0' >
									<flowline >
										<command class_type='decision' title='Widget?' exp='.IsWidget' swap='0' >
											<flowline >
												<command class_type='decision' title='Drop shadow?' exp='DrawHighlight[.ID - MaxObjects]' swap='0' >
													<flowline >
														<command class_type='call' title='User Macro' macro='Prv_DrawShadow' >
															<argument exp='.ID' />
															<argument exp='Type[.ID]' />
														</command>
														<command class_type='call' title='Restore foreground colour' macro='Prv_SetColour' >
															<argument exp='.ID' />
															<argument exp='0' />
															<argument exp='0' />
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='call' title='User Macro' macro='Prv_DrawShape' >
											<argument exp='.ID' />
											<argument exp='Type[.ID]' />
										</command>
									</flowline>
									<flowline >
										<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='Type[.ID]' >
											<case >
												<flowline />
											</case>
											<case exp='4' >
												<flowline >
													<command class_type='decision' title='Widget slider or Object line?' exp='.IsWidget' swap='0' >
														<flowline >
															<command class_type='call' title='User Macro' macro='Prv_DrawLinearSlider' >
																<argument exp='.ID' />
															</command>
														</flowline>
														<flowline >
															<command class_type='calculation' title='Calculation' >
																<exp exp='.Idx = 0 - (LineWidth[.ID] &gt;&gt; 1)' />
															</command>
															<command class_type='loop' title='Line width' type='2' exp='LineWidth[.ID]' for1='' for3='' >
																<flowline >
																	<command class_type='decision' title='Mostly horizontal?' exp='(H[.ID] = 0) || (W[.ID] &gt; H[.ID])' swap='0' >
																		<flowline >
																			<command class_type='call' title='User Macro' macro='Prv_Line' >
																				<argument exp='X[.ID]' />
																				<argument exp='Y[.ID] + .Idx' />
																				<argument exp='X[.ID] + W[.ID]' />
																				<argument exp='Y[.ID] + H[.ID] + .Idx' />
																			</command>
																		</flowline>
																		<flowline >
																			<command class_type='call' title='User Macro' macro='Prv_Line' >
																				<argument exp='X[.ID] + .Idx' />
																				<argument exp='Y[.ID]' />
																				<argument exp='X[.ID] + W[.ID] + .Idx' />
																				<argument exp='Y[.ID] + H[.ID]' />
																			</command>
																		</flowline>
																	</command>
																	<command class_type='calculation' title='Calculation' >
																		<exp exp='.Idx = .Idx + 1' />
																	</command>
																</flowline>
															</command>
														</flowline>
													</command>
												</flowline>
											</case>
											<case exp='5' >
												<flowline >
													<command class_type='decision' title='Widget?' exp='.IsWidget' swap='0' >
														<flowline >
															<command class_type='call' title='User Macro' macro='Prv_DrawLinearSlider' >
																<argument exp='.ID' />
															</command>
														</flowline>
														<flowline />
													</command>
												</flowline>
											</case>
											<case exp='6' >
												<flowline >
													<command class_type='decision' title='Widget?' exp='.IsWidget' swap='0' >
														<flowline >
															<command class_type='call' title='User Macro' macro='Prv_DrawLinearSlider' >
																<argument exp='.ID' />
															</command>
														</flowline>
														<flowline />
													</command>
												</flowline>
											</case>
											<case exp='7' >
												<flowline >
													<command class_type='decision' title='Widget?' exp='.IsWidget' swap='0' >
														<flowline >
															<command class_type='call' title='User Macro' macro='Prv_DrawLinearSlider' >
																<argument exp='.ID' />
															</command>
														</flowline>
														<flowline />
													</command>
												</flowline>
											</case>
											<case exp='8' >
												<flowline >
													<command class_type='call' title='User Macro' macro='Prv_DrawBitmap' >
														<argument exp='.ID' />
													</command>
												</flowline>
											</case>
											<case exp='9' >
												<flowline >
													<command class_type='decision' title='Widget?' exp='.IsWidget' swap='0' >
														<flowline >
															<command class_type='call' title='User Macro' macro='Prv_DrawRadial' >
																<argument exp='.ID' />
															</command>
														</flowline>
														<flowline />
													</command>
												</flowline>
											</case>
											<case exp='10' >
												<flowline >
													<command class_type='decision' title='Widget?' exp='.IsWidget' swap='0' >
														<flowline >
															<command class_type='call' title='User Macro' macro='Prv_DrawRadial' >
																<argument exp='.ID' />
															</command>
														</flowline>
														<flowline />
													</command>
												</flowline>
											</case>
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_SetColour' description='Sets the GLCD foreground or background colour from an object/widget colour slot.&#10;ID is the 0-indexed internal index. Slot: 0=Fg, 1=Bg, 2=Text/Low line, 3=Highlight/High line (widgets only).&#10;Handles object vs widget colour tables and colour vs mono displays in one place.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed object/widget index' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Slot' type='u8' description='0=Fg 1=Bg 2=Text/Low 3=Highlight/High' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Background' type='b1' description='0=Set foreground, 1=Set background' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='R' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='G' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='B' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Object or Widget?' exp='.ID &lt; MaxObjects' swap='0' >
							<flowline >
								<command class_type='calculation' title='Object colour' >
									<exp exp='.R = ObjectColour[.ID][.Slot][0]' />
									<exp exp='.G = ObjectColour[.ID][.Slot][1]' />
									<exp exp='.B = ObjectColour[.ID][.Slot][2]' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Widget colour' >
									<exp exp='.R = WidgetColour[.ID - MaxObjects][.Slot][0]' />
									<exp exp='.G = WidgetColour[.ID - MaxObjects][.Slot][1]' />
									<exp exp='.B = WidgetColour[.ID - MaxObjects][.Slot][2]' />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Background?' exp='.Background' swap='0' >
							<flowline >
								<command class_type='decision' title='Colour or Mono display?' exp='DisplayType = 0' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetBackgroundColour' >
											<argument exp='.R' />
											<argument exp='.G' />
											<argument exp='.B' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetBackgroundColour' >
											<argument exp='.R' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Colour or Mono display?' exp='DisplayType = 0' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetForegroundColour' >
											<argument exp='.R' />
											<argument exp='.G' />
											<argument exp='.B' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetForegroundColour' >
											<argument exp='.R' />
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_Rect' description='Draws a rectangle on the colour or mono display.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='X1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='X2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Transparent' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Solid' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Colour or Mono display?' exp='DisplayType = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='DrawRectangle' >
									<argument exp='.X1' />
									<argument exp='.Y1' />
									<argument exp='.X2' />
									<argument exp='.Y2' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='DrawRectangle' >
									<argument exp='.X1' />
									<argument exp='.Y1' />
									<argument exp='.X2' />
									<argument exp='.Y2' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_RoundRect' description='Draws a rounded rectangle on the colour or mono display.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='X1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='X2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Radius' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Transparent' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Solid' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Colour or Mono display?' exp='DisplayType = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='DrawRoundedRectangle' >
									<argument exp='.X1' />
									<argument exp='.Y1' />
									<argument exp='.X2' />
									<argument exp='.Y2' />
									<argument exp='.Radius' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='DrawRoundedRectangle' >
									<argument exp='.X1' />
									<argument exp='.Y1' />
									<argument exp='.X2' />
									<argument exp='.Y2' />
									<argument exp='.Radius' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_Ellipse' description='Draws an ellipse on the colour or mono display.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='CX' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='CY' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='RX' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='RY' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Transparent' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Solid' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Colour or Mono display?' exp='DisplayType = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='DrawEllipse' >
									<argument exp='.CX' />
									<argument exp='.CY' />
									<argument exp='.RX' />
									<argument exp='.RY' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='DrawEllipse' >
									<argument exp='.CX' />
									<argument exp='.CY' />
									<argument exp='.RX' />
									<argument exp='.RY' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_Circle' description='Draws a circle on the colour or mono display.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='CX' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='CY' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Radius' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Transparent' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Solid' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Colour or Mono display?' exp='DisplayType = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='DrawCircle' >
									<argument exp='.CX' />
									<argument exp='.CY' />
									<argument exp='.Radius' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='DrawCircle' >
									<argument exp='.CX' />
									<argument exp='.CY' />
									<argument exp='.Radius' />
									<argument exp='.Transparent' />
									<argument exp='.Solid' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_Line' description='Draws a line on the colour or mono display.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='X1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='X2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Colour or Mono display?' exp='DisplayType = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='DrawLine' >
									<argument exp='.X1' />
									<argument exp='.Y1' />
									<argument exp='.X2' />
									<argument exp='.Y2' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='DrawLine' >
									<argument exp='.X1' />
									<argument exp='.Y1' />
									<argument exp='.X2' />
									<argument exp='.Y2' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_ShapeAt' description='Draws a rectangle (1), rounded rectangle (2) or ellipse (3) for an item, inset by Inset pixels&#10;and shifted by Offset pixels in X and Y. Negative Inset grows the shape.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed item' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Shape' type='u8' description='1=Rect 2=RoundRect 3=Ellipse' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Inset' type='s16' description='Pixels to shrink on every side' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Offset' type='s16' description='Pixels to shift in X and Y' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Transparent' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Solid' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.Shape' >
							<case >
								<flowline />
							</case>
							<case exp='1' >
								<flowline >
									<command class_type='call' title='User Macro' macro='Prv_Rect' >
										<argument exp='X[.ID] + .Inset + .Offset' />
										<argument exp='Y[.ID] + .Inset + .Offset' />
										<argument exp='X[.ID] + W[.ID] - .Inset + .Offset' />
										<argument exp='Y[.ID] + H[.ID] - .Inset + .Offset' />
										<argument exp='.Transparent' />
										<argument exp='.Solid' />
									</command>
								</flowline>
							</case>
							<case exp='2' >
								<flowline >
									<command class_type='call' title='User Macro' macro='Prv_RoundRect' >
										<argument exp='X[.ID] + .Inset + .Offset' />
										<argument exp='Y[.ID] + .Inset + .Offset' />
										<argument exp='X[.ID] + W[.ID] - .Inset + .Offset' />
										<argument exp='Y[.ID] + H[.ID] - .Inset + .Offset' />
										<argument exp='(H[.ID] - .Inset) &gt;&gt; 2' />
										<argument exp='.Transparent' />
										<argument exp='.Solid' />
									</command>
								</flowline>
							</case>
							<case exp='3' >
								<flowline >
									<command class_type='call' title='User Macro' macro='Prv_Ellipse' >
										<argument exp='X[.ID] + (W[.ID] &gt;&gt; 1) + .Offset' />
										<argument exp='Y[.ID] + (H[.ID] &gt;&gt; 1) + .Offset' />
										<argument exp='(W[.ID] - .Inset) &gt;&gt; 1' />
										<argument exp='(H[.ID] - .Inset) &gt;&gt; 1' />
										<argument exp='.Transparent' />
										<argument exp='.Solid' />
									</command>
								</flowline>
							</case>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_DrawShape' description='Draws a filled rectangle / rounded rectangle / ellipse object or widget with a border LineWidth pixels thick.&#10;Expects the foreground colour to already be set to the border colour and the background colour to the fill colour.&#10;LineWidth 0 = no border (shape is drawn entirely in the fill colour).' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed item' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Shape' type='u8' description='1=Rect 2=RoundRect 3=Ellipse' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Inset' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='decision' title='No border?' exp='LineWidth[.ID] = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Border in fill colour' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='1' />
									<argument exp='0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Thick border?' exp='LineWidth[.ID] &gt; 1' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Inset = 0 - (LineWidth[.ID] &gt;&gt; 1)' />
										</command>
										<command class_type='loop' title='Extra border rings' type='2' exp='LineWidth[.ID] - 1' for1='' for3='' >
											<flowline >
												<command class_type='call' title='Border ring' macro='Prv_ShapeAt' >
													<argument exp='.ID' />
													<argument exp='.Shape' />
													<argument exp='.Inset' />
													<argument exp='0' />
													<argument exp='1' />
													<argument exp='0' />
												</command>
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Inset = .Inset + 1' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Fill + final border' macro='Prv_ShapeAt' >
							<argument exp='.ID' />
							<argument exp='.Shape' />
							<argument exp='.Inset' />
							<argument exp='0' />
							<argument exp='0' />
							<argument exp='0' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_DrawShadow' description='Draws the drop shadow (highlight colour, slot 3) behind/beside a widget rectangle, rounded rectangle or ellipse.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Shape' type='u8' description='1=Rect 2=RoundRect 3=Ellipse' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='I' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Highlight colour' macro='Prv_SetColour' >
							<argument exp='.ID' />
							<argument exp='3' />
							<argument exp='0' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.I = LineWidth[.ID] &gt;&gt; 1' />
						</command>
						<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.Shape' >
							<case >
								<flowline />
							</case>
							<case exp='1' >
								<flowline >
									<command class_type='call' title='Bottom bar' macro='Prv_Rect' >
										<argument exp='X[.ID] + 1 - .I' />
										<argument exp='Y[.ID] + H[.ID] + 1 + .I' />
										<argument exp='X[.ID] + W[.ID] + 2 + .I' />
										<argument exp='Y[.ID] + H[.ID] + 2 + .I' />
										<argument exp='0' />
										<argument exp='1' />
									</command>
									<command class_type='call' title='Right bar' macro='Prv_Rect' >
										<argument exp='X[.ID] + W[.ID] + 1 + .I' />
										<argument exp='Y[.ID] + 1 - .I' />
										<argument exp='X[.ID] + W[.ID] + 2 + .I' />
										<argument exp='Y[.ID] + H[.ID] + 2 + .I' />
										<argument exp='0' />
										<argument exp='1' />
									</command>
								</flowline>
							</case>
							<case exp='2' >
								<flowline >
									<command class_type='call' title='Outline +1' macro='Prv_ShapeAt' >
										<argument exp='.ID' />
										<argument exp='2' />
										<argument exp='0 - .I' />
										<argument exp='1' />
										<argument exp='1' />
										<argument exp='0' />
									</command>
									<command class_type='call' title='Outline +2' macro='Prv_ShapeAt' >
										<argument exp='.ID' />
										<argument exp='2' />
										<argument exp='0 - .I' />
										<argument exp='2' />
										<argument exp='1' />
										<argument exp='0' />
									</command>
								</flowline>
							</case>
							<case exp='3' >
								<flowline >
									<command class_type='call' title='Solid ellipse +2' macro='Prv_ShapeAt' >
										<argument exp='.ID' />
										<argument exp='3' />
										<argument exp='0 - .I' />
										<argument exp='2' />
										<argument exp='0' />
										<argument exp='1' />
									</command>
								</flowline>
							</case>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_DrawBitmap' description='Draws a bitmap object or widget using the EB3 display, the Bitmap Drawer or the FAT Bitmap Drawer.&#10;Colour slot 1 = transparent colour, slot 0 byte 0 = scaled flag, slot 0 byte 1 = draw flag.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed item' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='T' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
							<array size='3' />
						</local>
						<local name='Scaled' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Flag' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Idx' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Object or Widget?' exp='.ID &lt; MaxObjects' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.T[0] = ObjectColour[.ID][1][0]' />
									<exp exp='.T[1] = ObjectColour[.ID][1][1]' />
									<exp exp='.T[2] = ObjectColour[.ID][1][2]' />
									<exp exp='.Scaled = ObjectColour[.ID][0][0]' />
									<exp exp='.Flag = ObjectColour[.ID][0][1]' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.T[0] = WidgetColour[.ID - MaxObjects][1][0]' />
									<exp exp='.T[1] = WidgetColour[.ID - MaxObjects][1][1]' />
									<exp exp='.T[2] = WidgetColour[.ID - MaxObjects][1][2]' />
									<exp exp='.Scaled = WidgetColour[.ID - MaxObjects][0][0]' />
									<exp exp='.Flag = WidgetColour[.ID - MaxObjects][0][1]' />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='EB3 display?' exp='EB3_Display' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='gLCD_EB3_Dummy1' macro='SetBitmapTransparency' >
									<argument exp='.T[0]' />
									<argument exp='.T[1]' />
									<argument exp='.T[2]' />
								</command>
								<command class_type='decision' title='Scaled?' exp='.Scaled' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' component='gLCD_EB3_Dummy1' macro='DrawBitmapScaled' >
											<argument exp='BitmapFilename' />
											<argument exp='X[.ID]' />
											<argument exp='Y[.ID]' />
											<argument exp='W[.ID]' />
											<argument exp='H[.ID]' />
											<argument exp='0' />
											<argument exp='.Flag' />
											<argument exp='0' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='Component Macro' component='gLCD_EB3_Dummy1' macro='DrawBitmap' >
											<argument exp='BitmapFilename' />
											<argument exp='X[.ID]' />
											<argument exp='Y[.ID]' />
											<argument exp='0' />
											<argument exp='.Flag' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline >
								<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='LibraryType' >
									<case >
										<flowline />
									</case>
									<case exp='1' >
										<flowline >
											<command class_type='call' title='Component Macro' component='BitmapDrawerDummy1' macro='SetTransparentColour' >
												<argument exp='.T[0]' />
												<argument exp='.T[1]' />
												<argument exp='.T[2]' />
											</command>
											<command class_type='call' title='Component Macro' component='BitmapDrawerDummy1' macro='LookupFilename' >
												<return exp='.Idx' />
												<argument exp='BitmapFilename' />
											</command>
											<command class_type='decision' title='Bitmap found?' exp='.Idx &lt; 255' swap='0' >
												<flowline >
													<command class_type='decision' title='Scaled?' exp='.Scaled' swap='0' >
														<flowline >
															<command class_type='call' title='Component Macro' component='BitmapDrawerDummy1' macro='Display_Scaled_BMP' >
																<argument exp='.Idx' />
																<argument exp='X[.ID]' />
																<argument exp='Y[.ID]' />
																<argument exp='W[.ID]' />
																<argument exp='H[.ID]' />
																<argument exp='0' />
																<argument exp='.Flag' />
																<argument exp='0' />
															</command>
														</flowline>
														<flowline >
															<command class_type='call' title='Component Macro' component='BitmapDrawerDummy1' macro='Display_BMP' >
																<argument exp='.Idx' />
																<argument exp='X[.ID]' />
																<argument exp='Y[.ID]' />
																<argument exp='0' />
																<argument exp='.Flag' />
																<argument exp='0' />
															</command>
														</flowline>
													</command>
												</flowline>
												<flowline />
											</command>
										</flowline>
									</case>
									<case exp='2' >
										<flowline >
											<command class_type='call' title='Component Macro' component='BitmapDrawerFATDummy1' macro='SetTransparentColour' >
												<argument exp='.T[0]' />
												<argument exp='.T[1]' />
												<argument exp='.T[2]' />
											</command>
											<command class_type='decision' title='Scaled?' exp='.Scaled' swap='0' >
												<flowline >
													<command class_type='call' title='Component Macro' component='BitmapDrawerFATDummy1' macro='Display_Scaled_BMP' >
														<argument exp='BitmapFilename' />
														<argument exp='X[.ID]' />
														<argument exp='Y[.ID]' />
														<argument exp='W[.ID]' />
														<argument exp='H[.ID]' />
														<argument exp='0' />
														<argument exp='.Flag' />
														<argument exp='0' />
													</command>
												</flowline>
												<flowline >
													<command class_type='call' title='Component Macro' component='BitmapDrawerFATDummy1' macro='Display_BMP' >
														<argument exp='BitmapFilename' />
														<argument exp='X[.ID]' />
														<argument exp='Y[.ID]' />
														<argument exp='0' />
														<argument exp='.Flag' />
														<argument exp='0' />
													</command>
												</flowline>
											</command>
										</flowline>
									</case>
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_AxisRect' description='Draws a solid rectangle for a slider using along-axis (A) and cross-axis (C) coordinates relative to the item origin.&#10;Vertical=1 maps A to Y and C to X, otherwise A to X and C to Y.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Vertical' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='A1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='A2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='C1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='C2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Vertical?' exp='.Vertical' swap='0' >
							<flowline >
								<command class_type='call' title='User Macro' macro='Prv_Rect' >
									<argument exp='X[.ID] + .C1' />
									<argument exp='Y[.ID] + .A1' />
									<argument exp='X[.ID] + .C2' />
									<argument exp='Y[.ID] + .A2' />
									<argument exp='0' />
									<argument exp='1' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='User Macro' macro='Prv_Rect' >
									<argument exp='X[.ID] + .A1' />
									<argument exp='Y[.ID] + .C1' />
									<argument exp='X[.ID] + .A2' />
									<argument exp='Y[.ID] + .C2' />
									<argument exp='0' />
									<argument exp='1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_AxisEllipse' description='Draws a solid ellipse for a slider using along-axis (A) and cross-axis (C) centre and radii relative to the item origin.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Vertical' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Ac' type='s16' description='Centre along axis' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Cc' type='s16' description='Centre across axis' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Ra' type='u16' description='Radius along axis' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Rc' type='u16' description='Radius across axis' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Vertical?' exp='.Vertical' swap='0' >
							<flowline >
								<command class_type='call' title='User Macro' macro='Prv_Ellipse' >
									<argument exp='X[.ID] + .Cc' />
									<argument exp='Y[.ID] + .Ac' />
									<argument exp='.Rc' />
									<argument exp='.Ra' />
									<argument exp='0' />
									<argument exp='1' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='User Macro' macro='Prv_Ellipse' >
									<argument exp='X[.ID] + .Ac' />
									<argument exp='Y[.ID] + .Cc' />
									<argument exp='.Ra' />
									<argument exp='.Rc' />
									<argument exp='0' />
									<argument exp='1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_DrawLinearSlider' description='Draws or updates a vertical / horizontal slider with a rectangular or rounded thumb (widget types 4-7).&#10;Only redraws when the value has changed. First draw paints the full background; later draws only erase the&#10;part of the old thumb no longer covered, repaint the track and draw the new thumb.&#10;Colours: 0=Thumb, 1=Background, 2=Low side of track, 3=High side of track.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='0-indexed widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='WI' type='u16' description='Widget index' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Vert' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Round' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Len' type='u16' description='Length along the slider axis' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Cross' type='u16' description='Size across the slider axis' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Thumb' type='u16' description='Thumb size along axis' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Lw2' type='u16' description='Half line width' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Pos' type='s16' description='New thumb position' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='OldPos' type='s16' description='Old thumb position' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='A1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='A2' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='T0' type='s16' description='Track start' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='T1' type='s16' description='Track end' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.WI = .ID - MaxObjects' />
						</command>
						<command class_type='decision' title='Value changed?' exp='Value[.WI] != OldValue[.WI]' swap='0' >
							<flowline >
								<command class_type='calculation' title='Slider style' >
									<exp exp='.Vert = (Type[.ID] == Widget_VSlider) || (Type[.ID] == Widget_VSlider_Round)' />
									<exp exp='.Round = (Type[.ID] == Widget_VSlider_Round) || (Type[.ID] == Widget_HSlider_Round)' />
									<exp exp='.Thumb = DrawHighlight[.WI]' />
									<exp exp='.Lw2 = LineWidth[.ID] &gt;&gt; 1' />
								</command>
								<command class_type='decision' title='Vertical?' exp='.Vert' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Len = H[.ID]' />
											<exp exp='.Cross = W[.ID]' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Len = W[.ID]' />
											<exp exp='.Cross = H[.ID]' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Thumb positions' exp='.Vert' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Pos = fmul((.Len - .Thumb), (1.0 - Value[.WI]))' />
											<exp exp='.OldPos = fmul((.Len - .Thumb), (1.0 - OldValue[.WI]))' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Pos = fmul((.Len - .Thumb), Value[.WI])' />
											<exp exp='.OldPos = fmul((.Len - .Thumb), OldValue[.WI])' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Track extents' exp='.Round' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.T0 = .Cross &gt;&gt; 1' />
											<exp exp='.T1 = .Len - (.Cross &gt;&gt; 1)' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.T0 = 0' />
											<exp exp='.T1 = .Len' />
										</command>
									</flowline>
								</command>
								<command class_type='call' title='Background colour' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='1' />
									<argument exp='0' />
								</command>
								<command class_type='call' title='Background colour' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='1' />
									<argument exp='1' />
								</command>
								<command class_type='decision' title='First draw?' exp='OldValue[.WI] &gt; 1.0' swap='0' >
									<flowline >
										<command class_type='comment' title='' comment='First draw - paint the whole background' textarea='12,0,12,0' />
										<command class_type='decision' title='Rounded?' exp='.Round' swap='0' >
											<flowline >
												<command class_type='call' title='Pill body' macro='Prv_AxisRect' >
													<argument exp='.ID' />
													<argument exp='.Vert' />
													<argument exp='.Thumb &gt;&gt; 1' />
													<argument exp='.Len - (.Thumb &gt;&gt; 1)' />
													<argument exp='0' />
													<argument exp='.Cross' />
												</command>
												<command class_type='call' title='Start cap' macro='Prv_AxisEllipse' >
													<argument exp='.ID' />
													<argument exp='.Vert' />
													<argument exp='.Thumb &gt;&gt; 1' />
													<argument exp='.Cross &gt;&gt; 1' />
													<argument exp='.Thumb &gt;&gt; 1' />
													<argument exp='.Cross &gt;&gt; 1' />
												</command>
												<command class_type='call' title='End cap' macro='Prv_AxisEllipse' >
													<argument exp='.ID' />
													<argument exp='.Vert' />
													<argument exp='.Len - (.Thumb &gt;&gt; 1)' />
													<argument exp='.Cross &gt;&gt; 1' />
													<argument exp='.Thumb &gt;&gt; 1' />
													<argument exp='.Cross &gt;&gt; 1' />
												</command>
											</flowline>
											<flowline >
												<command class_type='call' title='Background' macro='Prv_AxisRect' >
													<argument exp='.ID' />
													<argument exp='.Vert' />
													<argument exp='0' />
													<argument exp='.Len' />
													<argument exp='0' />
													<argument exp='.Cross' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline >
										<command class_type='comment' title='' comment='Update - erase the old thumb' textarea='12,0,12,0' />
										<command class_type='decision' title='Rounded?' exp='.Round' swap='0' >
											<flowline >
												<command class_type='call' title='Erase old thumb' macro='Prv_AxisEllipse' >
													<argument exp='.ID' />
													<argument exp='.Vert' />
													<argument exp='.OldPos + (.Thumb &gt;&gt; 1)' />
													<argument exp='.Cross &gt;&gt; 1' />
													<argument exp='.Thumb &gt;&gt; 1' />
													<argument exp='.Cross &gt;&gt; 1' />
												</command>
											</flowline>
											<flowline >
												<command class_type='decision' title='Moved forward?' exp='.Pos &gt; .OldPos' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.A1 = .OldPos' />
															<exp exp='.A2 = .OldPos + .Thumb' />
														</command>
														<command class_type='decision' title='Overlap?' exp='.Pos &lt; .A2' swap='0' >
															<flowline >
																<command class_type='calculation' title='Calculation' >
																	<exp exp='.A2 = .Pos' />
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.A1 = .OldPos' />
															<exp exp='.A2 = .OldPos + .Thumb' />
														</command>
														<command class_type='decision' title='Overlap?' exp='(.Pos + .Thumb) &gt; .A1' swap='0' >
															<flowline >
																<command class_type='calculation' title='Calculation' >
																	<exp exp='.A1 = .Pos + .Thumb' />
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
												</command>
												<command class_type='decision' title='Anything to erase?' exp='.A2 &gt; .A1' swap='0' >
													<flowline >
														<command class_type='call' title='Erase uncovered part' macro='Prv_AxisRect' >
															<argument exp='.ID' />
															<argument exp='.Vert' />
															<argument exp='.A1' />
															<argument exp='.A2' />
															<argument exp='0' />
															<argument exp='.Cross' />
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
										</command>
									</flowline>
								</command>
								<command class_type='comment' title='' comment='Track before the thumb: high side for vertical, low side for horizontal' textarea='12,0,12,0' />
								<command class_type='decision' title='Vertical?' exp='.Vert' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_SetColour' >
											<argument exp='.ID' />
											<argument exp='3' />
											<argument exp='0' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_SetColour' >
											<argument exp='.ID' />
											<argument exp='2' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Rounded?' exp='.Round' swap='0' >
									<flowline >
										<command class_type='call' title='Start cap' macro='Prv_AxisEllipse' >
											<argument exp='.ID' />
											<argument exp='.Vert' />
											<argument exp='.T0' />
											<argument exp='.Cross &gt;&gt; 1' />
											<argument exp='.Lw2' />
											<argument exp='.Lw2' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Visible?' exp='.Pos &gt; .T0' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_AxisRect' >
											<argument exp='.ID' />
											<argument exp='.Vert' />
											<argument exp='.T0' />
											<argument exp='.Pos' />
											<argument exp='(.Cross &gt;&gt; 1) - .Lw2' />
											<argument exp='(.Cross &gt;&gt; 1) + .Lw2' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='comment' title='' comment='Track after the thumb: low side for vertical, high side for horizontal' textarea='12,0,12,0' />
								<command class_type='decision' title='Vertical?' exp='.Vert' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_SetColour' >
											<argument exp='.ID' />
											<argument exp='2' />
											<argument exp='0' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_SetColour' >
											<argument exp='.ID' />
											<argument exp='3' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Rounded?' exp='.Round' swap='0' >
									<flowline >
										<command class_type='call' title='End cap' macro='Prv_AxisEllipse' >
											<argument exp='.ID' />
											<argument exp='.Vert' />
											<argument exp='.T1' />
											<argument exp='.Cross &gt;&gt; 1' />
											<argument exp='.Lw2' />
											<argument exp='.Lw2' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Visible?' exp='(.Pos + .Thumb) &lt; .T1' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_AxisRect' >
											<argument exp='.ID' />
											<argument exp='.Vert' />
											<argument exp='.Pos + .Thumb' />
											<argument exp='.T1' />
											<argument exp='(.Cross &gt;&gt; 1) - .Lw2' />
											<argument exp='(.Cross &gt;&gt; 1) + .Lw2' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='comment' title='' comment='Thumb' textarea='12,0,12,0' />
								<command class_type='call' title='Thumb colour' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='0' />
									<argument exp='0' />
								</command>
								<command class_type='decision' title='Rounded?' exp='.Round' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_AxisEllipse' >
											<argument exp='.ID' />
											<argument exp='.Vert' />
											<argument exp='.Pos + (.Thumb &gt;&gt; 1)' />
											<argument exp='.Cross &gt;&gt; 1' />
											<argument exp='.Thumb &gt;&gt; 1' />
											<argument exp='.Cross &gt;&gt; 1' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_AxisRect' >
											<argument exp='.ID' />
											<argument exp='.Vert' />
											<argument exp='.Pos' />
											<argument exp='.Pos + .Thumb' />
											<argument exp='0' />
											<argument exp='.Cross' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='OldValue[.WI] = Value[.WI]' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_DrawNeedle' description='Draws a gauge needle from CX,CY of length Len pixels at angle Deg (degrees, clockwise on screen, 0 = right, 90 = down),&#10;Thick pixels wide, in the current foreground colour.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='CX' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='CY' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Deg' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Len' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Thick' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Ang' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Dx' type='f32' description='Unit vector along needle' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Dy' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Px' type='f32' description='Unit vector across needle' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Py' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Off' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='K' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Ang = FLOAT .Deg * 0.0174533' />
							<exp exp='.Dx = cos (.Ang)' />
							<exp exp='.Dy = sin (.Ang)' />
							<exp exp='.Px = 0.0 - .Dy' />
							<exp exp='.Py = .Dx' />
						</command>
						<command class_type='decision' title='Minimum 1 pixel' exp='.Thick &lt; 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Thick = 1' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='loop' title='One line per pixel of width' type='2' forvar='.K' exp='.Thick' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Off = FLOAT .K - FLOAT (.Thick &gt;&gt; 1)' />
								</command>
								<command class_type='call' title='User Macro' macro='Prv_Line' >
									<argument exp='Round (FLOAT .CX + (.Off * .Px))' />
									<argument exp='Round (FLOAT .CY + (.Off * .Py))' />
									<argument exp='Round (FLOAT .CX + (.Dx * FLOAT .Len) + (.Off * .Px))' />
									<argument exp='Round (FLOAT .CY + (.Dy * FLOAT .Len) + (.Off * .Py))' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_DrawRadial' description='Draws or updates a circular slider (type 9) or circular gauge (type 10).&#10;The arc sweeps 270 degrees clockwise from the bottom-left (135 degrees) leaving a gap at the bottom.&#10;Colours: 0=Thumb/needle, 1=Background disc, 2=Low side of arc, 3=High side of arc.&#10;LineWidth = arc thickness. DrawHighlight = thumb diameter (slider) or needle width (gauge, 0 = no needle).&#10;After the first draw only the arc under the old thumb and between the old and new positions is redrawn,&#10;skipping the part hidden by the new thumb, so the update is quick and flickers as little as possible.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='WI' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Gauge' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='CX' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='CY' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Rout' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='R' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Thumb' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Lw' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='T' type='s16' description='Thumb radius, 0 for a gauge' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Rr' type='s16' description='Half the arc thickness' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Deg' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='OldDeg' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Lo' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Hi' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='A' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Delta' type='s16' description='Degrees either side of the old thumb to redraw' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Dn' type='s16' description='Degrees either side of the new thumb hidden underneath it' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Seam' type='s16' description='Degrees past the new thumb so the high colour overlaps the low as on a full draw' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Step' type='u8' description='Arc circle spacing, 0 = automatic' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Ang' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.WI = .ID - MaxObjects' />
						</command>
						<command class_type='decision' title='Value changed?' exp='Value[.WI] != OldValue[.WI]' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Gauge = (Type[.ID] == Widget_Gauge)' />
									<exp exp='.Thumb = DrawHighlight[.WI]' />
									<exp exp='.Lw = LineWidth[.ID]' />
									<exp exp='.Rr = .Lw &gt;&gt; 1' />
									<exp exp='.CX = X[.ID] + (W[.ID] &gt;&gt; 1)' />
									<exp exp='.CY = Y[.ID] + (H[.ID] &gt;&gt; 1)' />
								</command>
								<command class_type='decision' title='Decision' exp='W[.ID] &lt; H[.ID]' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Rout = W[.ID] &gt;&gt; 1' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Rout = H[.ID] &gt;&gt; 1' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Gauge has a needle instead of a thumb' exp='.Gauge' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.T = 0' />
											<exp exp='.R = .Rout - .Rr - 1' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.T = .Thumb &gt;&gt; 1' />
										</command>
										<command class_type='decision' title='Decision' exp='.Thumb &gt; .Lw' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.R = .Rout - .T - 1' />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.R = .Rout - .Rr - 1' />
												</command>
											</flowline>
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Decision' exp='.R &lt; 1' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.R = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Deg = 135 + fmul(270, Value[.WI])' />
									<exp exp='.Dn = 0' />
									<exp exp='.Step = 0' />
								</command>
								<command class_type='call' title='User Macro' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='1' />
									<argument exp='0' />
								</command>
								<command class_type='decision' title='First draw?' exp='OldValue[.WI] &gt; 1.0' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_Circle' >
											<argument exp='.CX' />
											<argument exp='.CY' />
											<argument exp='.Rout' />
											<argument exp='0' />
											<argument exp='1' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Lo = 135' />
											<exp exp='.Hi = 405' />
										</command>
									</flowline>
									<flowline >
										<command class_type='comment' title='' comment='Remove the old thumb or needle' textarea='12,0,12,0' />
										<command class_type='calculation' title='Calculation' >
											<exp exp='.OldDeg = 135 + fmul(270, OldValue[.WI])' />
										</command>
										<command class_type='decision' title='Decision' exp='.Gauge' swap='0' >
											<flowline >
												<command class_type='decision' title='Decision' exp='.Thumb &gt; 0' swap='0' >
													<flowline >
														<command class_type='call' title='User Macro' macro='Prv_DrawNeedle' >
															<argument exp='.CX' />
															<argument exp='.CY' />
															<argument exp='.OldDeg' />
															<argument exp='.R - .Rr - 1' />
															<argument exp='.Thumb' />
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Ang = FLOAT .OldDeg * 0.0174533' />
												</command>
												<command class_type='call' title='User Macro' macro='Prv_Circle' >
													<argument exp='Round (FLOAT .CX + (FLOAT .R * cos (.Ang)))' />
													<argument exp='Round (FLOAT .CY + (FLOAT .R * sin (.Ang)))' />
													<argument exp='.T' />
													<argument exp='0' />
													<argument exp='1' />
												</command>
											</flowline>
										</command>
										<command class_type='comment' title='' comment='Redraw the arc under the old thumb and between the old and new positions' textarea='12,0,12,0' />
										<command class_type='calculation' title='Degrees to redraw' >
											<exp exp='.Delta = ((.T + 1) * 58) / .R + 1' />
											<exp exp='.Seam = ((.Rr + 1) * 58) / .R + 1' />
											<exp exp='.Lo = .OldDeg - .Delta' />
											<exp exp='.Hi = .OldDeg + .Delta' />
										</command>
										<command class_type='decision' title='New thumb hides the arc near its centre?' exp='.T &gt; (.Rr + 1)' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Dn = ((.T - .Rr - 1) * 58) / .R' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Decision' exp='.Deg &lt; .Lo' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Lo = .Deg' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Decision' exp='(.Deg + .Seam) &gt; .Hi' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Hi = .Deg + .Seam' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Decision' exp='.Lo &lt; 135' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Lo = 135' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Decision' exp='.Hi &gt; 405' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Hi = 405' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Thick arc? Closer circles so no old colour shows at the edges' exp='.Lw &gt;= 8' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Step = .Lw &gt;&gt; 2' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.A = .Deg - .Dn' />
								</command>
								<command class_type='decision' title='Decision' exp='.A &gt; .Hi' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.A = .Hi' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Low side of the arc' exp='.A &gt; .Lo' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_SetColour' >
											<argument exp='.ID' />
											<argument exp='2' />
											<argument exp='0' />
										</command>
										<command class_type='call' title='User Macro' macro='Prv_DrawArc' >
											<argument exp='.CX' />
											<argument exp='.CY' />
											<argument exp='.R' />
											<argument exp='.Lo' />
											<argument exp='.A' />
											<argument exp='.Lw' />
											<argument exp='.Step' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.A = .Deg + .Dn' />
								</command>
								<command class_type='decision' title='Decision' exp='.A &lt; .Lo' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.A = .Lo' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='High side of the arc' exp='.Hi &gt; .A' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='Prv_SetColour' >
											<argument exp='.ID' />
											<argument exp='3' />
											<argument exp='0' />
										</command>
										<command class_type='call' title='User Macro' macro='Prv_DrawArc' >
											<argument exp='.CX' />
											<argument exp='.CY' />
											<argument exp='.R' />
											<argument exp='.A' />
											<argument exp='.Hi' />
											<argument exp='.Lw' />
											<argument exp='.Step' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='call' title='User Macro' macro='Prv_SetColour' >
									<argument exp='.ID' />
									<argument exp='0' />
									<argument exp='0' />
								</command>
								<command class_type='decision' title='Decision' exp='.Gauge' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.Thumb &gt; 0' swap='0' >
											<flowline >
												<command class_type='call' title='User Macro' macro='Prv_DrawNeedle' >
													<argument exp='.CX' />
													<argument exp='.CY' />
													<argument exp='.Deg' />
													<argument exp='.R - .Rr - 1' />
													<argument exp='.Thumb' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Ang = FLOAT .Deg * 0.0174533' />
										</command>
										<command class_type='call' title='User Macro' macro='Prv_Circle' >
											<argument exp='Round (FLOAT .CX + (FLOAT .R * cos (.Ang)))' />
											<argument exp='Round (FLOAT .CY + (FLOAT .R * sin (.Ang)))' />
											<argument exp='.T' />
											<argument exp='0' />
											<argument exp='1' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='OldValue[.WI] = Value[.WI]' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_DrawArc' description='Draws an arc of radius R centred on CX,CY from Deg0 to Deg1 (degrees, clockwise on screen, 0 = right,&#10;90 = down, 270 = up; Deg1 may exceed 360) in the current foreground colour, Thick pixels wide.&#10;Thickness 1-2 uses short line segments, 3+ uses overlapping solid circles. Uses one sin/cos pair then&#10;incremental rotation so it stays fast on small targets.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='CX' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='CY' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='R' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Deg0' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Deg1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Thick' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Step' type='u16' description='Pixels between circles, 0 = automatic (half the thickness)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='N' type='u16' description='Number of steps' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Ang' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Ca' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Sa' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Vx' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Vy' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Tmp' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='X0' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Y0' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='X1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Y1' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Non-empty arc?' exp='.Deg1 &gt; .Deg0' swap='0' >
							<flowline >
								<command class_type='decision' title='Automatic spacing?' exp='.Step = 0' swap='0' >
									<flowline >
										<command class_type='decision' title='Thick stroke?' exp='.Thick &gt; 2' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Step = .Thick &gt;&gt; 1' />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Step = 3' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Step count' >
									<exp exp='.N = (FLOAT .R * FLOAT (.Deg1 - .Deg0) * 0.0174533) / FLOAT .Step' />
								</command>
								<command class_type='decision' title='Minimum 1 step' exp='.N &lt; 1' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.N = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Rotation per step' >
									<exp exp='.Ang = (FLOAT (.Deg1 - .Deg0) * 0.0174533) / FLOAT .N' />
									<exp exp='.Ca = cos (.Ang)' />
									<exp exp='.Sa = sin (.Ang)' />
								</command>
								<command class_type='calculation' title='Start vector' >
									<exp exp='.Ang = FLOAT .Deg0 * 0.0174533' />
									<exp exp='.Vx = FLOAT .R * cos (.Ang)' />
									<exp exp='.Vy = FLOAT .R * sin (.Ang)' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.X0 = Round (FLOAT .CX + .Vx)' />
									<exp exp='.Y0 = Round (FLOAT .CY + .Vy)' />
								</command>
								<command class_type='decision' title='Thick stroke?' exp='.Thick &gt; 2' swap='0' >
									<flowline >
										<command class_type='call' title='Start dot' macro='Prv_Circle' >
											<argument exp='.X0' />
											<argument exp='.Y0' />
											<argument exp='.Thick &gt;&gt; 1' />
											<argument exp='0' />
											<argument exp='1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='loop' title='Walk the arc' type='2' exp='.N' for1='' for3='' >
									<flowline >
										<command class_type='calculation' title='Rotate' >
											<exp exp='.Tmp = (.Vx * .Ca) - (.Vy * .Sa)' />
											<exp exp='.Vy = (.Vx * .Sa) + (.Vy * .Ca)' />
											<exp exp='.Vx = .Tmp' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.X1 = Round (FLOAT .CX + .Vx)' />
											<exp exp='.Y1 = Round (FLOAT .CY + .Vy)' />
										</command>
										<command class_type='decision' title='Thick stroke?' exp='.Thick &gt; 2' swap='0' >
											<flowline >
												<command class_type='call' title='Dot' macro='Prv_Circle' >
													<argument exp='.X1' />
													<argument exp='.Y1' />
													<argument exp='.Thick &gt;&gt; 1' />
													<argument exp='0' />
													<argument exp='1' />
												</command>
											</flowline>
											<flowline >
												<command class_type='call' title='Segment' macro='Prv_Line' >
													<argument exp='.X0' />
													<argument exp='.Y0' />
													<argument exp='.X1' />
													<argument exp='.Y1' />
												</command>
											</flowline>
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.X0 = .X1' />
											<exp exp='.Y0 = .Y1' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetTextLabel' description='Draws a single line of text onto an object or Widget location.&#13;&#10;Useful for labelling Widgets such as buttons or having name, value statistics.&#13;&#10;Drawn using the object themes.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='Unique identifier of object or Widget.' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Text' type='T8*' description='Text string to set as the label' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Font' type='u8' description='GLCD Font Index to use' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='HAlignment' type='u8' description='0=Left, 1=Center, 2=Right' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='VAlignment' type='u8' description='0=Top, 1=Middle, 2=Bottom' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Transparent' type='b1' description='0=Background Colour Drawn, 1=Don&apos;t Draw Background Colour' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='ValidID' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='PixelHeight' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Y' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Idx' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Len' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='X' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='TextPixelWidth' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='IsWidget' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='MQTT_Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='60' />
						</local>
						<command class_type='decision' title='Check ID is valid' exp='(.ID &gt; 0) &amp;&amp; (.ID &lt;= NumObjects)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.ValidID = 1' />
									<exp exp='.IsWidget = 0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Check ID is valid' exp='(.ID &gt;= MaxObjects) &amp;&amp; (.ID &lt;= (MaxObjects + NumWidgets))' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.ValidID = 1' />
											<exp exp='.IsWidget = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Decision' exp='.ValidID' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;SetTextLabel : ID=&quot; + STRING .ID + &quot; - &quot; + .Text + &quot;\n&quot;' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='call' title='Redraw Item first to blank out any previous text' macro='DrawItem' >
									<argument exp='.ID' />
								</command>
								<command class_type='calculation' title='Change ID to a 0 indexed value' >
									<exp exp='.ID = .ID - 1' />
								</command>
								<command class_type='decision' title='Decision' exp='DisplayType = 0' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.IsWidget' swap='0' >
											<flowline >
												<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetForegroundColour' >
													<argument exp='WidgetColour[.ID - MaxObjects][2][0]' />
													<argument exp='WidgetColour[.ID - MaxObjects][2][1]' />
													<argument exp='WidgetColour[.ID - MaxObjects][2][2]' />
												</command>
												<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetBackgroundColour' >
													<argument exp='WidgetColour[.ID - MaxObjects][1][0]' />
													<argument exp='WidgetColour[.ID - MaxObjects][1][1]' />
													<argument exp='WidgetColour[.ID - MaxObjects][1][2]' />
												</command>
											</flowline>
											<flowline >
												<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetForegroundColour' >
													<argument exp='ObjectColour[.ID][2][0]' />
													<argument exp='ObjectColour[.ID][2][1]' />
													<argument exp='ObjectColour[.ID][2][2]' />
												</command>
												<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetBackgroundColour' >
													<argument exp='ObjectColour[.ID][1][0]' />
													<argument exp='ObjectColour[.ID][1][1]' />
													<argument exp='ObjectColour[.ID][1][2]' />
												</command>
											</flowline>
										</command>
										<command class_type='decision' title='Decision' exp='.HAlignment' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Len = Length$(.Text)' />
													<exp exp='.TextPixelWidth = 0' />
												</command>
												<command class_type='loop' title='Loop' type='2' forvar='.Idx' exp='.Len' for1='' for3='' >
													<flowline >
														<command class_type='call' title='Get font character pixel width' component='Glcd_Col_Dummy1' macro='ReadFontWidth' >
															<return exp='.PixelHeight' />
															<argument exp='.Font' />
															<argument exp='.Text[.Idx]' />
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.TextPixelWidth = .TextPixelWidth + .PixelHeight' />
														</command>
														<command class_type='decision' title='Decision' exp='(.Idx + 1) &lt; .Len' swap='0' >
															<flowline >
																<command class_type='call' title='Get font character spacing pixel width' component='Glcd_Col_Dummy1' macro='ReadFontStat' >
																	<return exp='.PixelHeight' />
																	<argument exp='.Font' />
																	<argument exp='0' />
																</command>
																<command class_type='calculation' title='Calculation' >
																	<exp exp='.TextPixelWidth = .TextPixelWidth + .PixelHeight' />
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
												</command>
												<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.HAlignment' >
													<case >
														<flowline />
													</case>
													<case exp='1' >
														<flowline >
															<command class_type='calculation' title='Calculation' >
																<exp exp='.X = (W[.ID] - .TextPixelWidth) &gt;&gt; 1' />
															</command>
														</flowline>
													</case>
													<case exp='2' >
														<flowline >
															<command class_type='calculation' title='Calculation' >
																<exp exp='.X = W[.ID] - (.TextPixelWidth + TextAlignOffset)' />
															</command>
														</flowline>
													</case>
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.X = TextAlignOffset' />
												</command>
											</flowline>
										</command>
										<command class_type='call' title='Get font pixel height' component='Glcd_Col_Dummy1' macro='ReadFontStat' >
											<return exp='.PixelHeight' />
											<argument exp='.Font' />
											<argument exp='1' />
										</command>
										<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.VAlignment' >
											<case >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.Y = TextAlignOffset' />
													</command>
												</flowline>
											</case>
											<case exp='1' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.Y = (H[.ID] - .PixelHeight) &gt;&gt; 1' />
													</command>
												</flowline>
											</case>
											<case exp='2' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.Y = H[.ID] - (.PixelHeight + TextAlignOffset)' />
													</command>
												</flowline>
											</case>
										</command>
										<command class_type='call' title='Print new label' component='Glcd_Col_Dummy1' macro='Print' >
											<argument exp='.Text' />
											<argument exp='X[.ID] + .X' />
											<argument exp='Y[.ID] + .Y' />
											<argument exp='.Font' />
											<argument exp='.Transparent' />
										</command>
									</flowline>
									<flowline >
										<command class_type='decision' title='Decision' exp='.IsWidget' swap='0' >
											<flowline >
												<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetForegroundColour' >
													<argument exp='WidgetColour[.ID - MaxObjects][2][0]' />
												</command>
												<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetBackgroundColour' >
													<argument exp='WidgetColour[.ID - MaxObjects][1][0]' />
												</command>
											</flowline>
											<flowline >
												<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetForegroundColour' >
													<argument exp='ObjectColour[.ID][2][0]' />
												</command>
												<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetBackgroundColour' >
													<argument exp='ObjectColour[.ID][1][0]' />
												</command>
											</flowline>
										</command>
										<command class_type='decision' title='Decision' exp='.HAlignment' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Len = Length$(.Text)' />
													<exp exp='.TextPixelWidth = 0' />
												</command>
												<command class_type='loop' title='Loop' type='2' forvar='.Idx' exp='.Len' for1='' for3='' >
													<flowline >
														<command class_type='call' title='Get font character pixel width' component='Glcd_Mon_Dummy1' macro='ReadFontWidth' >
															<return exp='.PixelHeight' />
															<argument exp='.Font' />
															<argument exp='.Text[.Idx]' />
														</command>
														<command class_type='calculation' title='Calculation' >
															<exp exp='.TextPixelWidth = .TextPixelWidth + .PixelHeight' />
														</command>
														<command class_type='decision' title='Decision' exp='(.Idx + 1) &lt; .Len' swap='0' >
															<flowline >
																<command class_type='call' title='Get font character spacing pixel width' component='Glcd_Mon_Dummy1' macro='ReadFontStat' >
																	<return exp='.PixelHeight' />
																	<argument exp='.Font' />
																	<argument exp='0' />
																</command>
																<command class_type='calculation' title='Calculation' >
																	<exp exp='.TextPixelWidth = .TextPixelWidth + .PixelHeight' />
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
												</command>
												<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.HAlignment' >
													<case >
														<flowline />
													</case>
													<case exp='1' >
														<flowline >
															<command class_type='calculation' title='Calculation' >
																<exp exp='.X = (W[.ID] - .TextPixelWidth) &gt;&gt; 1' />
															</command>
														</flowline>
													</case>
													<case exp='2' >
														<flowline >
															<command class_type='calculation' title='Calculation' >
																<exp exp='.X = W[.ID] - (.TextPixelWidth + TextAlignOffset)' />
															</command>
														</flowline>
													</case>
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.X = TextAlignOffset' />
												</command>
											</flowline>
										</command>
										<command class_type='call' title='Get font pixel height' component='Glcd_Mon_Dummy1' macro='ReadFontStat' >
											<return exp='.PixelHeight' />
											<argument exp='.Font' />
											<argument exp='1' />
										</command>
										<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.VAlignment' >
											<case >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.Y = TextAlignOffset' />
													</command>
												</flowline>
											</case>
											<case exp='1' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.Y = (H[.ID] - .PixelHeight) &gt;&gt; 1' />
													</command>
												</flowline>
											</case>
											<case exp='2' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.Y = H[.ID] - (.PixelHeight + TextAlignOffset)' />
													</command>
												</flowline>
											</case>
										</command>
										<command class_type='call' title='Print new label' component='Glcd_Mon_Dummy1' macro='Print' >
											<argument exp='.Text' />
											<argument exp='X[.ID] + .X' />
											<argument exp='Y[.ID] + .Y' />
											<argument exp='.Font' />
											<argument exp='.Transparent' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='SendingScene = 0' swap='0' >
											<flowline >
												<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='ClearAll' />
												<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
													<argument exp='0' />
													<argument exp='&quot;ID&quot;' />
												</command>
												<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
													<argument exp='1' />
													<argument exp='&quot;Type&quot;' />
												</command>
												<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
													<argument exp='2' />
													<argument exp='&quot;Data&quot;' />
												</command>
												<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
													<argument exp='3' />
													<argument exp='&quot;Align&quot;' />
												</command>
												<command class_type='call' title='Identifier' component='JSONEncoder1' macro='AssignDataAsNumber' >
													<argument exp='0' />
													<argument exp='.ID + 1' />
												</command>
												<command class_type='call' title='Type 0 = String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
													<argument exp='1' />
													<argument exp='0' />
												</command>
												<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsString' >
													<argument exp='2' />
													<argument exp='.Text' />
												</command>
												<command class_type='call' title='Various settings' component='JSONEncoder1' macro='AssignDataAsNumber' >
													<argument exp='3' />
													<argument exp='.Transparent | (.HAlignment &lt;&lt; 1) | (.VAlignment&lt;&lt;3) | (.Font&lt;&lt;5)' />
												</command>
												<command class_type='call' title='String Label' component='JSONEncoder1' macro='GenerateJSON' >
													<return exp='.MQTT_Str' />
												</command>
												<command class_type='native' title='Code' ccode='        MX_CAPTOUCH_SendBinaryAction(FCL_MQTT_STR, 60);' language='C' />
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;SetTextLabel : ID=&quot; + STRING .ID + &quot; - Error Invalid ID\n&quot;' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_FindSceneCompCallback' description='' statediag='0' >
						<return name='Return' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ID' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='PanelIdx' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='IDTest' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='UseCallback' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='MacroCall' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='sim' title='Get the panel connected to the current DC scene' macro='Component.Property.GetValue' >
							<return exp='.PanelIdx' />
							<argument exp='this' />
							<argument exp='&quot;Scene&quot; + ToString$(SceneIdx)' />
						</command>
						<command class_type='sim' title='Get the top most component on the DC panel' macro='Panel.FindFirstPanelComp' >
							<return exp='.Return' />
							<argument exp='.PanelIdx' />
							<argument exp='0' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Return' for1='' for3='' >
							<flowline >
								<command class_type='sim' title='Read the component ID' macro='Component.Property.GetValue' >
									<return exp='.IDTest' />
									<argument exp='.Return' />
									<argument exp='&quot;ID&quot;' />
								</command>
								<command class_type='decision' title='Check if the IDs match' exp='.ID = .IDTest' swap='0' >
									<flowline >
										<command class_type='sim' title='Check if the component wants to use callbacks' macro='Component.Property.GetValue' >
											<return exp='.UseCallback' />
											<argument exp='.Return' />
											<argument exp='&quot;UseCallback&quot;' />
										</command>
										<command class_type='decision' title='Decision' exp='.UseCallback' swap='0' >
											<flowline >
												<command class_type='sim' title='Check if the component wants to use callbacks' macro='Component.Property.GetValue' >
													<return exp='.MacroCall' />
													<argument exp='.Return' />
													<argument exp='&quot;TouchCallback&quot;' />
												</command>
												<command class_type='sim' title='Built-in Function' macro='Debug.Print' >
													<argument exp='&quot;Calling Macro: &quot; + .MacroCall + &quot;(&quot; + STRING .Return + &quot;)&quot;' />
												</command>
												<command class_type='sim' title='Built-in Function' macro='System.Call.CallMacro_H' >
													<argument exp='.MacroCall' />
													<argument exp='.Return' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' labeltype='0' />
									</flowline>
									<flowline />
								</command>
								<command class_type='sim' title='Get the next component on the DC panel' macro='Panel.FindNextPanelComp' >
									<return exp='.Return' />
									<argument exp='.PanelIdx' />
								</command>
							</flowline>
						</command>
						<command class_type='label' title='Declare Connection Point' labelid='0' labelname='A' labeltype='4' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_SetupDCScenes' description='Count and checks the number of canvas objects on the panel is correct and sets the orientation.&#13;&#10;Will create new ones but will not remove old ones.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='Handle' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='TestHandle' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='PanelCount' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Idx' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='SceneStr' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='DCPanelCount' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='PanelType' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='sim' title='Get number of 2D panels and DC panels' macro='Panel.Get2dPanelCount' >
							<return exp='.PanelCount' />
						</command>
						<command class_type='loop' title='Loop through all panels and count number of DC panels' type='2' forvar='.Idx' exp='.PanelCount' for1='' for3='' >
							<flowline >
								<command class_type='sim' title='Built-in Function' macro='Panel.GetPanelType' >
									<return exp='.PanelType' />
									<argument exp='.Idx' />
								</command>
								<command class_type='decision' title='Is it a display creator type panel?' exp='.PanelType == 1' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.DCPanelCount = .DCPanelCount + 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Do we need to auto create more display creator panels?' exp='.DCPanelCount &lt; SceneCount' swap='0' >
							<flowline >
								<command class_type='loop' title='Loop' type='0' exp='.DCPanelCount &lt; SceneCount' for1='' for3='' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Panel.CreateDisplayCreator' >
											<argument exp='&quot;Scene&quot; + ToString$(.DCPanelCount)' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='System.TimerStart' >
											<argument exp='.DCPanelCount' />
											<argument exp='2000' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.DCPanelCount = .DCPanelCount + 1' />
											<exp exp='.idx = .idx + 1' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
											<argument exp='this' />
											<argument exp='&quot;Scene&quot; + ToString$(.DCPanelCount)' />
											<argument exp='.idx' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='loop' title='Loop through and check panel setup is correct' disable='1' type='2' forvar='.Idx' exp='SceneCount' for1='' for3='' >
							<flowline >
								<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
									<return exp='.TestHandle' />
									<argument exp='this' />
									<argument exp='&quot;Scene&quot; + ToString$(.idx)' />
								</command>
								<command class_type='decision' title='Decision' exp='.TestHandle &gt;= 0' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='Orientation &amp; 1' swap='0' >
											<flowline >
												<command class_type='sim' title='Built-in Function' macro='Panel.ConfigureDisplayCreator' >
													<argument exp='.TestHandle' />
													<argument exp='YPixels' />
													<argument exp='XPixels' />
													<argument exp='BackgroundColour' />
													<argument exp='3' />
												</command>
											</flowline>
											<flowline >
												<command class_type='sim' title='Built-in Function' macro='Panel.ConfigureDisplayCreator' >
													<argument exp='.TestHandle' />
													<argument exp='XPixels' />
													<argument exp='YPixels' />
													<argument exp='BackgroundColour' />
													<argument exp='3' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_EncodeDCComps' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='TestHandle' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Handle' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='ObjectID' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='WidgetID' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Type' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='EncodedLayoutText' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='1024' />
						</local>
						<local name='Idx' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='SubType' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Position' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' >
							<array size='4' />
						</local>
						<local name='PosINT' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
							<array size='4' />
						</local>
						<local name='Theme' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='TempStr' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='100' />
						</local>
						<local name='StrIdx' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='SceneIdx' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='PropScene' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='PropLayout' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='PropCount' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='PanelID' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='LineType' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='PropCallback' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='PropCallbackCount' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='CBCount' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='CBMacro' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='CBUsed' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='EncodedCBMacros' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='Scaling' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='FgColour' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='BgColour' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='HlColour' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='TxColour' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='DrawHighlight' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='LineWidth' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Count' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='{0}' >
							<array size='2' />
						</local>
						<local name='Visible' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='loop' title='Loop' type='2' forvar='.SceneIdx' exp='SceneCount' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.WidgetID = 0' />
									<exp exp='.ObjectID = 0' />
								</command>
								<command class_type='calculation' title='Define string references to properties' >
									<exp exp='.PropScene = &quot;Scene&quot; + ToString$(.SceneIdx)' />
									<exp exp='.PropLayout = &quot;Layout&quot; + ToString$(.SceneIdx)' />
									<exp exp='.PropCount = &quot;Count&quot; + ToString$(.SceneIdx)' />
								</command>
								<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
									<flowline >
										<command class_type='calculation' title='Define string references to properties' >
											<exp exp='.PropCallback = &quot;Callback&quot; + ToString$(.SceneIdx)' />
											<exp exp='.PropCallbackCount = &quot;CBCount&quot; + ToString$(.SceneIdx)' />
											<exp exp='' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Clear Layout String and index' >
									<exp exp='.EncodedLayoutText = &quot;&quot;' />
									<exp exp='.idx = 0' />
								</command>
								<command class_type='sim' title='Get Panel Handle' macro='Component.Property.GetValue' >
									<return exp='.PanelID' />
									<argument exp='this' />
									<argument exp='.PropScene' />
								</command>
								<command class_type='decision' title='If the panel handle is valid' exp='.PanelID &gt; 0' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.CBCount = 0' />
													<exp exp='.EncodedCBMacros = &quot;&quot;' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='sim' title='Get the panel background colour' macro='Panel.GetDisplayCreatorBackCol' >
											<return exp='.BgColour' />
											<argument exp='.PanelID' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,&apos;C&apos;)' />
											<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour)' />
											<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour &gt;&gt; 8)' />
											<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour &gt;&gt; 16)' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.idx = .idx + 4' />
										</command>
										<command class_type='sim' title='Get the handle of the component at the very back' macro='Panel.FindFirstPanelComp' >
											<return exp='.Handle' />
											<argument exp='.PanelID' />
											<argument exp='1' />
										</command>
										<command class_type='loop' title='Loop through components on the panel' type='0' exp='.Handle' for1='' for3='' >
											<flowline >
												<command class_type='sim' title='Check to see if it is a display layout component' macro='Component.Property.GetValue' >
													<return exp='.TestHandle' />
													<argument exp='.Handle' />
													<argument exp='&quot;DisplayManager&quot;' />
												</command>
												<command class_type='decision' title='Decision' exp='.TestHandle == this' swap='0' >
													<flowline >
														<command class_type='sim' title='Check to see if it is visible' macro='Component.GetVisible' >
															<return exp='.Visible' />
															<argument exp='.Handle' />
														</command>
														<command class_type='decision' title='Decision' exp='.Visible' swap='0' >
															<flowline >
																<command class_type='sim' title='Get type - Object or Widget' macro='Component.Property.GetValue' >
																	<return exp='.Type' />
																	<argument exp='.Handle' />
																	<argument exp='&quot;Type&quot;' />
																</command>
																<command class_type='decision' title='Is it an Object or Widget' exp='(.type == &apos;O&apos;) || (.type == &apos;W&apos;)' swap='0' >
																	<flowline >
																		<command class_type='decision' title='Decision' exp='.Type == &apos;O&apos;' swap='0' >
																			<flowline >
																				<command class_type='calculation' title='Calculation' >
																					<exp exp='.ObjectID = .ObjectID + 1' />
																				</command>
																				<command class_type='sim' title='Set Object ID' macro='Component.Property.SetValue' >
																					<argument exp='.Handle' />
																					<argument exp='&quot;ID&quot;' />
																					<argument exp='.ObjectID' />
																				</command>
																				<command class_type='sim' title='Get Object Type' macro='Component.Property.GetValue' >
																					<return exp='.SubType' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;ShapeType&quot;' />
																				</command>
																				<command class_type='sim' title='Get Line Width' macro='Component.Property.GetValue' >
																					<return exp='.LineWidth' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;LineWidth&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object FgColour' macro='Component.Property.GetValue' >
																					<return exp='.FgColour' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;FgColour&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object BgColour' macro='Component.Property.GetValue' >
																					<return exp='.BgColour' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;BgColour&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object TextColour' macro='Component.Property.GetValue' >
																					<return exp='.TxColour' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;TextColour&quot;' />
																				</command>
																			</flowline>
																			<flowline >
																				<command class_type='calculation' title='Calculation' >
																					<exp exp='.WidgetID = .WidgetID + 1' />
																				</command>
																				<command class_type='sim' title='Set Widget ID' macro='Component.Property.SetValue' >
																					<argument exp='.Handle' />
																					<argument exp='&quot;ID&quot;' />
																					<argument exp='.WidgetID + MaxObjects' />
																				</command>
																				<command class_type='sim' title='Get Widget Type' macro='Component.Property.GetValue' >
																					<return exp='.SubType' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;ShapeType&quot;' />
																				</command>
																				<command class_type='sim' title='Get Line Width' macro='Component.Property.GetValue' >
																					<return exp='.LineWidth' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;LineWidth&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object FgColour' macro='Component.Property.GetValue' >
																					<return exp='.FgColour' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;FgColour&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object BgColour' macro='Component.Property.GetValue' >
																					<return exp='.BgColour' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;BgColour&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object TextColour' macro='Component.Property.GetValue' >
																					<return exp='.TxColour' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;TextColour&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object HlColour' macro='Component.Property.GetValue' >
																					<return exp='.HlColour' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;HlColour&quot;' />
																				</command>
																				<command class_type='sim' title='Get Object Highlight used' macro='Component.Property.GetValue' >
																					<return exp='.DrawHighlight' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;DrawHighlight&quot;' />
																				</command>
																				<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
																					<flowline >
																						<command class_type='sim' title='Check if callback used' macro='Component.Property.GetValue' >
																							<return exp='.CBUsed' />
																							<argument exp='.Handle' />
																							<argument exp='&quot;UseCallback&quot;' />
																						</command>
																						<command class_type='decision' title='Decision' exp='.CBUsed' swap='0' >
																							<flowline >
																								<command class_type='sim' title='Get Callback macro' macro='Component.Property.GetValue' >
																									<return exp='.CBMacro' />
																									<argument exp='.Handle' />
																									<argument exp='&quot;TouchCallback&quot;' />
																								</command>
																								<command class_type='decision' title='Decision' exp='Length$(.CBMacro)' swap='0' >
																									<flowline >
																										<command class_type='comment' title='' comment='CB macro in use and defined - assume it is ok' textarea='12,0,12,0' />
																										<command class_type='calculation' title='Append the Flowcode macro label' >
																											<exp exp='.CBMacro = &quot;FCM_&quot; + .CBMacro' />
																										</command>
																									</flowline>
																									<flowline >
																										<command class_type='calculation' title='Default to null pointer' >
																											<exp exp='.CBMacro = &quot;DC_Null_CB&quot;' />
																										</command>
																									</flowline>
																								</command>
																							</flowline>
																							<flowline >
																								<command class_type='calculation' title='Default to null pointer' >
																									<exp exp='.CBMacro = &quot;DC_Null_CB&quot;' />
																								</command>
																							</flowline>
																						</command>
																						<command class_type='decision' title='Decision' exp='.CBCount' swap='0' >
																							<flowline >
																								<command class_type='calculation' title='Calculation' >
																									<exp exp='.EncodedCBMacros = .EncodedCBMacros + &quot;,&quot;' />
																								</command>
																							</flowline>
																							<flowline />
																						</command>
																						<command class_type='calculation' title='Calculation' >
																							<exp exp='.EncodedCBMacros = .EncodedCBMacros + &quot;&amp;&quot; + .CBMacro' />
																							<exp exp='.CBCount = .CBCount + 1' />
																						</command>
																					</flowline>
																					<flowline />
																				</command>
																			</flowline>
																		</command>
																		<command class_type='sim' title='Built-in Function' macro='Panel.Position.GetActual2dPosition' >
																			<return exp='.Position' />
																			<argument exp='.Handle' />
																		</command>
																		<command class_type='calculation' title='Convert floats to signed ints' >
																			<exp exp='.PosInt[0] = fround(.Position[0] - 20.0,0)' />
																			<exp exp='.PosInt[1] = fround(.Position[1] - 40.0,0)' />
																			<exp exp='.PosInt[2] = fround(.Position[2],0)' />
																			<exp exp='.PosInt[3] = fround(.Position[3],0)' />
																		</command>
																		<command class_type='decision' title='Line Special Case' exp='(.Type == &apos;O&apos;) &amp;&amp; (.SubType == 4)' swap='0' >
																			<flowline >
																				<command class_type='sim' title='Get Object Type' macro='Component.Property.GetValue' >
																					<return exp='.LineType' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;LineType&quot;' />
																				</command>
																				<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.LineType' >
																					<case >
																						<flowline >
																							<command class_type='calculation' title='Horizontal Type' >
																								<exp exp='.PosInt[1] = .PosInt[1] + (.PosInt[3] &gt;&gt; 1)' />
																								<exp exp='.PosInt[3] = 0' />
																							</command>
																						</flowline>
																					</case>
																					<case exp='1' >
																						<flowline >
																							<command class_type='calculation' title='Vertical Type' >
																								<exp exp='.PosInt[0] = .PosInt[0] + (.PosInt[2] &gt;&gt; 1)' />
																								<exp exp='.PosInt[2] = 0' />
																							</command>
																						</flowline>
																					</case>
																					<case exp='2' >
																						<flowline >
																							<command class_type='comment' title='' comment='Works as is&#10;do nothing!' textarea='12,0,12,0' />
																						</flowline>
																					</case>
																					<case exp='3' >
																						<flowline >
																							<command class_type='calculation' title='Vertical Type' >
																								<exp exp='.PosInt[1] = .PosInt[1] + .PosInt[3]' />
																								<exp exp='.PosInt[3] = 0 - .PosInt[3]' />
																							</command>
																						</flowline>
																					</case>
																				</command>
																			</flowline>
																			<flowline />
																		</command>
																		<command class_type='decision' title='Widget with Drop Shadow Special Case' exp='(.Type == &apos;W&apos;) &amp;&amp; (.SubType &lt; 4) &amp;&amp; (.DrawHighlight)' swap='0' >
																			<flowline >
																				<command class_type='calculation' title='Remove drop shadow pixels from width and height' >
																					<exp exp='.PosINT[2] = .PosINT[2] - 2' />
																					<exp exp='.PosINT[3] = .PosINT[3] - 2' />
																				</command>
																			</flowline>
																			<flowline />
																		</command>
																		<command class_type='decision' title='Decision' exp='Prv_BoundsCheck(.PosInt,.Handle)' swap='0' >
																			<flowline >
																				<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' labeltype='0' />
																			</flowline>
																			<flowline />
																		</command>
																		<command class_type='calculation' title='Calculation' >
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.Type)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.SubType)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[0])' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[0] &gt;&gt; 8)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[1])' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[1] &gt;&gt; 8)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[2])' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[2] &gt;&gt; 8)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[3])' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[3] &gt;&gt; 8)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.LineWidth)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.FgColour)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.FgColour &gt;&gt; 8)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.FgColour &gt;&gt; 16)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour &gt;&gt; 8)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour &gt;&gt; 16)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TxColour)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TxColour &gt;&gt; 8)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TxColour &gt;&gt; 16)' />
																		</command>
																		<command class_type='decision' title='Widgets also have a highlight colour' exp='(.Type == &apos;W&apos;)' swap='0' >
																			<flowline >
																				<command class_type='calculation' title='Calculation' >
																					<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.HlColour)' />
																					<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.HlColour &gt;&gt; 8)' />
																					<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.HlColour &gt;&gt; 16)' />
																					<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.DrawHighlight)' />
																					<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.Handle &amp; 0xFF)' />
																					<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.Handle &gt;&gt; 8)' />
																				</command>
																				<command class_type='calculation' title='Increment Index Pointer' >
																					<exp exp='.Idx = .Idx + 26' />
																				</command>
																			</flowline>
																			<flowline >
																				<command class_type='calculation' title='Increment Index Pointer' >
																					<exp exp='.Idx = .Idx + 20' />
																				</command>
																			</flowline>
																		</command>
																	</flowline>
																	<flowline >
																		<command class_type='decision' title='Is it a Bitmap' exp='.type == &apos;B&apos;' swap='0' >
																			<flowline >
																				<command class_type='sim' title='Check to see if there is a bitmap assigned' macro='Component.Property.GetValue' >
																					<return exp='.TempStr' />
																					<argument exp='.Handle' />
																					<argument exp='&quot;Filename&quot;' />
																				</command>
																				<command class_type='decision' title='Decision' exp='Length$(.TempStr)' swap='0' >
																					<flowline >
																						<command class_type='sim' title='Get scaling type' macro='Component.Property.GetValue' >
																							<return exp='.Scaling' />
																							<argument exp='.Handle' />
																							<argument exp='&quot;Scaling&quot;' />
																						</command>
																						<command class_type='sim' title='Get transparency' macro='Component.Property.GetValue' >
																							<return exp='.LineWidth' />
																							<argument exp='.Handle' />
																							<argument exp='&quot;UseTransparency&quot;' />
																						</command>
																						<command class_type='sim' title='Get transparent colour' macro='Component.Property.GetValue' >
																							<return exp='.BgColour' />
																							<argument exp='.Handle' />
																							<argument exp='&quot;TransColour&quot;' />
																						</command>
																						<command class_type='sim' title='Get text colour' macro='Component.Property.GetValue' >
																							<return exp='.TxColour' />
																							<argument exp='.Handle' />
																							<argument exp='&quot;TextColour&quot;' />
																						</command>
																						<command class_type='sim' title='Get touchable - Object or Widget' macro='Component.Property.GetValue' >
																							<return exp='.SubType' />
																							<argument exp='.Handle' />
																							<argument exp='&quot;Touchable&quot;' />
																						</command>
																						<command class_type='decision' title='Touchable?' exp='.SubType' swap='0' >
																							<flowline >
																								<command class_type='calculation' title='Calculation' >
																									<exp exp='.WidgetID = .WidgetID + 1' />
																								</command>
																								<command class_type='sim' title='Set Widget ID' macro='Component.Property.SetValue' >
																									<argument exp='.Handle' />
																									<argument exp='&quot;ID&quot;' />
																									<argument exp='.WidgetID + MaxObjects' />
																								</command>
																								<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
																									<flowline >
																										<command class_type='sim' title='Check if callback used' macro='Component.Property.GetValue' >
																											<return exp='.CBUsed' />
																											<argument exp='.Handle' />
																											<argument exp='&quot;UseCallback&quot;' />
																										</command>
																										<command class_type='decision' title='Decision' exp='.CBUsed' swap='0' >
																											<flowline >
																												<command class_type='sim' title='Get Callback macro' macro='Component.Property.GetValue' >
																													<return exp='.CBMacro' />
																													<argument exp='.Handle' />
																													<argument exp='&quot;TouchCallback&quot;' />
																												</command>
																												<command class_type='decision' title='Decision' exp='Length$(.CBMacro)' swap='0' >
																													<flowline >
																														<command class_type='comment' title='' comment='CB macro in use and defined - assume it is ok' textarea='12,0,12,0' />
																														<command class_type='calculation' title='Append the Flowcode macro label' >
																															<exp exp='.CBMacro = &quot;FCM_&quot; + .CBMacro' />
																														</command>
																													</flowline>
																													<flowline >
																														<command class_type='calculation' title='Default to null pointer' >
																															<exp exp='.CBMacro = &quot;DC_Null_CB&quot;' />
																														</command>
																													</flowline>
																												</command>
																											</flowline>
																											<flowline >
																												<command class_type='calculation' title='Default to null pointer' >
																													<exp exp='.CBMacro = &quot;DC_Null_CB&quot;' />
																												</command>
																											</flowline>
																										</command>
																										<command class_type='decision' title='Decision' exp='.CBCount' swap='0' >
																											<flowline >
																												<command class_type='calculation' title='Calculation' >
																													<exp exp='.EncodedCBMacros = .EncodedCBMacros + &quot;,&quot;' />
																												</command>
																											</flowline>
																											<flowline />
																										</command>
																										<command class_type='calculation' title='Calculation' >
																											<exp exp='.EncodedCBMacros = .EncodedCBMacros + &quot;&amp;&quot; + .CBMacro' />
																											<exp exp='.CBCount = .CBCount + 1' />
																										</command>
																									</flowline>
																									<flowline />
																								</command>
																							</flowline>
																							<flowline >
																								<command class_type='calculation' title='Calculation' >
																									<exp exp='.ObjectID = .ObjectID + 1' />
																								</command>
																								<command class_type='sim' title='Set Object ID' macro='Component.Property.SetValue' >
																									<argument exp='.Handle' />
																									<argument exp='&quot;ID&quot;' />
																									<argument exp='.ObjectID' />
																								</command>
																							</flowline>
																						</command>
																						<command class_type='sim' title='Built-in Function' macro='Panel.Position.GetActual2dPosition' >
																							<return exp='.Position' />
																							<argument exp='.Handle' />
																						</command>
																						<command class_type='calculation' title='Convert floats to signed ints' >
																							<exp exp='.PosInt[0] = fround(.Position[0] - 20.0,0)' />
																							<exp exp='.PosInt[1] = fround(.Position[1] - 40.0,0)' />
																							<exp exp='.PosInt[2] = fround(.Position[2],0)' />
																							<exp exp='.PosInt[3] = fround(.Position[3],0)' />
																						</command>
																						<command class_type='decision' title='Decision' exp='Prv_BoundsCheck(.PosInt,.Handle)' swap='0' >
																							<flowline >
																								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' labeltype='0' />
																							</flowline>
																							<flowline />
																						</command>
																						<command class_type='calculation' title='Calculation' >
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.Type)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.SubType)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.Scaling)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[0])' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[0] &gt;&gt; 8)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[1])' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[1] &gt;&gt; 8)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[2])' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[2] &gt;&gt; 8)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[3])' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosINT[3] &gt;&gt; 8)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.LineWidth)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour &gt;&gt; 8)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.BgColour &gt;&gt; 16)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TxColour)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TxColour &gt;&gt; 8)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TxColour &gt;&gt; 16)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.Handle &amp; 0xFF)' />
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.Handle &gt;&gt; 8)' />
																						</command>
																						<command class_type='loop' title='Loop' type='2' forvar='.StrIdx' exp='Length$(.TempStr)' for1='' for3='' >
																							<flowline >
																								<command class_type='calculation' title='Calculation' >
																									<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TempStr[.StrIdx])' />
																								</command>
																							</flowline>
																						</command>
																						<command class_type='calculation' title='String Null Termination' >
																							<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,0)' />
																						</command>
																						<command class_type='calculation' title='Increment Index Pointer' >
																							<exp exp='.Idx = .Idx + Length$(.TempStr) + 21' />
																						</command>
																					</flowline>
																					<flowline />
																				</command>
																			</flowline>
																			<flowline >
																				<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' labeltype='0' />
																			</flowline>
																		</command>
																	</flowline>
																</command>
																<command class_type='sim' title='Check to see if there is a text label to add' macro='Component.Property.GetValue' >
																	<return exp='.TempStr' />
																	<argument exp='.Handle' />
																	<argument exp='&quot;Text&quot;' />
																</command>
																<command class_type='decision' title='Decision' exp='Length$(.TempStr)' swap='0' >
																	<flowline >
																		<command class_type='sim' title='Get Font' macro='Component.Property.GetValue' >
																			<return exp='.SubType' />
																			<argument exp='.Handle' />
																			<argument exp='&quot;Font&quot;' />
																		</command>
																		<command class_type='sim' title='Get H Align' macro='Component.Property.GetValue' >
																			<return exp='.PosInt[0]' />
																			<argument exp='.Handle' />
																			<argument exp='&quot;HAlignment&quot;' />
																		</command>
																		<command class_type='sim' title='Get V Align' macro='Component.Property.GetValue' >
																			<return exp='.PosInt[1]' />
																			<argument exp='.Handle' />
																			<argument exp='&quot;VAlignment&quot;' />
																		</command>
																		<command class_type='calculation' title='Calculation' >
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,&apos;S&apos;)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.SubType)' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosInt[0])' />
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.PosInt[1])' />
																		</command>
																		<command class_type='loop' title='Loop' type='2' forvar='.StrIdx' exp='Length$(.TempStr)' for1='' for3='' >
																			<flowline >
																				<command class_type='calculation' title='Calculation' >
																					<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,.TempStr[.StrIdx])' />
																				</command>
																			</flowline>
																		</command>
																		<command class_type='calculation' title='String Null Termination' >
																			<exp exp='Prv_EncodeDCLayoutString(.EncodedLayoutText,0)' />
																		</command>
																		<command class_type='calculation' title='Increment Index Pointer' >
																			<exp exp='.Idx = .Idx + Length$(.TempStr) + 5' />
																		</command>
																	</flowline>
																	<flowline />
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='label' title='Declare Connection Point' labelid='0' labelname='A' labeltype='4' />
												<command class_type='sim' title='Find Next Component on specified panel' macro='Panel.FindNextPanelComp' >
													<return exp='.Handle' />
													<argument exp='.PanelID' />
												</command>
											</flowline>
										</command>
										<command class_type='decision' title='Decision' exp='.ObjectID &gt; MaxObjects' swap='0' >
											<flowline >
												<command class_type='sim' title='Built-in Function' macro='UI.SimpleMsgBox' >
													<argument exp='&quot;Warning scene&quot; + ToString$(.SceneIdx) + &quot; contains too many &quot; + ToString$(.ObjectID) + &quot;/&quot;  + ToString$(MaxObjects) + &quot; objects, increase the Max Objects count.&quot;' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Decision' exp='.WidgetID &gt; MaxWidgets' swap='0' >
											<flowline >
												<command class_type='sim' title='Built-in Function' macro='UI.SimpleMsgBox' >
													<argument exp='&quot;Warning scene&quot; + ToString$(.SceneIdx) + &quot; contains too many &quot; + ToString$(.WidgetID) + &quot;/&quot;  + ToString$(MaxWidgets) + &quot; widgets, increase the Max Widgets count.&quot;' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='sim' title='Set Encoded Property String' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='.PropLayout' />
									<argument exp='.EncodedLayoutText' />
								</command>
								<command class_type='sim' title='Set Encoded Count' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='.PropCount' />
									<argument exp='.Idx' />
								</command>
								<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
									<flowline >
										<command class_type='sim' title='Set Encoded Callback String' macro='Component.Property.SetValue' >
											<argument exp='this' />
											<argument exp='.PropCallback' />
											<argument exp='.EncodedCBMacros' />
										</command>
										<command class_type='sim' title='Set Encoded Callback Count' macro='Component.Property.SetValue' >
											<argument exp='this' />
											<argument exp='.PropCallbackCount' />
											<argument exp='.CBCount' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='DrawAll' description='Redraws all of the defined Objects and Widgets.&#13;&#10;Doesn&apos;t draw text, this is done using the SetText macros.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='Index' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='decision' title='Decision' exp='DisplayType = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetBackgroundColour' >
									<argument exp='BackgroundColour' />
									<argument exp='BackgroundColour&gt;&gt;8' />
									<argument exp='BackgroundColour&gt;&gt;16' />
								</command>
								<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='ClearDisplay' />
							</flowline>
							<flowline >
								<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetBackgroundColour' >
									<argument exp='BackgroundColour' />
								</command>
								<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='ClearDisplay' />
							</flowline>
						</command>
						<command class_type='loop' title='Loop through objects' type='0' exp='.Index &lt;= NumObjects' for1='' for3='' >
							<flowline >
								<command class_type='call' title='User Macro' macro='DrawItem' >
									<argument exp='.Index + 1' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Index = .Index + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='loop' title='Loop through Widgets' type='0' exp='.Index &lt;= (NumObjects + NumWidgets)' for1='' for3='' >
							<flowline >
								<command class_type='call' title='User Macro' macro='DrawItem' >
									<argument exp='.Index + MaxObjects' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Index = .Index + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetLastTouchID' description='Gets the ID of the last Widget that returned a valid press via the CheckForTouch macro.&#13;&#10;Returns 0  for no valid touch recorded.' statediag='0' >
						<return name='Return' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='LastWidgetPress &gt;= 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = LastWidgetPress' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 0' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetSliderValue' description='Sets the value of a slider, circular slider or gauge Widget and optionally redraws it.&#13;&#10;Only the parts of the Widget that changed are redrawn.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='WidgetID' type='u16' description='ID returned by CreateWidget, CreateWidgetArray or the Display Creator component' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Value' type='f32' description='Range: 0 to 1 - values outside the range are clamped' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<param name='RedrawSlider' type='b1' description='0 = Do not redraw, 1 = Redraw now' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='MQTT_Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='30' />
						</local>
						<command class_type='decision' title='Decision' exp='.WidgetID &gt; 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.WidgetID = .WidgetID - 1' />
								</command>
								<command class_type='decision' title='Decision' exp='(.WidgetID &gt;= MaxObjects) &amp;&amp; (.WidgetID &lt; (MaxObjects + NumWidgets))' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.Value &lt; 0.0' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Value = 0.0' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Decision' exp='.Value &gt; 1.0' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Value = 1.0' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='Value[.WidgetID - MaxObjects] = .Value' />
										</command>
										<command class_type='decision' title='Decision' exp='.RedrawSlider' swap='0' >
											<flowline >
												<command class_type='call' title='User Macro' macro='DrawItem' >
													<argument exp='.WidgetID + 1' />
												</command>
												<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='SendingScene = 0' swap='0' >
															<flowline >
																<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='ClearAll' />
																<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
																	<argument exp='0' />
																	<argument exp='&quot;ID&quot;' />
																</command>
																<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
																	<argument exp='1' />
																	<argument exp='&quot;Type&quot;' />
																</command>
																<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
																	<argument exp='2' />
																	<argument exp='&quot;Data&quot;' />
																</command>
																<command class_type='call' title='Identifier' component='JSONEncoder1' macro='AssignDataAsNumber' >
																	<argument exp='0' />
																	<argument exp='.WidgetID + 1' />
																</command>
																<command class_type='call' title='Type 1 = Slider Value' component='JSONEncoder1' macro='AssignDataAsNumber' >
																	<argument exp='1' />
																	<argument exp='1' />
																</command>
																<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsFloat' >
																	<argument exp='2' />
																	<argument exp='.Value' />
																	<argument exp='2' />
																</command>
																<command class_type='call' title='String Label' component='JSONEncoder1' macro='GenerateJSON' >
																	<return exp='.MQTT_Str' />
																</command>
																<command class_type='native' title='Code' ccode='            MX_CAPTOUCH_SendBinaryAction(FCL_MQTT_STR, 60);' language='C' />
															</flowline>
															<flowline />
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='CheckCollision' description='Checks to see if the bounding boxes of two Objects or Widgets are overlapping.&#13;&#10;Useful when implementing 2D games. Returns 1 for a collision.' statediag='0' >
						<return name='Return' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ID1' type='u16' description='ID of Object or Widget to check' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ID2' type='u16' description='ID of Object or Widget to check' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Test' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='calculation' title='Return to 0 indexed ID' >
							<exp exp='.ID1 = .ID1 - 1' />
							<exp exp='.ID2 = .ID2 - 1' />
						</command>
						<command class_type='decision' title='Decision' exp='X[.ID1] &gt; X[.ID2]' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='X[.ID1] &lt;= (X[.ID2] + W[.ID2])' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Test = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Decision' exp='X[.ID2] &lt;= (X[.ID1] + W[.ID1])' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Test = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Decision' exp='.Test' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='Y[.ID1] &gt; Y[.ID2]' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='Y[.ID1] &lt;= (Y[.ID2] + H[.ID2])' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Test = 2' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline >
										<command class_type='decision' title='Decision' exp='Y[.ID2] &lt;= (Y[.ID1] + H[.ID1])' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Test = 2' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Decision' exp='.Test = 2' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Return = 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Property' description='Sent when a property has been changed by the User' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='str' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='GLCD_Handle' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Calc' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Idx' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Lib_Handle' type='h32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='sim' title='Default to no library available' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;LibraryType&quot;' />
							<argument exp='0' />
						</command>
						<command class_type='sim' title='Component Macro' component='LibraryComponent1' macro='GetLinkHandle' >
							<return exp='.Lib_Handle' />
							<argument exp='0' />
						</command>
						<command class_type='decision' title='Decision' exp='.Lib_Handle' swap='0' >
							<flowline >
								<command class_type='sim' title='Test for Bitmap ROM Component' macro='Component.Property.GetValue' >
									<return exp='.str' />
									<argument exp='.Lib_Handle' />
									<argument exp='&quot;NumBitmaps&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='Length$(.str) &gt; 0' swap='0' >
									<flowline >
										<command class_type='sim' title='Bitmap Drawer ROM' macro='Component.Property.SetValue' >
											<argument exp='this' />
											<argument exp='&quot;LibraryType&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='System.RedirectMacros' >
											<argument exp='BitmapDrawerDummy1' />
											<argument exp='.Lib_Handle' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='sim' title='Test for Bitmap FAT Component' macro='Component.Property.GetValue' >
									<return exp='.str' />
									<argument exp='.Lib_Handle' />
									<argument exp='&quot;UsePalletBuffer&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='Length$(.str) &gt; 0' swap='0' >
									<flowline >
										<command class_type='sim' title='Bitmap Drawer FAT' macro='Component.Property.SetValue' >
											<argument exp='this' />
											<argument exp='&quot;LibraryType&quot;' />
											<argument exp='2' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='System.RedirectMacros' >
											<argument exp='BitmapDrawerFATDummy1' />
											<argument exp='.Lib_Handle' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='sim' title='Component Macro' component='LibraryComponent1' macro='GetLinkHandle' >
							<return exp='.GLCD_Handle' />
							<argument exp='1' />
						</command>
						<command class_type='decision' title='Decision' exp='.GLCD_Handle' swap='0' >
							<flowline >
								<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='&quot;GLCDComponent&quot;' />
									<argument exp='.GLCD_Handle' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.str' />
									<argument exp='.GLCD_Handle' />
									<argument exp='&quot;monochrome&quot;' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='&quot;DisplayType&quot;' />
									<argument exp='.str' />
								</command>
								<command class_type='decision' title='Decision' exp='DisplayType = 0' swap='0' >
									<flowline >
										<command class_type='sim' title='Simulation' macro='System.RedirectMacros' >
											<argument exp='Glcd_Col_Dummy1' />
											<argument exp='.GLCD_Handle' />
										</command>
									</flowline>
									<flowline >
										<command class_type='sim' title='Simulation' macro='System.RedirectMacros' >
											<argument exp='Glcd_Mon_Dummy1' />
											<argument exp='.GLCD_Handle' />
										</command>
									</flowline>
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
									<return exp='.Calc' />
									<argument exp='.GLCD_Handle' />
									<argument exp='&quot;pixel_width&quot;' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='&quot;XPixels&quot;' />
									<argument exp='.Calc' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
									<return exp='.Calc' />
									<argument exp='.GLCD_Handle' />
									<argument exp='&quot;pixel_height&quot;' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='&quot;YPixels&quot;' />
									<argument exp='.Calc' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
									<return exp='.str' />
									<argument exp='.GLCD_Handle' />
									<argument exp='&quot;Base_GLCD::PhysicalOrientation&quot;' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='&quot;Orientation&quot;' />
									<argument exp='.str' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.CopyValue' >
									<argument exp='.GLCD_Handle' />
									<argument exp='this' />
									<argument exp='&quot;EB3_Display&quot;' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.CopyValue' >
									<argument exp='.GLCD_Handle' />
									<argument exp='this' />
									<argument exp='&quot;EB3_WebMirror&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='EB3_Display' swap='0' >
									<flowline >
										<command class_type='sim' title='Redirect addition EB3 specific functions' macro='System.RedirectMacros' >
											<argument exp='gLCD_EB3_Dummy1' />
											<argument exp='.GLCD_Handle' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline >
								<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='&quot;LibraryComponent1::OutputIcon::LinkTo&quot;' />
									<argument exp='1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Calc = (MaxObjects * 10) + (MaxWidgets * 18) + (ObjThemeCount * 6) + (WidgetThemeCount * 12)' />
						</command>
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;RamUsage&quot;' />
							<argument exp='.Calc' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.Calc' exp='8' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Str = &quot;ObjTheme&quot; + ToString$(.Calc)' />
								</command>
								<command class_type='decision' title='Decision' exp='.Calc &lt; ObjThemeCount' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='.Str' />
											<argument exp='1' />
										</command>
									</flowline>
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='.Str' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Str = &quot;BtnTheme&quot; + ToString$(.Calc)' />
								</command>
								<command class_type='decision' title='Decision' exp='.Calc &lt; WidgetThemeCount' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='.Str' />
											<argument exp='1' />
										</command>
									</flowline>
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='.Str' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetVisible' >
							<argument exp='this' />
							<argument exp='&quot;LayoutCount&quot;' />
							<argument exp='DC_Enabled' />
						</command>
						<command class_type='decision' title='Decision' exp='DC_Enabled' swap='0' >
							<flowline >
								<command class_type='call' title='User Macro' macro='Prv_UpdateDCObjects' />
								<command class_type='loop' title='Loop' type='2' forvar='.Idx' exp='30' for1='' for3='' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Str = &quot;Scene&quot; + ToString$(.Idx)' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='Component.Property.SetVisible' >
											<argument exp='This' />
											<argument exp='.Str' />
											<argument exp='.idx &lt; SceneCount' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Decision' exp='PostInit' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='System.TimerStart' >
											<argument exp='255' />
											<argument exp='5000' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_LoadComplete' description='Broadcast after a project has finished loading' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;PostInit&quot;' />
							<argument exp='1' />
						</command>
						<command class_type='decision' title='Decision' exp='GLCDComponent' swap='0' >
							<flowline >
								<command class_type='sim' title='Component Macro' component='LibraryComponent1' macro='SetLinkHandle' >
									<argument exp='1' />
									<argument exp='GLCDComponent' />
								</command>
								<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
									<argument exp='this' />
									<argument exp='&quot;GLCDComponent&quot;' />
									<argument exp='0' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_UpdateDCObjects' description='Send out a message to all DC objects to update fonts/themes etc' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='Handle' type='h32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='DM_Handle' type='h32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='sim' title='Goto Project Root' macro='Component.GetRoot' >
							<return exp='.Handle' />
						</command>
						<command class_type='sim' title='Find First Top Level Component in project' macro='Tree.StepChildHead' >
							<argument exp='.Handle' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Handle' for1='' for3='' >
							<flowline >
								<command class_type='sim' title='Check to see if it is a display manager component' macro='Component.Property.GetValue' >
									<return exp='.DM_Handle' />
									<argument exp='.Handle' />
									<argument exp='&quot;DisplayManager&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='.DM_Handle = this' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='System.Notify' >
											<argument exp='.Handle' />
											<argument exp='0' />
											<argument exp='0' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='sim' title='Find Next Top Level Component in project' macro='Tree.StepNext' >
									<argument exp='.Handle' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ModifyPosition' description='Moves an existing object or Widget to absolute coordinates on the screen.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='Unique ID of the object or Widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='X' type='s16' description='X pixel coordinate, or X offset when Relative = 1' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y' type='s16' description='Y pixel coordinate, or Y offset when Relative = 1' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Relative' type='b1' description='0=Absolute Positioning, 1=Relative Positioning' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='MQTT_Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='30' />
						</local>
						<command class_type='decision' title='Decision' exp='.ID &gt; 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Change to 0 based ID' >
									<exp exp='.ID = .ID - 1' />
								</command>
								<command class_type='decision' title='Check ID is valid' exp='.ID &lt; NumObjects' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.Relative' swap='0' >
											<flowline >
												<command class_type='calculation' title='Update Coordinates' >
													<exp exp='X[.ID] = X[.ID] + .X' />
													<exp exp='Y[.ID] = Y[.ID] + .Y' />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Update Coordinates' >
													<exp exp='X[.ID] = .X' />
													<exp exp='Y[.ID] = .Y' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Check ID is valid' exp='(.ID &gt;= MaxObjects) &amp;&amp; (.ID &lt; (MaxObjects + NumWidgets))' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.Relative' swap='0' >
											<flowline >
												<command class_type='calculation' title='Update Coordinates' >
													<exp exp='X[.ID] = X[.ID] + .X' />
													<exp exp='Y[.ID] = Y[.ID] + .Y' />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Update Coordinates' >
													<exp exp='X[.ID] = .X' />
													<exp exp='Y[.ID] = .Y' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='ClearAll' />
										<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
											<argument exp='0' />
											<argument exp='&quot;ID&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='1' />
											<argument exp='&quot;Type&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='2' />
											<argument exp='&quot;X&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='3' />
											<argument exp='&quot;Y&quot;' />
										</command>
										<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
											<argument exp='4' />
											<argument exp='&quot;Rel&quot;' />
										</command>
										<command class_type='call' title='Identifier' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='0' />
											<argument exp='.ID + 1' />
										</command>
										<command class_type='call' title='Type 2 = Modify Position' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='1' />
											<argument exp='2' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='2' />
											<argument exp='.X' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='3' />
											<argument exp='.Y' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
											<argument exp='4' />
											<argument exp='.Relative' />
										</command>
										<command class_type='call' title='String Label' component='JSONEncoder1' macro='GenerateJSON' >
											<return exp='.MQTT_Str' />
										</command>
										<command class_type='native' title='Code' ccode='      MX_CAPTOUCH_SendBinaryAction(FCL_MQTT_STR, 60);' language='C' />
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Renamed' description='' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Name' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='sim' title='' macro='Tree.GetName' >
							<return exp='.Name' />
							<argument exp='this' />
						</command>
						<command class_type='sim' title='' macro='Component.Property.SetValue' >
							<argument exp='LibraryComponent1' />
							<argument exp='&quot;Name&quot;' />
							<argument exp='.Name' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ClearAll' description='Removes all objects and Widgets from memory.&#13;&#10;Also clears the screen if required.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ClearScreen' type='b1' description='0=Don&apos;t clear the screen, 1=Clear the screen' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.ClearScreen' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='DisplayType = 0' swap='0' >
									<flowline >
										<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='SetBackgroundColour' >
											<argument exp='BackgroundColour' />
											<argument exp='BackgroundColour&gt;&gt;8' />
											<argument exp='BackgroundColour&gt;&gt;16' />
										</command>
										<command class_type='call' title='Component Macro' component='Glcd_Col_Dummy1' macro='ClearDisplay' />
									</flowline>
									<flowline >
										<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='SetBackgroundColour' >
											<argument exp='BackgroundColour' />
										</command>
										<command class_type='call' title='Component Macro' component='Glcd_Mon_Dummy1' macro='ClearDisplay' />
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
							<flowline >
								<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
									<argument exp='Console' />
									<argument exp='&quot;ClearAll\n&quot;' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='NumWidgets = 0' />
							<exp exp='NumObjects = 0' />
							<exp exp='LastWidgetPress = 0' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_SimStart' description='Broadcast to all components that simulation is starting' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;IsSim&quot;' />
							<argument exp='1' />
						</command>
						<command class_type='sim' title='Built-in Function' macro='System.WDTEnable' >
							<argument exp='0' />
						</command>
						<command class_type='call' title='User Macro' macro='Prv_EncodeDCComps' />
						<command class_type='sim' title='Built-in Function' macro='System.WDTEnable' >
							<argument exp='1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_GetVarSize' description='Sent to a component to amend the size of the expected array' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='VarName' type='T8' description='The original Flowcode variable' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Elements' type='u32*' description='The number of elements in the array' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 1' />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$ (.VarName,&quot;Type&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxObjects + MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$ (.VarName,&quot;X&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxObjects + MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$ (.VarName,&quot;Y&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxObjects + MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$ (.VarName,&quot;W&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxObjects + MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$ (.VarName,&quot;H&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxObjects + MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$(.VarName,&quot;LineWidth&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxObjects + MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$(.VarName,&quot;DrawHighlight&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$(.VarName,&quot;WidgetColour&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='decision' title='Only override the highest level array index' exp='.Elements = 100' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Elements = MaxWidgets' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$(.VarName,&quot;ObjectColour&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='decision' title='Only override the highest level array index' exp='.Elements = 100' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Elements = MaxObjects' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$(.VarName,&quot;WidgetHandles&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$(.VarName,&quot;Value&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Compare$(.VarName,&quot;OldValue&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Elements = MaxWidgets' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='CreateObjectArray' description='Creates a 2d array of objects that can be used to create things like table data.&#13;&#10;Returns the ID of the first object, the following objects have incremental IDs going column by column and then row by row.' statediag='0' >
						<return name='Return' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ObjectType' type='u8' description='0=Hidden (text / collision area only), 1=Rectangle, 2=Rounded Rectangle, 3=Ellipse, 4=Line, 8=Bitmap' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='NumColumns' type='u8' description='Number of columns of objects in the array' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='NumRows' type='u8' description='Number of rows of objects in the array' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='InitialPositionX' type='u16' description='X pixel coordinate of the first object' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='InitialPositionY' type='u16' description='Y pixel coordinate of the first object' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ObjectWidth' type='u16' description='Object width in pixels' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ObjectHeight' type='u16' description='Object height in pixels' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='SpacingX' type='u16' description='Horizontal spacing between the objects' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='SpacingY' type='u16' description='Vertical spacing between the objects' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='LineWidth' type='u8' description='Border thickness in pixels (0 = no border, fill only)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Colours' type='u8' description='Byte array: Foreground RGB [0-2], Background RGB [3-5], Text RGB [6-8].&#13;&#10;Foreground = border, Background = fill, Text = label text.' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='9' />
						</param>
						<param name='Font' type='u8' description='GLCD font index used for the object text' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ObjectText' type='T8*' description='A comma separated text field with the text for each object e.g. "1,2,3,..". Leave empty for no text.' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='1000' />
						</param>
						<local name='Row' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Col' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='WY' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='WX' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Count' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='ID' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='TmpStr' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='10' />
						</local>
						<local name='Len' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='loop' title='Loop' type='2' exp='.NumRows' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Col = 0' />
								</command>
								<command class_type='loop' title='Loop' type='2' exp='.NumColumns' for1='' for3='' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.WX = .InitialPositionX + .Col * (.ObjectWidth + .SpacingY)' />
											<exp exp='.WY = .InitialPositionY + .Row * (.ObjectHeight + .SpacingX)' />
										</command>
										<command class_type='call' title='User Macro' macro='CreateObject' >
											<return exp='.ID' />
											<argument exp='.ObjectType' />
											<argument exp='.WX' />
											<argument exp='.WY' />
											<argument exp='.ObjectWidth' />
											<argument exp='.ObjectHeight' />
											<argument exp='.LineWidth' />
											<argument exp='.Colours' />
											<argument exp='1' />
										</command>
										<command class_type='decision' title='Decision' exp='.Count' swap='0' >
											<flowline />
											<flowline >
												<command class_type='calculation' title='Return first widget ID' >
													<exp exp='.Return = .ID' />
												</command>
											</flowline>
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.TmpStr = SplitString$(.ObjectText,&quot;,&quot;,.Count)' />
											<exp exp='.Len = Length$(.TmpStr)' />
										</command>
										<command class_type='decision' title='Text label to print?' exp='.Len' swap='0' >
											<flowline >
												<command class_type='call' title='User Macro' macro='SetTextLabel' >
													<argument exp='.ID' />
													<argument exp='.TmpStr' />
													<argument exp='.Font' />
													<argument exp='1' />
													<argument exp='1' />
													<argument exp='1' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Count = .Count + 1' />
											<exp exp='.Col = .Col + 1' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Row = .Row + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ModifyBitmap' description='Allows the bitmap image to be swapped out' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ID' type='u16' description='Object or Widget ID to update' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Filename' type='T8' description='Bitmap filename in 8.3 file format' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Scaling' type='b1' description='0=Native, 1=Stretch' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Transparancy' type='b1' description='0=Disabled, 1=Enabled' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Redraw' type='b1' description='0 = Do not redraw, 1 = Redraw now' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='MQTT_Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='30' />
						</local>
						<command class_type='calculation' title='Calculation' >
							<exp exp='BitmapFilename = .Filename' />
						</command>
						<command class_type='decision' title='Check ID is valid' exp='(.ID &gt; 0) &amp;&amp; (.ID &lt;= NumObjects)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Return to 0 indexed ID' >
									<exp exp='.ID = .ID - 1' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='ObjectColour[.ID][0][0] = .Scaling' />
									<exp exp='ObjectColour[.ID][0][1] = .Transparancy' />
								</command>
								<command class_type='decision' title='Decision' exp='.Redraw' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='DrawItem' >
											<argument exp='.ID + 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Check ID is valid' exp='(.ID &gt; MaxObjects) &amp;&amp; (.ID &lt;= (MaxObjects + NumWidgets))' swap='0' >
							<flowline >
								<command class_type='calculation' title='Return to 0 indexed ID' >
									<exp exp='.ID = .ID - 1' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='WidgetColour[.ID - MaxObjects][0][0] = .Scaling' />
									<exp exp='WidgetColour[.ID - MaxObjects][0][1] = .Transparancy' />
								</command>
								<command class_type='decision' title='Decision' exp='.Redraw' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='DrawItem' >
											<argument exp='.ID + 1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='ClearAll' />
								<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
									<argument exp='0' />
									<argument exp='&quot;ID&quot;' />
								</command>
								<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
									<argument exp='1' />
									<argument exp='&quot;Type&quot;' />
								</command>
								<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
									<argument exp='2' />
									<argument exp='&quot;f&quot;' />
								</command>
								<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
									<argument exp='3' />
									<argument exp='&quot;s&quot;' />
								</command>
								<command class_type='call' title='Identifier' component='JSONEncoder1' macro='AssignDataAsNumber' >
									<argument exp='0' />
									<argument exp='.ID + 1' />
								</command>
								<command class_type='call' title='Type 4 = Modify Bitmap' component='JSONEncoder1' macro='AssignDataAsNumber' >
									<argument exp='1' />
									<argument exp='5' />
								</command>
								<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsString' >
									<argument exp='2' />
									<argument exp='.Filename' />
								</command>
								<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
									<argument exp='3' />
									<argument exp='(.Redraw &lt;&lt; 2) | (.Transparancy &lt;&lt; 1) | .Scaling' />
								</command>
								<command class_type='call' title='String Label' component='JSONEncoder1' macro='GenerateJSON' >
									<return exp='.MQTT_Str' />
								</command>
								<command class_type='native' title='Code' ccode='    MX_CAPTOUCH_SendBinaryAction(FCL_MQTT_STR, 60);' language='C' />
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Prv_GetDCArray' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='data' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='100' />
						</param>
						<param name='Idx' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Count' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='LayoutIndex' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='pointer' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='LayoutStr' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='PropLayout' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.PropLayout = &quot;Layout&quot; + ToString$(.LayoutIndex)' />
						</command>
						<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
							<return exp='.LayoutStr' />
							<argument exp='this' />
							<argument exp='.PropLayout' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Idx' for1='' for3='' >
							<flowline >
								<command class_type='decision' title='Decision' exp='.LayoutStr[.pointer] == &apos;,&apos;' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Idx = .Idx - 1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.pointer = .pointer + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.data[.Idx] = 0' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Idx &lt; .Count' for1='' for3='' >
							<flowline >
								<command class_type='decision' title='Decision' exp='.LayoutStr[.pointer] == &apos;,&apos;' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='(.Count == 255) &amp;&amp; (.data[.idx] = 0)' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Count = .Idx' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Idx = .Idx + 1' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.data[.idx] = 0' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.data[.Idx] = .data[.Idx] * 10' />
											<exp exp='.data[.Idx] = .data[.Idx] + (.LayoutStr[.pointer] - &apos;0&apos;)' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.pointer = .pointer + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_CompileStart' description='Broadcast to all components that compilation is starting' statediag='0' >
						<return name='Return' type='u32' description='Non-zero to prevent compilation' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;IsSim&quot;' />
							<argument exp='0' />
						</command>
						<command class_type='sim' title='Built-in Function' macro='System.WDTEnable' >
							<argument exp='0' />
						</command>
						<command class_type='call' title='User Macro' macro='Prv_EncodeDCComps' />
						<command class_type='sim' title='Built-in Function' macro='System.WDTEnable' >
							<argument exp='1' />
						</command>
						<command class_type='call' title='User Macro' macro='Ev_Property' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_AddHeader' description='Sent to a component to allow dynamic amendment of header code' statediag='0' >
						<return name='Return' type='u32' description='Non-zero to block header code insertion' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='HeadCode' type='T8*' description='Text to amend for header' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='LayoutString' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='Idx' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Length' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Count' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='CountArray' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='100' />
						</local>
						<local name='CallbackString' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<local name='CallbackCount' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Handle' type='h32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Test' type='h32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='bTest' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Name' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='20' />
						</local>
						<command class_type='decision' title='Decision' exp='DC_Enabled == 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 0' />
								</command>
								<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
									<flowline >
										<command class_type='calculation' title='Define null callback and callback macro pointer type' disable='1' >
											<exp exp='.HeadCode = .HeadCode + &quot;void DC_Null_CB(MX_UINT32 FCL_HANDLE, MX_SINT32 FCL_UNUSED1, MX_FLOAT FCL_UNUSED2, MX_CHAR *PFCL_UNUSED3){return;}\n&quot;' />
											<exp exp='.HeadCode = .HeadCode + &quot;typedef void (*DC_CB_Func)(MX_UINT32 FCL_HANDLE, MX_SINT32 FCL_UNUSED1, MX_FLOAT FCL_UNUSED2, MX_CHAR *PFCL_UNUSED3);\n&quot;' />
											<exp exp='' />
										</command>
										<command class_type='calculation' title='Define null callback and callback macro pointer type' >
											<exp exp='.HeadCode = .HeadCode + &quot;void DC_Null_CB(MX_UINT32 FCL_HANDLE){return;}\n&quot;' />
											<exp exp='.HeadCode = .HeadCode + &quot;typedef void (*DC_CB_Func)(MX_UINT32 FCL_HANDLE);\n&quot;' />
											<exp exp='' />
										</command>
										<command class_type='comment' title='' comment='Loop through and define the handle callback value for all DC touchable items&#10;using callbacks' textarea='12,0,12,0' />
										<command class_type='sim' title='Goto Project Root' macro='Component.GetRoot' >
											<return exp='.Handle' />
										</command>
										<command class_type='sim' title='Find First Top Level Component in project' macro='Tree.StepChildHead' >
											<argument exp='.Handle' />
										</command>
										<command class_type='loop' title='Loop' type='0' exp='.Handle' for1='' for3='' >
											<flowline >
												<command class_type='sim' title='Check to see if it is a display manager component' macro='Component.Property.GetValue' >
													<return exp='.Test' />
													<argument exp='.Handle' />
													<argument exp='&quot;DisplayManager&quot;' />
												</command>
												<command class_type='decision' title='Decision' exp='.Test == this' swap='0' >
													<flowline >
														<command class_type='sim' title='Check to see if it is a display manager component' macro='Component.Property.GetValue' >
															<return exp='.bTest' />
															<argument exp='.Handle' />
															<argument exp='&quot;Touchable&quot;' />
														</command>
														<command class_type='decision' title='Decision' exp='.bTest' swap='0' >
															<flowline >
																<command class_type='sim' title='Check to see if it is a display manager component' macro='Component.Property.GetValue' >
																	<return exp='.bTest' />
																	<argument exp='.Handle' />
																	<argument exp='&quot;UseCallback&quot;' />
																</command>
																<command class_type='decision' title='Decision' exp='.bTest' swap='0' >
																	<flowline >
																		<command class_type='sim' title='Built-in Function' macro='Tree.GetName' >
																			<return exp='.Name' />
																			<argument exp='.Handle' />
																		</command>
																		<command class_type='calculation' title='Define lower 16 bits of handle' >
																			<exp exp='.Headcode = .HeadCode + &quot;#define FCV_&quot; + ToUpper$(.Name) + &quot; &quot; + STRING (.Handle &amp; 0xFFFF) + &quot;\n&quot;' />
																		</command>
																	</flowline>
																	<flowline />
																</command>
															</flowline>
															<flowline />
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='sim' title='Find Next Top Level Component in project' macro='Tree.StepNext' >
													<argument exp='.Handle' />
												</command>
											</flowline>
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.CountArray = &quot;MX_UINT16 DC_COUNT[&quot; + ToString$(SceneCount) + &quot;] = {&quot;' />
								</command>
								<command class_type='loop' title='Loop' type='2' forvar='.Idx' exp='SceneCount' for1='' for3='' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
											<return exp='.Count' />
											<argument exp='this' />
											<argument exp='&quot;Count&quot; + ToString$(.idx)' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
											<return exp='.LayoutString' />
											<argument exp='this' />
											<argument exp='&quot;Layout&quot; + ToString$(.idx)' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.LayoutString = Left$(.LayoutString,Length$(.LayoutString) - 1)' />
											<exp exp='.HeadCode = .HeadCode + &quot;MX_UINT8 LAYOUT&quot; + ToString$(.Idx) + &quot;[&quot; + ToString$(.Count) + &quot;] = {&quot; + .LayoutString + &quot;};\n&quot;' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.CountArray = .CountArray + ToString$(.Count)' />
										</command>
										<command class_type='decision' title='Decision' exp='(.Idx + 1) == SceneCount' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.CountArray = .CountArray + &quot;};\n&quot;' />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.CountArray = .CountArray + &quot;,&quot;' />
												</command>
											</flowline>
										</command>
										<command class_type='decision' title='Decision' exp='EnableCallbacks' swap='0' >
											<flowline >
												<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
													<return exp='.CallbackString' />
													<argument exp='this' />
													<argument exp='&quot;Callback&quot; + ToString$(.idx)' />
												</command>
												<command class_type='sim' title='Built-in Function' macro='Component.Property.GetValue' >
													<return exp='.CallbackCount' />
													<argument exp='this' />
													<argument exp='&quot;CBCount&quot; + ToString$(.idx)' />
												</command>
												<command class_type='decision' title='Decision' exp='.CallbackCount' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.HeadCode = .HeadCode + &quot;DC_CB_Func DC_CB_Func&quot; + ToString$(.Idx) + &quot;[&quot; + ToString$(.CallbackCount) + &quot;] = {&quot; + .CallbackString + &quot;};\n&quot;' />
														</command>
													</flowline>
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.HeadCode = .HeadCode + &quot;DC_CB_Func DC_CB_Func&quot; + ToString$(.Idx) + &quot;[1] = {DC_Null_CB};\n&quot;' />
														</command>
													</flowline>
												</command>
												<command class_type='calculation' title='Calculation' disable='1' >
													<exp exp='.HeadCode = .HeadCode + &quot;const DC_CB_Func DC_CB_Func&quot; + ToString$(.Idx) + &quot;[&quot; + ToString$(.CallbackCount) + &quot;] PROGMEM = {&quot; + .CallbackString + &quot;};\n&quot;' />
												</command>
												<command class_type='calculation' title='Calculation' disable='1' >
													<exp exp='.HeadCode = .HeadCode + &quot;void (*DC_CB_Func&quot; + ToString$(.Idx) + &quot;[](void) = {&quot; + .CallbackString + &quot;};\n&quot;' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.HeadCode = .HeadCode + .CountArray' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetPanelHandle' description='Checks for a 2D panel with the name GLCD Layout Editor. &#13;&#10;If one exists then returns the handle.&#13;&#10;If none exists then creates one and returns the handle.&#13;&#10;' statediag='0' >
						<return name='Return' type='h32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='MyPanelID' type='s32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='PanelCount' type='s32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Idx' type='s32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='PanelName' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='Found' type='b1' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='label' title='Declare Connection Point' labelid='1' labelname='B' labeltype='4' />
						<command class_type='sim' title='Built-in Function' macro='Panel.Get2dPanelCount' >
							<return exp='.PanelCount' />
						</command>
						<command class_type='loop' title='Loop through 2d panels' type='2' forvar='.Idx' exp='.PanelCount' for1='' for3='' >
							<flowline >
								<command class_type='sim' title='Built-in Function' macro='Panel.GetPanelName' >
									<return exp='.PanelName' />
									<argument exp='.Idx' />
								</command>
								<command class_type='decision' title='Decision' exp='Compare$(.PanelName,&quot;GLCD Layout Editor&quot;,0) == 0' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Found = 1' />
											<exp exp='.Return = .Idx' />
										</command>
										<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' labeltype='0' />
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Decision' exp='.Found = 0' swap='0' >
							<flowline >
								<command class_type='sim' title='Built-in Function' macro='Panel.Create2dPanel' >
									<argument exp='&quot;GLCD Layout Editor&quot;' />
								</command>
								<command class_type='goto' title='Goto Connection Point' labelid='1' labelname='' labeltype='0' />
							</flowline>
							<flowline />
						</command>
						<command class_type='label' title='Declare Connection Point' labelid='0' labelname='A' labeltype='4' />
						<command class_type='sim' title='Built-in Function' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;PanelHandle&quot;' />
							<argument exp='.Return' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='NoTouch' description='Called when no touch is present, &#13;&#10;Allows the repeat rate counter to be cleared allowing for better responses to fast touches.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='calculation' title='No touch detected - Clear repeat rate counter' >
							<exp exp='TouchInterval = 0' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='CreateWidgetArray' description='Creates a 2D array of Widgets that can be used to create things like keypads.&#13;&#10;Returns the ID of the first Widget, the following Widgets have incremental IDs going column by column and then row by row.' statediag='0' >
						<return name='Return' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='WidgetType' type='u8' description='0=Hidden (touch area only), 1=Rectangle, 2=Rounded Rectangle, 3=Ellipse, 4=Vertical Slider, 5=Horizontal Slider,&#13;&#10;6=Vertical Slider Round Thumb, 7=Horizontal Slider Round Thumb, 8=Bitmap, 9=Circular Slider (touchable), 10=Circular Gauge (not touchable)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='NumColumns' type='u8' description='Number of columns of Widgets in the array' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='NumRows' type='u8' description='Number of rows of Widgets in the array' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='InitialPositionX' type='u16' description='X pixel coordinate of the first Widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='InitialPositionY' type='u16' description='Y pixel coordinate of the first Widget' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='WidgetWidth' type='u16' description='Widget width in pixels' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='WidgetHeight' type='u16' description='Widget height in pixels' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='SpacingX' type='u16' description='Horizontal spacing between the widgets' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='SpacingY' type='u16' description='Vertical spacing between the widgets' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='LineWidth' type='u8' description='Border thickness in pixels for shapes (0 = no border, fill only).&#13;&#10;Sliders, circular slider and gauge: thickness of the track or arc.' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Colours' type='u8' description='Byte array: Foreground RGB [0-2], Background RGB [3-5], Text RGB [6-8], Highlight RGB [9-11].&#13;&#10;Shapes: Foreground = border, Background = fill, Text = label, Highlight = drop shadow.&#13;&#10;Sliders / circular slider / gauge: Foreground = thumb or needle, Background = track background, Text = low side of track or arc, Highlight = high side.' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='12' />
						</param>
						<param name='Font' type='u8' description='GLCD font index used for the Widget text' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='WidgetText' type='T8*' description='A comma separated text field with the text for each Widget e.g. "1,2,3,..". Leave empty for no text.' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='1000' />
						</param>
						<param name='DrawHighlight' type='u8' description='Shapes: 1 = draw a drop shadow in the highlight colour, 0 = none.&#13;&#10;Sliders: thumb width in pixels. Circular slider: thumb diameter in pixels.&#13;&#10;Gauge: needle width in pixels, 0 = no needle (filled arc only).' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='Row' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Col' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='WY' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='WX' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Count' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='ID' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='TmpStr' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='10' />
						</local>
						<local name='Len' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='loop' title='Loop' type='2' exp='.NumRows' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Col = 0' />
								</command>
								<command class_type='loop' title='Loop' type='2' exp='.NumColumns' for1='' for3='' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.WX = .InitialPositionX + .Col * (.WidgetWidth + .SpacingY)' />
											<exp exp='.WY = .InitialPositionY + .Row * (.WidgetHeight + .SpacingX)' />
										</command>
										<command class_type='call' title='User Macro' macro='CreateWidget' >
											<return exp='.ID' />
											<argument exp='.WidgetType' />
											<argument exp='.WX' />
											<argument exp='.WY' />
											<argument exp='.WidgetWidth' />
											<argument exp='.WidgetHeight' />
											<argument exp='.LineWidth' />
											<argument exp='.Colours' />
											<argument exp='.DrawHighlight' />
											<argument exp='1' />
										</command>
										<command class_type='decision' title='Decision' exp='.Count' swap='0' >
											<flowline />
											<flowline >
												<command class_type='calculation' title='Return first widget ID' >
													<exp exp='.Return = .ID' />
												</command>
											</flowline>
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.TmpStr = SplitString$(.WidgetText,&quot;,&quot;,.Count)' />
											<exp exp='.Len = Length$(.TmpStr)' />
										</command>
										<command class_type='decision' title='Text label to print?' exp='.Len' swap='0' >
											<flowline >
												<command class_type='call' title='User Macro' macro='SetTextLabel' >
													<argument exp='.ID' />
													<argument exp='.TmpStr' />
													<argument exp='.Font' />
													<argument exp='1' />
													<argument exp='1' />
													<argument exp='1' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Count = .Count + 1' />
											<exp exp='.Col = .Col + 1' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Row = .Row + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetSceneIdx' description='Gets the index of the current drawn scene allowing for variable behaviour &#13;&#10;based on the scene.' statediag='0' >
						<return name='Return' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = SceneIdx' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='comment' title='' comment='Component Version Information;&#10;13, 2.0, 22-05-24, BR, Added text alignment options;&#10;14, 2.1, 14-06-24, BR, Renamed Button to Widget to better include things like sliders;&#10;15, 2.1, 26-07-24, BR, Added SetTextFloat and AddTextNumber macros;&#10;16, 2.1, 29-07-24, BR, Renamed Themes to ObjectThemes and WidgetThemes;&#10;17, 2.1, 29-07-24, BR, Added CreateTextField macro which automates creating a simple textbox;&#10;18, 2.1, 06-08-24, BR, Fixed a problem with updating values, theme, text on IDs;&#10;19, 2.1, 06-08-24, BR, Textfield now uses hidden object type instead of rectangle;&#10;20, 2.1, 06-08-24, BR, Fixed a problem where slider value could be set with out of range value;&#10;21, 2.1, 06-08-24, BR, Fixed problem where SetTextNumber would reset an ESP32;&#10;22, 22.0, 19-03-25, MW, Added keypad creation function;&#10;23, 22.1, 23-10-26, BR, Split DrawItem into Prv_ drawing macros, added Widget_CircularSlider (9) and Widget_Gauge (10);&#10;24, 22.2, 29-10-26, BR, Fixed circular slider touch, circular slider and gauge updates only redraw the arc around the old and new positions to reduce flicker;&#10;' textarea='12,0,12,0' />
					</flowline>
				</macro>
				<macro >
					<flowline name='CreateObject' description='Define a non-touchable graphical object.&#13;&#10;Returns the Object ID (1 upwards), or 0 if the Max Objects limit has been reached.' statediag='0' >
						<return name='Return' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='ObjectType' type='u8' description='0=Hidden (text / collision area only), 1=Rectangle, 2=Rounded Rectangle, 3=Ellipse, 4=Line, 8=Bitmap' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='X' type='u16' description='X pixel coordinate of the top left corner (line: start point)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Y' type='u16' description='Y pixel coordinate of the top left corner (line: start point)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Width' type='u16' description='Pixel width of the bounding box (line: X distance to the end point)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Height' type='u16' description='Pixel height of the bounding box (line: Y distance to the end point)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='LineWidth' type='u8' description='Border thickness in pixels (0 = no border, fill only). Line: line thickness.' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Colours' type='u8' description='Byte array: Foreground RGB [0-2], Background RGB [3-5], Text RGB [6-8].&#13;&#10;Foreground = border, Background = fill, Text = label text.' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='9' />
						</param>
						<param name='DrawObject' type='b1' description='0 = Do not draw the object yet, 1 = Draw the object now (does not apply to hidden objects)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='NumObjects &lt; MaxObjects' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;CreateObject -&gt; &quot;' />
										</command>
										<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.ObjectType' >
											<case >
												<flowline />
											</case>
											<case exp='0' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Hidden &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='1' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Rectangle &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='2' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Rounded Rectangle &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='3' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Ellipse &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='4' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Line &quot;' />
													</command>
												</flowline>
											</case>
											<case exp='8' >
												<flowline >
													<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
														<argument exp='Console' />
														<argument exp='&quot;Bitmap &quot;' />
													</command>
												</flowline>
											</case>
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Assign Parameters' >
									<exp exp='Type[NumObjects] = .ObjectType' />
									<exp exp='X[NumObjects] = .X' />
									<exp exp='Y[NumObjects] = .Y' />
									<exp exp='W[NumObjects] = .Width' />
									<exp exp='H[NumObjects] = .Height' />
									<exp exp='LineWidth[NumObjects] = .LineWidth' />
									<exp exp='ObjectColour[NumObjects][0][0] = .Colours[0]' />
									<exp exp='ObjectColour[NumObjects][0][1] = .Colours[1]' />
									<exp exp='ObjectColour[NumObjects][0][2] = .Colours[2]' />
									<exp exp='ObjectColour[NumObjects][1][0] = .Colours[3]' />
									<exp exp='ObjectColour[NumObjects][1][1] = .Colours[4]' />
									<exp exp='ObjectColour[NumObjects][1][2] = .Colours[5]' />
									<exp exp='ObjectColour[NumObjects][2][0] = .Colours[6]' />
									<exp exp='ObjectColour[NumObjects][2][1] = .Colours[7]' />
									<exp exp='ObjectColour[NumObjects][2][2] = .Colours[8]' />
								</command>
								<command class_type='calculation' title='Increment Number Of Objects' >
									<exp exp='NumObjects = NumObjects + 1' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = NumObjects' />
								</command>
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;: ID=&quot; + STRING .Return + &quot;\n&quot;' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='.DrawObject' swap='0' >
									<flowline >
										<command class_type='call' title='User Macro' macro='DrawItem' >
											<argument exp='.Return' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Decision' exp='IsSim' swap='0' >
									<flowline >
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;CreateObject -&gt; Error max objects limit reached!\n&quot;' />
										</command>
										<command class_type='sim' title='Built-in Function' macro='Console.WriteText' >
											<argument exp='Console' />
											<argument exp='&quot;Max Objects property can be changed to allow more objects\n&quot;' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Initialise' description='Initialises the object and Widget control variables and sets up the default themes.' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='Count' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='RGB' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='3' />
						</local>
						<local name='MQTT_Str' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;&quot;' setinit='&quot;&quot;' >
							<array size='30' />
						</local>
						<command class_type='calculation' title='Calculation' >
							<exp exp='NumWidgets = 0' />
							<exp exp='NumObjects = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='EB3_Display &amp;&amp; EB3_WebMirror' swap='0' >
							<flowline >
								<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='ClearAll' />
								<command class_type='call' title='Component Macro' component='JSONEncoder1' macro='AssignName' >
									<argument exp='0' />
									<argument exp='&quot;ID&quot;' />
								</command>
								<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
									<argument exp='1' />
									<argument exp='&quot;Type&quot;' />
								</command>
								<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
									<argument exp='2' />
									<argument exp='&quot;O&quot;' />
								</command>
								<command class_type='call' title='Component Macro' textarea='36,5,36,5' component='JSONEncoder1' macro='AssignName' >
									<argument exp='3' />
									<argument exp='&quot;W&quot;' />
								</command>
								<command class_type='call' title='Identifier' component='JSONEncoder1' macro='AssignDataAsNumber' >
									<argument exp='0' />
									<argument exp='1' />
								</command>
								<command class_type='call' title='Type 20 = Setup' component='JSONEncoder1' macro='AssignDataAsNumber' >
									<argument exp='1' />
									<argument exp='20' />
								</command>
								<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
									<argument exp='2' />
									<argument exp='MaxObjects' />
								</command>
								<command class_type='call' title='String Label' component='JSONEncoder1' macro='AssignDataAsNumber' >
									<argument exp='3' />
									<argument exp='MaxWidgets' />
								</command>
								<command class_type='call' title='String Label' component='JSONEncoder1' macro='GenerateJSON' >
									<return exp='.MQTT_Str' />
								</command>
								<command class_type='native' title='Code' ccode='    MX_CAPTOUCH_SendBinaryAction(FCL_MQTT_STR, 60);' language='C' />
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='58be670e-18fb-477e-ab09-61fde14b23ec' vmin='0' vmaj='1' codename='LibraryComponent1' panelId='0' x='96.548' y='-86.5' z='0' xsz='100.711' ysz='100.893' zsz='100' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='2' poslock='1' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='Text::sText' data='Graphical&#13;&#10;LCD&#13;&#10;Display&#13;&#10;Manager' />
					<value target='Name' data='' />
					<value target='Peripheral::sText' data='' />
					<value target='Text::nVerticalAlignment' data='002' />
					<value target='ShowComms' data='0' />
					<value target='InputIcon::CommsType' data='010' />
					<value target='InputIcon::LinkTo' data='000' />
					<value target='IconsOnRight' data='1' />
					<value target='OutputIcon::CommsType' data='002' />
					<value target='OutputIcon::LinkTo' data='1' />
					<value target='InputIcon1::CommsType' data='255' />
					<value target='ConsoleHandle' data='0' />
					<value target='Upgraded' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='6508c7be-063a-4f9f-bae5-4a41cf977a86' vmin='0' vmaj='1' codename='TypeConversions1' panelId='0' x='106.096' y='-61.2' z='1' xsz='5' ysz='5' zsz='5' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='GenCode' data='1' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='5f7b77e5-e979-4010-93f1-e6d98f83bd71' vmin='0' vmaj='1' codename='IsSim1' panelId='0' x='64.9743' y='-66' z='2' xsz='6.68497' ysz='7.14286' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='Sim' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='542d5713-1fd1-4cbf-a5a9-d64cfd2af087' vmin='0' vmaj='1' codename='Glcd_Mon_Dummy1' panelId='0' x='62.5' y='-62.5' z='3' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values />
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='f5a129d8-0e00-4e36-8272-8b00a5549e83' vmin='0' vmaj='1' codename='Glcd_Col_Dummy1' panelId='0' x='62.5' y='-62.5' z='4' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values />
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='1e0f4726-c054-4636-940d-7bb49795351c' vmin='0' vmaj='3' codename='BitmapDrawerDummy1' panelId='0' x='60' y='-60' z='5' xsz='4.46429' ysz='4.46429' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values />
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='95be0b3e-c660-4323-b1b1-95654325b08e' vmin='0' vmaj='3' codename='BitmapDrawerFATDummy1' panelId='0' x='60' y='-60' z='6' xsz='4.46429' ysz='4.46429' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='1' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values />
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c04afb7a-8f2f-4408-8699-9e171190e54e' vmin='0' vmaj='1' codename='gLCD_EB3_Dummy1' panelId='0' x='62.5' y='-62.5' z='7' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values />
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='f2ad060d-0ae3-43d2-9d82-f49eb4215240' vmin='0' vmaj='1' codename='JSONEncoder1' panelId='0' x='60' y='-60' z='8' xsz='4.45665' ysz='4.46429' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='0' scadavisible='1' interactive='0' solid='0' layer='2' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' angle2d='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='DataBytes' data='60' />
					<value target='AppendNewline' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<scadaresourcelookup />
	<keymap />
	<panel2d shadows='0' lighting='2' brightness='0' >
		<background rgb='255' img='' style='0' />
		<camera xe='4.05886' ye='-6.64744' ze='193.478' xt='4.05886' yt='-6.64744' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<viewport dx='533' dy='396' zoom='333.335' fix_topleft='0' />
		<page x='1000' y='1000' show='0' rgb='0' />
		<winpos ID='7005' RectRecentFloat='1134,71,1725,945' RectRecentDocked='0,0,533,419' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
	</panel2d>
	<panel3d shadows='0' lighting='2' brightness='0' perspective='1' >
		<background rgb='8409120' img='' style='0' />
		<table rgb='7360576' img='' style='0' size='0' />
		<camera xe='-1.01309' ye='-2.65052' ze='39.0283' xt='-1.01309' yt='-2.65052' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<camerakey0 xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<camerakey1 xe='-3.67394e-14' ye='0' ze='-300' xt='0' yt='0' zt='0' xquat='0' yquat='1' zquat='0' wquat='6.12323e-17' />
		<camerakey2 xe='0' ye='-300' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.707107' yquat='0' zquat='0' wquat='0.707107' />
		<camerakey3 xe='-3.67394e-14' ye='300' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-4.32978e-17' yquat='0.707107' zquat='0.707107' wquat='4.32978e-17' />
		<camerakey4 xe='-300' ye='-6.66134e-14' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.5' yquat='0.5' zquat='0.5' wquat='0.5' />
		<camerakey5 xe='300' ye='-6.66134e-14' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.5' yquat='-0.5' zquat='-0.5' wquat='0.5' />
		<camerakey6 xe='-173.205' ye='-173.205' ze='173.205' xt='0' yt='0' zt='0' xquat='-0.424708' yquat='0.17592' zquat='0.339851' wquat='0.820473' />
		<winpos ID='7004' RectRecentFloat='0,425,654,1002' RectRecentDocked='0,0,533,419' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
	</panel3d>
	<panels2d count='2' >
		<panel2d_0 id='0' name='Panel' type='0' >
			<winpos ID='1171' RectRecentFloat='1133,210,1496,498' RectRecentDocked='912,141,1445,1007' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
			<background fill='72057594035033043' showgrid='1' gridstyle='1' gridsize='10' gridbrush='71776119075691740' snaptogrid='1' fitcomp='0' disp_x='320' disp_y='240' scale='100' disp_col='16752832' />
		</panel2d_0>
		<panel2d_1 id='1' name='Scene0' type='1' >
			<winpos ID='1172' RectRecentFloat='0,454,650,904' RectRecentDocked='912,141,1445,1007' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
			<background fill='288230376151053813' showgrid='0' gridstyle='0' gridsize='5' gridbrush='71776119075691740' snaptogrid='1' fitcomp='0' disp_x='320' disp_y='240' scale='100' disp_col='8388626' />
		</panel2d_1>
	</panels2d>
	<layout >
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_GetVarSize' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_Initialise' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ModifyPosition' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='CreateObject' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='90' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ModifyScale' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='DrawAll' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='DrawItem' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='65' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='SetTextLabel' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_LoadComplete' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='CreateWidget' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ModifyColour' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='CheckForTouch' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='70' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='GetLastTouchID' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='NoTouch' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='GetSliderValue' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='SetSliderValue' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Initialise' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='CheckCollision' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_Property' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ClearAll' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_SimStart' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_CompileStart' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='CreateTextField' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='GetPanelHandle' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='DrawScene' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='4968' flags='0' />
		<view type='0' name='Prv_SetupDCScenes' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='CreateWidgetArray' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='351' flags='0' />
		<view type='0' name='Prv_EncodeDCComps' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_AddHeader' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_EncodeDCLayoutString' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_GetDCArray' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='CreateObjectArray' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_UpdateDCObjects' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_FindSceneCompCallback' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_PostInitialise' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_Timer' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ModifyBitmap' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_BoundsCheck' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='GetSceneIdx' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_SetColour' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_Rect' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_RoundRect' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_Ellipse' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_Circle' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_Line' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_ShapeAt' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_DrawShape' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_DrawShadow' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_DrawBitmap' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_AxisRect' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_AxisEllipse' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_DrawLinearSlider' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_DrawNeedle' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Prv_DrawRadial' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAJgQAAF0DAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
	</layout>
</document>
</root>
