Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F877A

Constants

FLOAT PI     BOOL false     BOOL true    

Globals

FLOAT px_size_label     FLOAT world_centre_y     FLOAT centre_y     FLOAT Angle     FLOAT world_centre_x     FLOAT centre_x     FLOAT TEST     FLOAT sweep_radians     FLOAT px_y_label     HANDLE test_pos     FLOAT px_rad_marks     FLOAT px_y_centre     HANDLE LabInc     FLOAT px_rad_numbers     FLOAT Value     HANDLE target_start_pos     FLOAT pixel_radius     FLOAT px_rad_subs     FLOAT px_rad_arc     BOOL MouseEnabled     FLOAT px_y_offset     FLOAT test_knob     HANDLE axis_handle     HANDLE LabDec     FLOAT px_x_centre     FLOAT px_size     FLOAT start_radians     FLOAT px_x_label     FLOAT world_height     HANDLE target_handle     FLOAT px_x_offset     FLOAT px_size_number     HANDLE HANDLE_TEST     FLOAT world_width     UNSIGNED INT width_px     UNSIGNED INT height_px     HANDLE canvas_handle    

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_MakeCanvas

Return:     VOID
Vars:     FLOAT dimensions     FLOAT aspect    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_ConstrainAngle

Return:     SIGNED INT
Params:     SIGNED INT in_angle    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

GetValue

Return:     FLOAT

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Ev_Initialise

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_DrawMarks

Return:     VOID
Vars:     SIGNED INT segments     BYTE index     FLOAT step     FLOAT x0     FLOAT x1     FLOAT y0     FLOAT y1     FLOAT angle     BYTE scale_rad     FLOAT mark_rad     BYTE sub_index     FLOAT subdiv_rad     FLOAT text_rad     STRING angle_str     FLOAT real_val    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Ev_Property

Return:     UNSIGNED LONG
Vars:     HANDLE object_handle     SIGNED INT angle_temp    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_DrawArc

Return:     VOID
Params:     FLOAT Start     FLOAT End     FLOAT Radius    
Vars:     SIGNED INT segments     FLOAT sweep     BYTE index     FLOAT step     FLOAT x0     FLOAT x1     FLOAT y0     FLOAT y1     FLOAT angle     BYTE scale_rad    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_DrawLabel

Return:     VOID
Vars:     FLOAT x0     FLOAT y0    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

SetValue

Return:     FLOAT
Params:     FLOAT Value    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_MoveObject

Return:     VOID
Vars:     HANDLE centre_pos    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_SetAngle

Return:     FLOAT
Params:     FLOAT Angle    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_InitParameters

Return:     VOID
Vars:     FLOAT coords     FLOAT canv_coords     FLOAT x_off     FLOAT y_off    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_FloatRound

Return:     STRING
Params:     FLOAT Value     SIGNED INT Places    
Vars:     FLOAT factor     STRING pre     STRING post     BYTE str_len     SIGNED LONG val_int     STRING leading    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Ev_Resize

Return:     UNSIGNED LONG
Params:     HANDLE Component     HANDLE PrevPos     BOOL Final    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_DrawScale

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Prv_GetNumber

Return:     FLOAT
Params:     FLOAT Angle    
Vars:     FLOAT range     FLOAT dp_scale    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

SetLabel

Return:     VOID
Params:     STRING Label    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

SetRange

Return:     VOID
Params:     FLOAT Minimum     FLOAT Maximum    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Main

Return:     VOID
Vars:     HANDLE tes_pos    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_ConstrainAngle    /    GetValue    /    Ev_Initialise    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawArc    /    Prv_DrawLabel    /    SetValue    /    Prv_MoveObject    /    Prv_SetAngle    /    Prv_InitParameters    /    Prv_FloatRound    /    Ev_Resize    /    Prv_DrawScale    /    Prv_GetNumber    /    SetLabel    /    SetRange    /    Main    /    Ev_Click

Ev_Click

Return:     UNSIGNED LONG
Params:     HANDLE Component     FLOAT X     FLOAT Y     FLOAT Z    
Vars:     FLOAT canvas_pos     HANDLE mouse_handle     FLOAT mouse_pos     FLOAT val     STRING Name     HANDLE CompHandle     FLOAT Real    

Your browser does not support the HTML5 canvas tag.

Verison History

Version 0.6
12/09/19 BR - Created initial recursive parser
14/09/19 BR - Added support for disabled icons
18/09/19 BR - Fixed decision icon parsing
19/09/19 BR - Added switch icon support
23/09/19 BR - Fixed recursive loop spacing
27/09/19 BR - Further tweaked spacing and added Macro menu
30/09/19 BR - Improved all string spacing
01/10/19 BR - Improved While icon support