;-declares new ... Declare.i ChartLineDot(img.i, size.i, color1.i, color2.i, color3.i, color4.i= 0) Declare.i ChartBarHor(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) Declare.i ChartCylHor(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) Declare.i ChartBarVertStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) Declare.i ChartBarHorStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) Declare.i ChartCylVertStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) Declare.i ChartCylHorStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) Declare.i ChartArea(img.i, size.i, color1.i, color2.i, color3.i, color4.i= 0) Declare.i ChartAreaPerc(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) Declare.i ChartPrice(img.i, size.i, color1.i, color2.i, color3.i= 0) Declare.i ChartRing(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ;-constants new ... ; ;#ImgChartLine ; ;#ImgChartDot ; #ImgChartLineDot; new ; ;#ImgChartBarVert ; #ImgChartBarHor; new ; #ImgChartBarVertStacked; new ; #ImgChartBarHorStacked ; new ; ;#ImgChartCylVert ; #ImgChartCylHor; new ; #ImgChartCylVertStacked; new ; #ImgChartCylHorStacked; new ; #ImgChartArea; new ; #ImgChartAreaPerc; new ; #ImgChartPrice; new ; ;#ImgChartPie ; #ImgChartRing; new ;-tooltips new ... Data.s "ChartLineDot", "ChartBarHor", "ChartBarVertStacked", "ChartBarHorStacked", "ChartCylHor" Data.s "ChartCylVertStacked", "ChartCylHorStacked", "ChartArea", "ChartAreaPerc", "ChartPrice";, "ChartRing" ;- ;-macros new ... Macro DocuSheet() ; frame MovePathCursor(p8, p16) AddPathLine (size - p4 - p16, p16) AddPathLine (size - p8, p4) AddPathLine (size - p8, size - p16) AddPathLine (p8, size - p16) ClosePath () VectorSourceColor(color1) FillPath(#PB_Path_Preserve) VectorSourceColor(color2) StrokePath (p16) ; dog-ear MovePathCursor(size - p4 - p16, p16) AddPathLine (size - p4 - p16, p4) AddPathLine (size - p8, p4) StrokePath (p) EndMacro Macro ChartScale() VectorSourceColor(color1) For I= 0 To 270 Step 270 RotateCoordinates(p2, p2, I) ; axes MovePathCursor(0, 0) AddPathLine (0, size) ; scale MovePathCursor(0, 0) AddPathLine (p16, 0) MovePathCursor(0, p4) AddPathLine (p16, p4) MovePathCursor(0, p2) AddPathLine (p16, p2) MovePathCursor(0, p2 + p4) AddPathLine (p16, p2 + p4) MovePathCursor(0, size) AddPathLine (p16, size) StrokePath (1) Next I ResetCoordinates() EndMacro Macro ChartBars(_angle_) RotateCoordinates(p2 + p, p2 - p, _angle_) VectorSourceColor(color4) AddPathBox (p4, p4, p4 - p16 - p, size - p4 - p8) FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color4, 0.75)) StrokePath (1) VectorSourceColor(color3) AddPathBox (p2, p8, p4 - p16 - p, size - p8 - p8) FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color3, 0.75)) StrokePath (1) VectorSourceColor(color2) AddPathBox (p4 + p2, p2, p4 - p16 - p, size - p2 - p8) FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color2, 0.75)) StrokePath (1) RotateCoordinates(p2, p2, 0) EndMacro Macro ChartBarsStacked(_angle_) RotateCoordinates(p2 + p, p2 - p, _angle_) VectorSourceColor(color4) AddPathBox (p4, p2, p4 - p16 - p, p4 + p8) FillPath () VectorSourceColor(color2) AddPathBox (p4, p4, p4 - p16 - p, p4 - 1) FillPath () VectorSourceColor(color4) AddPathBox (p4, p4, p4 - p16 - p, p2 + p8) StrokePath (0.5) VectorSourceColor(color4) AddPathBox (p2, p2 + p8, p4 - p16 - p, p4) FillPath () VectorSourceColor(color2) AddPathBox (p2, p4 + p8, p4 - p16 - p, p4 - 1) FillPath () VectorSourceColor(color3) AddPathBox (p2, p8, p4 - p16 - p, p4 - 1) FillPath () VectorSourceColor(color4) AddPathBox (p2, p8, p4 - p16 - p, p2 + p4) StrokePath (0.5) VectorSourceColor(color4) AddPathBox (p4 + p2, p2 + p4, p4 - p16 - p, p8) FillPath () VectorSourceColor(color3) AddPathBox (p4 + p2, p4 + p8, p4 - p16 - p, p2 - p8 - 1) FillPath () VectorSourceColor(color4) AddPathBox (p4 + p2, p4 + p8, p4 - p16 - p, p2) StrokePath (0.5) RotateCoordinates(p2, p2, 0) EndMacro Macro ChartCylBars(_angle_) RotateCoordinates (p2 + p, p2 - p, _angle_) VectorSourceLinearGradient(p4, 0, p2 - p16 + 1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color4, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p4, p4, p4- p16, size - p4 - p16 - p) FillPath () VectorSourceLinearGradient(p2, 0, p2 + p4 - p16 + 1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color3, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p2, p8, p4- p16, size - p8 - p16 - p) FillPath () VectorSourceLinearGradient(p4 + p2, 0, size - p16 + 1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color2, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p4 + p2, p2, p4- p16, size - p2 - p16 - p) FillPath () RotateCoordinates (p2, p2, 0) EndMacro Macro ChartCylBarsStacked(_angle_) RotateCoordinates (p2 + p, p2 - p, _angle_) VectorSourceLinearGradient(p4, 0, p2 - p16 + 1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color4, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p4, p2, p4 - p16 - p, p4 + p8 + p) FillPath () VectorSourceLinearGradient(p4, 0, p2 - p16+1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color3, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p4, p4, p4 - p16 - p, p4 - 1) FillPath () VectorSourceLinearGradient(p2, 0, p4 + p2 - p16 + 1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color3, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p2, p2 + p8, p4 - p16 - p, p4 + p) FillPath () VectorSourceLinearGradient(p2, 0, p4 + p2 - p16+1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color2, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p2, p4 + p8, p4 - p16 - p, p4 - 1) FillPath () VectorSourceLinearGradient(p2, 0, p4 + p2 - p16+1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color4, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p2, p8, p4 - p16 - p, p4 - 1) FillPath () VectorSourceLinearGradient(p4 + p2, 0, size - p16 + 1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color4, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p4 + p2, p2 + p4, p4 - p16 - p, p8 + p) FillPath () VectorSourceLinearGradient(p4 + p2, 0, size - p16+1, 0) VectorSourceGradientColor (color1, 0.0) VectorSourceGradientColor (color3, 0.5) VectorSourceGradientColor (color1, 1.0) AddPathBox (p4 + p2, p4 + p8, p4 - p16 - p, p2 - p8 - 1) FillPath () RotateCoordinates(p2, p2, 0) EndMacro ;- ;-procedures mod ... Procedure.i NewDocument (img.i, size.i, color1.i, color2.i, color3.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; lines MovePathCursor( 7 * p, 9 * p) AddPathLine (19 * p, 9 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (24 * p, 13 * p) MovePathCursor( 7 * p, 17 * p) AddPathLine (16 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (13 * p, 21 * p) MovePathCursor( 7 * p, 25 * p) AddPathLine (14 * p, 25 * p) StrokePath (p) ; + VectorSourceColor(color3) MovePathCursor(p2 + p8 + p, p2 + p16) AddPathLine (p2 + p8 + p, size - p8) MovePathCursor(p2, p2 + p4 - p) AddPathLine (size - p8 - p16, p2 + p4 - p) StrokePath (p16) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i EditDocument (img.i, size.i, color1.i, color2.i, color3.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; lines MovePathCursor( 7 * p, 9 * p) AddPathLine (19 * p, 9 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (20 * p, 13 * p) MovePathCursor( 7 * p, 17 * p) AddPathLine (15 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (10 * p, 21 * p) MovePathCursor( 7 * p, 25 * p) AddPathLine ( 9 * p, 25 * p) StrokePath (p) ; pen VectorSourceColor(color3) MovePathCursor(size - p, 7 * p) AddPathLine (size - 5 * p, 11 * p) StrokePath (p8) VectorSourceColor(color1) MovePathCursor(size - 5 * p, 11 * p) AddPathLine (size - 6 * p, 12 * p) StrokePath (p8) VectorSourceColor(color3) MovePathCursor(size - 6 * p, 12 * p) AddPathLine (p2 - p, 23 * p) StrokePath (p8) MovePathCursor(13 * p, 23 * p) AddPathLine (p2 - p8, 26 * p) AddPathLine (p2 - p, 25 * p) ClosePath () FillPath () StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ClearDocument (img.i, size.i, color1.i, color2.i, color3.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; clear VectorSourceColor(color3) MovePathCursor( 7 * p, 19 * p) AddPathLine (13 * p, 13 * p) AddPathLine (25 * p, 13 * p) AddPathLine (25 * p, 25 * p) AddPathLine (13 * p, 25 * p) ClosePath () FillPath () VectorSourceColor(color1) MovePathCursor(15 * p, 15 * p) AddPathLine (23 * p, 23 * p) MovePathCursor(23 * p, 15 * p) AddPathLine (15 * p, 23 * p) StrokePath (p * 3) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ImportDocument (img.i, size.i, color1.i, color2.i, color3.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; arrow VectorSourceColor(color3) MovePathCursor(p2 + p4, p2 - p16) AddPathLine (p2, p2 + p8) AddPathLine (p2 + p4, p2 + p4 + p16) ClosePath () FillPath () MovePathCursor(p2 + p4, p2 + p8) AddPathLine (size, p2 + p8) StrokePath (p8) VectorSourceColor(color1) MovePathCursor(p2 + p4, p2 + p) AddPathLine (size - p16 - p, p2 + p) MovePathCursor(p2 + p4, p2 + p4 - p) AddPathLine (size - p16 - p, p2 + p4 - p) StrokePath (p16) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ExportDocument (img.i, size.i, color1.i, color2.i, color3.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; lines MovePathCursor( 7 * p, 9 * p) AddPathLine (19 * p, 9 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (24 * p, 13 * p) MovePathCursor( 7 * p, 17 * p) AddPathLine (12 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (11 * p, 21 * p) MovePathCursor( 7 * p, 25 * p) AddPathLine (18 * p, 25 * p) StrokePath (p) ; arrow VectorSourceColor(color3) MovePathCursor(size - p4, p2 - p16) AddPathLine (size, p2 + p8) AddPathLine (size - p4, p2 + p4 + p16) ClosePath () FillPath () MovePathCursor(p2, p2 + p8) AddPathLine (size - p4, p2 + p8) StrokePath (p8) ; clean frame - still 'dirty' VectorSourceColor(color1) MovePathCursor(p2 + p4 + p/4, p / 2 * 25) AddPathLine (size - p16 - p/2, p2 + p ) MovePathCursor(p2 + p4 + p/4, p / 2 * 55) AddPathLine (size - p16 - p/2, p2 + p4 - p) StrokePath (p16) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i CloseDocument (img.i, size.i, color1.i, color2.i, color3.i, color4.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; lines MovePathCursor( 7 * p, 9 * p) AddPathLine (19 * p, 9 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (24 * p, 13 * p) MovePathCursor( 7 * p, 17 * p) AddPathLine (16 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (13 * p, 21 * p) MovePathCursor( 7 * p, 25 * p) AddPathLine (14 * p, 25 * p) StrokePath (p) ; panel VectorSourceColor(color3) AddPathCircle (size - p4, size - p4, p4) FillPath () VectorSourceColor(color4) AddPathCircle (size - p4, size - p4, p4 - p) StrokePath (p) ; bar VectorSourceColor(color1) MovePathCursor (size - 7 * p16, size - p4) AddPathLine (6 * p16, 0, #PB_Path_Relative) StrokePath (size / 10) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i SortAscending(img.i, size.i, color1.i, color2.i, color3.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; lines MovePathCursor( 7 * p, 9 * p) AddPathLine (12 * p, 9 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (12 * p, 13 * p) MovePathCursor( 7 * p, 17 * p) AddPathLine (12 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (12 * p, 21 * p) MovePathCursor( 7 * p, 25 * p) AddPathLine (12 * p, 25 * p) StrokePath (p) ; arrow VectorSourceColor(color3) MovePathCursor (p2 + p8, p * 10) AddPathLine (p2 + p8, p2 + p16) StrokePath (p8) MovePathCursor (p2 - p16, p2 + p16) AddPathLine (p2 + p8, size - p16 * 3) AddPathLine (p2 + p4 + p16, p2 + p16) ClosePath () FillPath () StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i SortDescending(img.i, size.i, color1.i, color2.i, color3.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; lines MovePathCursor( 7 * p, 9 * p) AddPathLine (12 * p, 9 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (12 * p, 13 * p) MovePathCursor( 7 * p, 17 * p) AddPathLine (12 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (12 * p, 21 * p) MovePathCursor( 7 * p, 25 * p) AddPathLine (12 * p, 25 * p) StrokePath (p) ; arrow VectorSourceColor(color3) MovePathCursor (p2 + p8, p2 + p16) AddPathLine (p2 + p8, size - p16 * 3) StrokePath (p8) MovePathCursor (p2 - p16, p2 + p16) AddPathLine (p2 + p8, p16 * 5) AddPathLine (p2 + p4 + p16, p2 + p16) ClosePath () FillPath () StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i SortBlockAscending(img.i, size.i, color1.i, color2.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; block AddPathBox (6 * p, 9 * p, p2 + p8, p2) FillPath() ; lines MovePathCursor( 7 * p, 6 * p) AddPathLine (12 * p, 6 * p) StrokePath (p16) VectorSourceColor(color1) MovePathCursor( 7 * p, 17 * p) AddPathLine (12 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (12 * p, 21 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (12 * p, 13 * p) StrokePath (p16) ; arrow VectorSourceColor(color1) MovePathCursor (p2 + p8, p * 11) AddPathLine (p2 + p8, p2 + p16) StrokePath (p8) MovePathCursor (p2 - p16, p2 + p) AddPathLine (p2 + p8, size - p4) AddPathLine (p2 + p4 + p16, p2 + p) ClosePath () FillPath () StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i SortBlockDescending(img.i, size.i, color1.i, color2.i) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ; sheet DocuSheet() ; block AddPathBox (6 * p, 9 * p, p2 + p8, p2) FillPath () ; lines MovePathCursor( 7 * p, 6 * p) AddPathLine (12 * p, 6 * p) StrokePath (p16) VectorSourceColor(color1) MovePathCursor( 7 * p, 17 * p) AddPathLine (12 * p, 17 * p) MovePathCursor( 7 * p, 21 * p) AddPathLine (12 * p, 21 * p) MovePathCursor( 7 * p, 13 * p) AddPathLine (12 * p, 13 * p) StrokePath (p16) ; arrow VectorSourceColor(color1) MovePathCursor (p2 + p8, p2) AddPathLine (p2 + p8, size - p4 -p) StrokePath (p8) MovePathCursor (p2 - p16, p2 + p) AddPathLine (p2 + p8, p * 10) AddPathLine (p2 + p4 + p16, p2 + p) ClosePath () FillPath () StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure ;- Procedure.i ChartLine(img.i, size.i, color1.i, color2.i, color3.i, color4.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color4 VectorSourceColor(color4) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;lines VectorSourceColor(color2) MovePathCursor(p8, p2) AddPathLine (p4, p * 7) AddPathLine (p2, p * 15) AddPathLine (p2 + p4, p * 8) AddPathLine (size, p * 22) StrokePath (Round(p, #PB_Round_Up)) VectorSourceColor(color3) MovePathCursor(p8, p * 18) AddPathLine (p4, p * 22) AddPathLine (p2, p * 19) AddPathLine (p2 + p4, p * 24) AddPathLine (size, p * 12) StrokePath (Round(p, #PB_Round_Up)) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartDot(img.i, size.i, color1.i, color2.i, color3.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color3 VectorSourceColor(color3) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;dots VectorSourceColor(color2) AddPathCircle (p8, p2, p16) AddPathCircle (p4, p * 7, p16) AddPathCircle (p2, p * 15, p16) AddPathCircle (p2 + p4, p * 8, p16) AddPathCircle (size - p16, p * 22, p16) FillPath () StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartBarVert(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;bars ChartBars(0.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartCylVert(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;cylinders ChartCylBars(0.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartPie(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ;border If color5 VectorSourceColor(color5) AddPathBox(0, 0, size, size) FillPath() EndIf TranslateCoordinates(0, -p16); little (lazy) pos-correction ;rand MovePathCursor (size - p16, p2) AddPathEllipse (p2, p2 + p8, p2 - p16, p2 - p4, 0, 90, #PB_Path_Connected) AddPathLine (p2, p2 + p4) ClosePath() VectorSourceColor(Color_Darken(color3, 0.75)) FillPath(#PB_Path_Preserve) VectorSourceColor(Color_Darken(color1, 0.5)) StrokePath (p) MovePathCursor (p2, p2 + p4) AddPathEllipse (p2, p2 + p8, p2 - p16, p2 - p4, 90, 180, #PB_Path_Connected) AddPathLine (p16, p2) ClosePath() VectorSourceColor(Color_Darken(color4, 0.75)) FillPath(#PB_Path_Preserve) VectorSourceColor(Color_Darken(color1, 0.5)) StrokePath (p) ;pieces MovePathCursor (p2, p2) AddPathEllipse (p2, p2, p2 - p16, p2 - p4, 210, 330, #PB_Path_Connected) VectorSourceColor(color2) ClosePath () FillPath(#PB_Path_Preserve) VectorSourceColor(Color_Darken(color1, 0.5)) StrokePath (p) MovePathCursor (p2, p2) AddPathEllipse (p2, p2, p2 - p16, p2 - p4, 330, 90, #PB_Path_Connected) VectorSourceColor(color3) ClosePath () FillPath(#PB_Path_Preserve) VectorSourceColor(Color_Darken(color1, 0.5)) StrokePath (p) MovePathCursor (p2, p2) AddPathEllipse (p2, p2, p2 - p16, p2 - p4, 90, 210, #PB_Path_Connected) VectorSourceColor(color4) ClosePath () FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color1, 0.5)) StrokePath (p) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure ;- ;-procedures new ... Procedure.i ChartLineDot(img.i, size.i, color1.i, color2.i, color3.i, color4.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color4 VectorSourceColor(color4) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;lines VectorSourceColor(color2) MovePathCursor(p8, p2) AddPathLine (p4, p * 7) AddPathLine (p2, p * 15) AddPathLine (p2 + p4, p * 8) AddPathLine (size - p16, p * 22) StrokePath (Round(p, #PB_Round_Up)) AddPathCircle (p8, p2, p16) AddPathCircle (p4, p * 7, p16) AddPathCircle (p2, p * 15, p16) AddPathCircle (p2 + p4, p * 8, p16) AddPathCircle (size - p16, p * 22, p16) FillPath () VectorSourceColor(color3) MovePathCursor(p8, p2 + p4) AddPathLine (p4, p * 19) AddPathLine (p2, p * 20) AddPathLine (p2 + p4, p * 24) AddPathLine (size - p16, p * 12) StrokePath (Round(p, #PB_Round_Up)) AddPathCircle (p8, p2 + p4, p16) AddPathCircle (p4, p * 19, p16) AddPathCircle (p2, p * 20, p16) AddPathCircle (p2 + p4, p * 24, p16) AddPathCircle (size - p16, p * 12, p16) FillPath () StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartBarHor(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;bars ChartBars(90.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartBarVertStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;bars ChartBarsStacked(0.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartBarHorStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;bars ChartBarsStacked(90.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartCylHor(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;cylinders ChartCylBars(90.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartCylVertStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;cylinders ChartCylBarsStacked(0.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartCylHorStacked(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;cylinders ChartCylBarsStacked(90.0) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartArea(img.i, size.i, color1.i, color2.i, color3.i, color4.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color4 VectorSourceColor(color4) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;lines VectorSourceColor(color2) MovePathCursor(p8, p * 18) AddPathLine (p4, p * 22) AddPathLine (p2, p * 19) AddPathLine (p2 + p4, p * 24) AddPathLine (size, p * 22) AddPathLine (size, size - p16 - p) AddPathLine (p8, size - p16 - p) ClosePath () FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color2, 0.5)) StrokePath (1) VectorSourceColor(color3) MovePathCursor(p8, p2) AddPathLine (p4, p * 7) AddPathLine (p2, p * 15) AddPathLine (p2 + p4, p * 8) AddPathLine (size, p * 12) AddPathLine (size, p * 22) AddPathLine (p2 + p4, p * 24) AddPathLine (p2, p * 19) AddPathLine (p4, p * 22) AddPathLine (p8, p * 18); ClosePath () FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color3, 0.5)) StrokePath (1) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartAreaPerc(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color5 VectorSourceColor(color5) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;lines VectorSourceColor(color2) MovePathCursor(p8, p * 18) AddPathLine (p4, p * 22) AddPathLine (p2, p * 19) AddPathLine (p2 + p4, p * 24) AddPathLine (size, p * 22) AddPathLine (size, size - p16 - p) AddPathLine (p8, size - p16 - p) ClosePath () FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color2, 0.5)) StrokePath (1) VectorSourceColor(color3) MovePathCursor(p8, p2) AddPathLine (p4, p * 7) AddPathLine (p2, p * 15) AddPathLine (p2 + p4, p * 8) AddPathLine (size, p * 12) AddPathLine (size, p * 22) AddPathLine (p2 + p4, p * 24) AddPathLine (p2, p * 19) AddPathLine (p4, p * 22) AddPathLine (p8, p * 18) ClosePath () FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color3, 0.5)) StrokePath (1) VectorSourceColor(color4) MovePathCursor(p8, p16) AddPathLine (size, p16) AddPathLine (size, p * 12) AddPathLine (p2 + p4, p * 8) AddPathLine (p2, p * 15) AddPathLine (p4, p * 7) AddPathLine (p8, p2) ClosePath () FillPath (#PB_Path_Preserve) VectorSourceColor(Color_Darken(color4, 0.5)) StrokePath (1) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure Procedure.i ChartPrice(img.i, size.i, color1.i, color2.i, color3.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected i.i, ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p12 = p * 6 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret If color3 VectorSourceColor(color3) AddPathBox(1, 0, size - 1, size - 1) FillPath() EndIf ;scale ChartScale() ;dots VectorSourceColor(color2) MovePathCursor (p4, p2 - p12) AddPathLine (p4, p2 + p12) MovePathCursor (p4, p2) AddPathLine (p4 + p8, p2) StrokePath (1) VectorSourceColor(color2) MovePathCursor (p2, p * 22 - p8) AddPathLine (p2, p * 22 + p8) MovePathCursor (p2, p * 22) AddPathLine (p2 + p8, p * 22) StrokePath (1) VectorSourceColor(color2) MovePathCursor (p2 + p4, p * 12 - p12) AddPathLine (p2 + p4, p * 12 + p12) MovePathCursor (p2 + p4, p * 12) AddPathLine (p2 + p4 + p8, p * 12) StrokePath (1) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure ;-Windows bug - only for demo ... Procedure.i ChartRing(img.i, size.i, color1.i, color2.i, color3.i, color4.i, color5.i= 0) ; in : img : number of the image which is to be created, or #PB_Any ; size : width and height (number of pixels) ; color1: foreground color #1 ; color2: foreground color #2 ; out: return value: if img = #Pb_Any => number of the created image, ; error => 0 ; [org. by Omi] Protected ret.i Protected p.d = size / 32 Protected p16 = size / 16 Protected p8 = size / 8 Protected p4 = size / 4 Protected p2 = size / 2 ret = StartVectorIconOutput(img, size) If ret ;border If color5 VectorSourceColor(color5) AddPathBox(0, 0, size, size) FillPath() EndIf TranslateCoordinates(0, -p) ;rand MovePathCursor (size - p16 + p / 3, p2 + p) AddPathEllipse (p2, p2 + p8, p2 - p16, p2 - p4 + p, 0, 90, #PB_Path_Connected) AddPathLine (p2, p2 + p4) ClosePath() VectorSourceColor(Color_Darken(color3, 0.6)) FillPath(#PB_Path_Preserve) StrokePath (p) CompilerIf #PB_Compiler_OS = #PB_OS_Windows ;wait on bugfix CompilerElse MovePathCursor (p2 - p / 2, p2 + p4) AddPathEllipse (p2, p2 + p8, p2 - p16, p2 - p4 + p, 92, 180, #PB_Path_Connected) AddPathLine (p16 - p/3, p2 + p) ClosePath() VectorSourceColor(Color_Darken(color4, 0.6)) FillPath(#PB_Path_Preserve) StrokePath (p) CompilerEndIf MovePathCursor (p2 - p * 9, p2 - p4) AddPathEllipse (p2, p2 + p4 - p, p2 - p16, p2 - p4 + p, 230, 310, #PB_Path_Connected) AddPathLine (p2 + p * 9, p2 - p4) ClosePath() VectorSourceColor(Color_Darken(color2, 0.6)) FillPath(#PB_Path_Preserve) StrokePath (p) ;pieces AddPathEllipse (p2, p2 - p, p2 - p8, p4 - p, 210, 330); windows bug:, 196, 344) VectorSourceColor(color2) StrokePath (p8+p16) AddPathEllipse (p2, p2 - p, p2 - p8, p4 - p, 330, 90); windows bug:, 344, 90) VectorSourceColor(color3) StrokePath (p8+p16) AddPathEllipse (p2, p2 - p, p2 - p8, p4 - p, 90, 210); windows bug:, 90, 196 VectorSourceColor(color4) StrokePath (p8+p16) ;lines VectorSourceColor(Color_Darken(color1, 0.5)) MovePathCursor (size - p * 3, p2 - p * 6) AddPathLine (size - p * 8, p2 - p * 3) AddPathLine (0, p * 3, #PB_Path_Relative) StrokePath (p) MovePathCursor (p * 3, p2 - p * 6) AddPathLine (p * 8, p2 - p * 3) AddPathLine (0, p * 3, #PB_Path_Relative) StrokePath (p) MovePathCursor (p2, p2 + p * 3 ) AddPathLine (p2, p2 + p / 2 * 26) StrokePath (p) StopVectorDrawing() EndIf ProcedureReturn ret EndProcedure ;- ;-calls moded colored ... NewElement(imgEnabled(), ChartLineDot (#PB_Any, size, #CSS_Black, #CSS_DarkOrange, #CSS_Blue, #CSS_White)) NewElement(imgEnabled(), ChartBarVert (#PB_Any, size, #CSS_Black, #CSS_DarkOrange, #CSS_Yellow, #CSS_LightSkyBlue, #CSS_White)) NewElement(imgEnabled(), ChartCylVert (#PB_Any, size, #CSS_Black, #CSS_Lime, #CSS_Yellow, #CSS_LightSkyBlue, #CSS_White)) NewElement(imgEnabled(), ChartPie (#PB_Any, size, #CSS_DarkGray, #CSS_DarkOrange, #CSS_Yellow, #CSS_CornflowerBlue, #CSS_White)) NewElement(imgEnabled(), Open3(#PB_Any, size, #CSS_GoldenRod, #CSS_Sienna)) ;-calls new colored ... NewElement(imgEnabled(), ChartLineDot (#PB_Any, size, #CSS_Black, #CSS_DarkOrange, #CSS_Blue, #CSS_White)) NewElement(imgEnabled(), ChartBarHor (#PB_Any, size, #CSS_Black, #CSS_DarkOrange, #CSS_Yellow, #CSS_LightSkyBlue, #CSS_White)) NewElement(imgEnabled(), ChartBarVertStacked (#PB_Any, size, #CSS_Black, #CSS_LimeGreen, #CSS_DarkOrange, #CSS_RoyalBlue, #CSS_White)) NewElement(imgEnabled(), ChartBarHorStacked (#PB_Any, size, #CSS_Black, #CSS_LimeGreen, #CSS_DarkOrange, #CSS_RoyalBlue, #CSS_White)) NewElement(imgEnabled(), ChartCylHor (#PB_Any, size, #CSS_Black, #CSS_Lime, #CSS_Yellow, #CSS_LightSkyBlue, #CSS_White)) NewElement(imgEnabled(), ChartCylVertStacked (#PB_Any, size, #CSS_Black, #CSS_Lime, #CSS_Yellow, #CSS_LightSkyBlue, #CSS_White)) NewElement(imgEnabled(), ChartCylHorStacked (#PB_Any, size, #CSS_Black, #CSS_Lime, #CSS_Yellow, #CSS_LightSkyBlue, #CSS_White)) NewElement(imgEnabled(), ChartArea (#PB_Any, size, #CSS_Black, #CSS_Yellow, #CSS_DodgerBlue)) NewElement(imgEnabled(), ChartAreaPerc (#PB_Any, size, #CSS_Black, #CSS_DodgerBlue, #CSS_Yellow, #CSS_DarkOrange)) NewElement(imgEnabled(), ChartPrice (#PB_Any, size, #CSS_Black, #CSS_Blue, #CSS_White)) NewElement(imgEnabled(), ChartRing (#PB_Any, size, #CSS_DarkGray, #CSS_DarkOrange, #CSS_Yellow, #CSS_CornflowerBlue, #CSS_White)) NewElement(imgEnabled(), FirstAid_Convex(#PB_Any, size, #CSS_White, #CSS_OrangeRed)) NewElement(imgEnabled(), NoEntry_Convex(#PB_Any, size, #CSS_White, #CSS_OrangeRed)) NewElement(imgEnabled(), Stop3_Convex(#PB_Any, size, #CSS_White, #CSS_OrangeRed)) NewElement(imgEnabled(), Download2_Convex(#PB_Any, size, #CSS_White, #CSS_LimeGreen)) ;- calls new greyed ... NewElement(imgDisabled(), ChartLineDot (#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartBarHor (#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartBarHorStacked(#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartCylVert (#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartCylHor (#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartCylVertStacked(#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartCylHorStacked(#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartArea (#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartAreaPerc (#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), ChartPrice (#PB_Any, size, #CSS_DimGrey, #CSS_DarkGrey)) NewElement(imgDisabled(), ChartRing (#PB_Any, size, #CSS_DimGrey, #CSS_Silver, #CSS_Silver, #CSS_Silver)) NewElement(imgDisabled(), FirstAid_Convex(#PB_Any, size, #CSS_WhiteSmoke, #CSS_Silver)) NewElement(imgDisabled(), NoEntry_Convex(#PB_Any, size, #CSS_WhiteSmoke, #CSS_Silver)) NewElement(imgDisabled(), Stop3_Convex(#PB_Any, size, #CSS_WhiteSmoke, #CSS_Silver)) NewElement(imgDisabled(), Download2_Convex(#PB_Any, size, #CSS_WhiteSmoke, #CSS_Silver)) ; IDE Options = PureBasic 5.42 LTS (Linux - x86) ; CursorPosition = 12 ; Folding = ------ ; EnableUnicode ; EnableXP