Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F877A

Constants

BOOL false     BOOL true    

Globals

FLOAT label_X_px     FLOAT line_offset_px     FLOAT num_offset_px     FLOAT target_height     FLOAT target_width     FLOAT Value     BYTE label_size_px     FLOAT label_Y_px     FLOAT line_start_px     FLOAT px_size     FLOAT world_height     HANDLE target_handle     FLOAT num_size_px     FLOAT line_end_px     FLOAT marks_offset_px     FLOAT world_width     UNSIGNED INT width_px     UNSIGNED INT height_px     FLOAT subdiv_offset_px     HANDLE canvas_handle    

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_MakeCanvas

Return:     VOID
Vars:     FLOAT aspect     FLOAT dimensions    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_AdjustTrack

Return:     VOID
Vars:     FLOAT track_length     FLOAT track_mid     FLOAT canvas_pos     FLOAT track_pos     FLOAT track_size    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

GetValue

Return:     FLOAT

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_DrawMarks

Return:     VOID
Vars:     BYTE index     BYTE sub_index     FLOAT step     FLOAT position     FLOAT real_val     STRING val_string    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Ev_Property

Return:     UNSIGNED LONG
Vars:     HANDLE object_handle    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_DrawLabel

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

SetValue

Return:     VOID
Params:     FLOAT Value    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_InitParameters

Return:     VOID
Vars:     FLOAT dims    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_FloatRound

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

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_SetPosition

Return:     VOID
Params:     HANDLE Position    
Vars:     FLOAT target_pos     FLOAT canvas_pos     FLOAT temp    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Ev_Resize

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

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_DrawScale

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

SetLabel

Return:     VOID
Params:     STRING Text    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

SetRange

Return:     VOID
Params:     FLOAT Minimum     FLOAT Maximum    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Ev_Click

Return:     UNSIGNED LONG
Params:     HANDLE Component     FLOAT X     FLOAT Y     FLOAT Z    
Vars:     HANDLE mouse_pos    

Your browser does not support the HTML5 canvas tag.

Prv_MakeCanvas    /    Prv_AdjustTrack    /    GetValue    /    Prv_DrawMarks    /    Ev_Property    /    Prv_DrawLabel    /    SetValue    /    Prv_InitParameters    /    Prv_FloatRound    /    Prv_SetPosition    /    Ev_Resize    /    Prv_DrawScale    /    SetLabel    /    SetRange    /    Main    /    Ev_Click    /    Prv_MoveObjects

Prv_MoveObjects

Return:     VOID
Vars:     FLOAT source_pos     FLOAT dest_pos     FLOAT scaled_val    

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