New V7 Charting Features for .NET, ActiveX, MFC Library, VCL
Introducing v7...
I. Speed Improvements:
We investigated every bottle neck we've heard of, then implemented quality solutions to address them.
- GdiPlus renders significantly faster. For current users, if not using GdiPlus, try it with v7 and set AntiAliasGraphics=True and AntiAliasText = True.
- Built-in automatic data reduction makes handling large data sets unbelievably fast. Optimization for 2D, 3D, 2D contours, and Polar/Smith charts. Optimization is per plotting method. This is a large internal feature and there's nothing like it in any 3rd party product. Our demo example 123 now shows 1 million points. It also shows our new ZoomWindow feature. For most plots you won't be able to recognize any difference in how your charts look. Filtering is enabled by default. See Filter2D and SequentialDataX. Use v7 and your charts are inherently faster. v6's feature PEpartialresetimage, demo example 020, is now un-necessary.
- New RenderEngine = PERE_GDI_TURBO, its old-school GDI rendering but much faster and optimized for 2D scatter plots with large data sets. Data reduction of 2D linear and bar type plots can achieve pixel accuracty. But random scatters are best not to reduce the data too much. ProEssentials logic does take a random controllable sampling to achieve faster scatter plotting. Combining a slight amount of data reduction with our new PERE_GDI_TURBO mode will plot large amounts of scatter data many magnitudes faster than anything available and achieve near pixel accuracy as if plotting all data.
- Any 3D data reduction is generally not going to be pixel accurate. But it's close enough that most users will not be able to recognize any loss of information. Outliers are always plotted and you can choose how much filtering is used. The Filter3D setting controls the level of filtering.
II. Visual Improvements:
- GdiPlus is now our primary target whereas with v6 and earlier we wanted to maintain WMF support. With v7 WMF support is no longer fully supported for all features. Developers may want to set the AllowWmfExport feature to False.
- All plotting routines were rewritten to take full advantage of GdiPlus anti-aliased graphics. Be sure to use AntiAliasGraphics and AntiAliasText set to True.
- We added gradient fill features for everything, at multiple levels: per plotting method, per subset, and per annotation. Example 000 and 100 show some setting at top of code. See below for new features.
- We added bevel and lighting effects on top of gradient effects. Bars, Areas, new SplineAreas, Rect and Polygon Graph Annotations, and TableAnnotations supported.
- Bar and Candlestick charts now have a new optional glass effect. Example 000, 030, and 100 enable this feature.
- Pie charts add new gradient and lighting effects as well as rewritten to render best for GdiPlus and anti-aliased graphics. Example 300 and 301 demo.
- Improved datapoint and marker point sizes allowing minimum and maximum range. New MaximumPointSize, MaximumMarkerSize, MaximumSymbolSize
- Pego and Pesgo add grid banding and more subtle grid line coloring options. This is on by default, see GridBands, GridBandsAlpha, GridLineAlpha below. To show a chart in legacy form, set new features GridBold = True and GridBands = False.
III. Functional Improvements:
- Pego, Pesgo, and Pepco now update immediately upon using scrollbars. We also added MouseDraggingX and MouseDraggingY features where the middle mouse button grabs zoomed charts.
- Pego and Pesgo now include a full-featured zoom-window that shows all data below a zoomed chart. Annotations and hot-spots supported. The level of robustness is sure to allow elaborate charting based user interfaces. We added new per annotation type properties GraphAnnotationZoom, HorzLineAnnotationZoom, VertLineAnnotationZoom, and XAxisAnnotationZoom. Allowing annotations to be GRAPH_ONLY, GRAPH_AND_ZOOMWINDOW, or ZOOMWINDOW_ONLY. Related are AllowGraphAnnotHotSpot and per annotation GraphAnnotationHotSpot (and other annotations types) which were expanded to provide similar control of potential hot spot locations.
- Pego and Pesgo adds Spline Area and Spline Ribbon plotting methods.
- Pesgo adds the stacked type plotting methods.
- Basic Polar/Smith charts now support more than one zoom level. See ZoomingLimited
- 3D charts can now have different sized axes. See GridAspectX, GridAspectY, GridAspectZ below
- GraphAnnotations add angled text, horizontal/vertical regions, and solid arrows. Example 015 adds angled text, example 101 shows a vertical region.
Simple List of What's New...
All Object.PeAnnotation.Table.GradientColor
Gets or Sets the table annotation gradient starting color if GradientStyle non zero. Default is White and usually not needing adjusting. Useful to produce darker charts.
#define PEP_dwTAGRADIENTCOLOR 1918
All Object.PeAnnotation.Table.GradientStyle
Gets or sets the table annotation background gradient style. Set with items from Enums.PlotGradientStyle
#define PEP_nTAGRADIENTSTYLE 1919 // takes a PEPGS_ constant
All Object.PeAnnotation.Table.BevelStyle
Gets or sets the table annotation background bevel style. Set with items from Enums.BevelStyle
#define PEP_nTABEVELSTYLE 1920 // takes a PEBS_ constant
All Object.PeAnnotation.Table.GradientBoundary
Gets or sets the table annotations background gradient boundary. Set with items from Enums.GradientBoundary
#define PEP_nTAGRADIENTBOUNDARY 1921 // takes a PEGB_ constant
All Object.PeAnnotation.Table.BevelLighting
Gets or sets the table annotation background bevel lighting. Set with items from Enums.BevelLighting
#define PEP_nTABEVELLIGHTING 1922 // takes a PEEL_constant
Pego/Pesgo/Pepso/Pe3do.PeAnnotation.Graph.GradientColor
Gets and Sets graph annotation gradient start color. Default is White and usually not needing adjusting. Useful to produce darker charts.
#define PEP_dwaGRAPHANNOTATIONGRADIENTCOLOR 1917
Pego/Pesgo/Pepso/Pe3do.PeAnnotation.Graph.GradientStyle
Gets and Sets graph annotation gradient styles. Set with items from Enums.PlotGradientStyle
#define PEP_naGRAPHANNOTATIONGRADIENTSTYLE 1913 // takes a PEPGS_ constant
Pego/Pesgo/Pepso/Pe3do.PeAnnotation.Graph.BevelStyle
Gets and Sets graph annotation bevel styles. Set with items from Enums.BevelStyle
#define PEP_naGRAPHANNOTATIONBEVELSTYLE 1914 // takes a PEBS_ constant
Pego/Pesgo/Pepso/Pe3do.PeAnnotation.Graph.GradientBoundary
Gets and Sets graph annotation gradient boundary. Set with items from Enums.GradientBoundary
#define PEP_naGRAPHANNOTATIONGRADIENTBOUNDARY 1915 // takes a PEGB_ constant
Pego/Pesgo/Pepso/Pe3do.PeAnnotation.Graph.BevelLighting
Gets and Sets graph annotation bevel lighting. Set with items from Enums.BevelLighting
#define PEP_naGRAPHANNOTATIONBEVELLIGHTING 1916 // takes a PEEL_constant
Pego/Pesgo.PePlot.Option.SubsetGradientStyle
Gets and Sets per subset gradient style. Set to items included within ProEssentials.Enums.PlotGradientStyle.
#define PEP_naSUBSETGRADIENTSTYLE 1911 // takes a PEPGS_ constant
Pego/Pesgo.PePlot.Option.SubsetGradientBoundary
Gets and Sets per subset gradient style boundary. Set to items included within ProEssentials.Enums.GradientBoundary.
#define PEP_naSUBSETGRADIENTBOUNDARY 1912 // takes a PEGB_ constant
Pego/Pesgo.PePlot.Option.SpecificPlotModeBorder
Default 4 pixels, with no gradient, if candle/high-low-bar is greater than this width, a border is drawn on candle portion.
#define PEP_nSPECIFICPLOTMODEBORDER 3459
Pego/Pesgo.PePlot.Option.SpecificPlotModeGradient
Gets or Sets the gradient style for candlestick and high-low bar plotting methods.
#define PEP_nSPECIFICPLOTMODEGRADIENT 3458
Gigasoft.ProEssentials.Enums.SpecificPlotModeGradient
#define PESPMG_NONE 0 // no gradient
#define PESPMG_BAR 1 // bar-gradient effect
#define PESPMG_GLASS 2 // glass effect
Pego/Pesgo.PePlot.Option.BevelLimit
Related to area, bar, spline bevels, defines the lower threshold where bevel is no longer drawn if attempted width
is less than defined, default = 3 pixels.
#define PEP_nBEVELLIMIT 3457
Pego/Pesgo.PePlot.Option.AreaBevelLighting
Gets or Sets the bevel lighting style for area plotting methods if AreaBevelStyle is non zero.
#define PEP_nAREABEVELLIGHTING 3453 // takes a PEEL_ constant
Pego/Pesgo.PePlot.Option.AreaStackedBevelLighting
Gets or Sets the bevel lighting style for area stacked plotting methods if AreaStackedBevelStyle is non zero.
#define PEP_nAREASTACKEDBEVELLIGHTING 3455
Pego/Pesgo.PePlot.Option.BarBevelLighting
Gets or Sets the bevel lighting style for bar plotting methods if BarBevelStyle is non zero.
#define PEP_nBARBEVELLIGHTING 3456
Pego/Pesgo.PePlot.Option.SplineBevelLighting
Gets or Sets the bevel lighting style for spline plotting methods if SplineBevelStyle is non zero.
#define PEP_nSPLINEBEVELLIGHTING 3454
Gigasoft.ProEssentials.Enums.BevelLighting
#define PEEL_HIGH_LOW_LIGHTS 0
#define PEEL_BRIGHT_LIGHT 1
#define PEEL_MEDIUM_LOW_LIGHTS 2
Pego/Pesgo.PePlot.Option.BarGradientBoundary
Gets or Sets the boundary of gradient for bar plotting methods.
#define PEP_nBARGRADIENTBOUNDARY 3451 // takes a PEGB_ constant
Pego/Pesgo.PePlot.Option.AreaGradientBoundary
Gets or Sets the boundary of gradient for area plotting methods.
#define PEP_nAREAGRADIENTBOUNDARY 3446 // takes a PEGB_ constant
Pego/Pesgo.PePlot.Option.SplineGradientBoundary
Gets or Sets the boundary of gradient for spline plotting methods.
#define PEP_nSPLINEGRADIENTBOUNDARY 3447 // takes a PEGB_ constant
Pego/Pesgo.PePlot.Option.AreaStackedGradientBoundary
Gets or Sets the boundary of gradient for area stacked plotting methods.
#define PEP_nAREASTACKEDGRADIENTBOUNDARY 3448 // takes a PEGB_ constant
Gigasoft.ProEssentials.Enums.GradientBoundary
#define PEGB_DATA 0 // gradient size is based of data bounds
#define PEGB_AXIS 1 // gradient size is based of axis containing data.
Pego/Pesgo.PePlot.Option.BarGlassEffect
Set true for bars to have an additional glass effect.
#define PEP_bBARGLASSEFFECT 3452
Pego/Pesgo.PePlot.Option.BarGradientStyle
Gets or Sets the gradient style for bar plotting methods.
#define PEP_nBARGRADIENTSTYLE 3449 // takes a PEPGS_ constant
Pego/Pesgo.PePlot.Option.BarBevelStyle
Gets or Sets the bevel style for bar plotting methods.
#define PEP_nBARBEVELSTYLE 3450 // takes a PEBS_ constant
Pego/Pesgo.PePlot.Option.AreaStackedGradientStyle
Gets or Sets the gradient style for area stacked plotting methods.
#define PEP_nAREASTACKEDGRADIENTSTYLE 3444 // takes a PEPGS_ constant
Pego/Pesgo.PePlot.Option.AreaStackedBevelStyle
Gets or Sets the bevel style for area stacked plotting methods.
#define PEP_nAREASTACKEDBEVELSTYLE 3445 // takes a PEBS_ constant
Pego/Pesgo.PePlot.Option.AreaGradientStyle
Gets or Sets the gradient style for area plotting methods.
#define PEP_nAREAGRADIENTSTYLE 3443 // takes a PEPGS_ constant
Pego/Pesgo.PePlot.Option.AreaBevelStyle
Gets or Sets the bevel style for area plotting methods.
#define PEP_nAREABEVELSTYLE 3442 // takes a PEBS_ constant
Gigasoft.ProEssentials.Enums.BevelStyle
#define PEBS_NONE 0
#define PEBS_THICK_SMOOTH 1
#define PEBS_MEDIUM_SMOOTH 2
#define PEBS_THIN_SMOOTH 3
#define PEBS_THICK_BEVEL 4
#define PEBS_MEDIUM_BEVEL 5
#define PEBS_THIN_BEVEL 6
Pego/Pesgo.PePlot.Option.SubsetGradientStartColor
Default is empty, but can be used to define per subset gradient start colors. Only used if gradients are defined via AreaGradientStyle, BarGradientStyle, SplineGradientStyle.
#define PEP_dwaSUBSETGRADIENTSTARTCOLOR 1910
Pego/Pesgo.PePlot.Option.SplineGradientStyle
Gets or Sets the gradient style for spline plotting methods.
#define PEP_nSPLINEGRADIENTSTYLE 3440 // takes a PEPGS_ constant
Gigasoft.ProEssentials.Enums.PlotGradientStyle
#define PEPGS_NONE 0
#define PEPGS_VERTICAL 1
#define PEPGS_VERTICAL_ASCENT 2
#define PEPGS_HORIZONTAL_RIGHT 3
#define PEPGS_HORIZONTAL_LEFT 4
#define PEPGS_LINEAR_BAR_VERTICAL 5
#define PEPGS_LINEAR_BAR_HORIZONTAL 6
#define PEPGS_LINEAR_BAR_DOWN 7
#define PEPGS_LINEAR_BAR_UP 8
#define PEPGS_LINEAR_DIAGONAL_DOWN 9
#define PEPGS_LINEAR_DIAGONAL_UP 10
#define PEPGS_RECTANGLE_CROSS 11
#define PEPGS_RADIAL_CENTERED 12
#define PEPGS_RADIAL_BOTTOM_RIGHT 13
#define PEPGS_RADIAL_TOP_RIGHT 14
#define PEPGS_RADIAL_BOTTOM_LEFT 15
#define PEPGS_RADIAL_TOP_LEFT 16
Pego/Pesgo.PePlot.Option.SplineBevelStyle
Gets or Sets the bevel style for spline plotting methods.
#define PEP_nSPLINEBEVELSTYLE 3441 // takes a PESBS_ constant
Gigasoft.ProEssentials.Enums.SplineBevelStyle
#define PESBS_NONE 0
#define PESBS_THICK_SMOOTH 1
#define PESBS_MEDIUM_SMOOTH 2
#define PESBS_THIN_SMOOTH 3
Pesgo.PePlot.Option.BubbleSizeFormulaArea
Controls how bubble sizes are determined. True=size bubbles based off area formula, False=size based off diameter.
#define PEP_bBUBBLESIZEFORMULAAREA 3438
Pesgo.PePlot.Option.BubbleGradientStyle
Gets and Sets the gradient style of bubbles when Plot.Method is set to Bubble.
#define PEP_nBUBBLEGRADIENTSTYLE 3439
Gigasoft.ProEssentials.Enums.BubbleGradientStyle
#define PEBGS_NONE 0
#define PEBGS_RADIAL 1
#define PEBGS_BEVELED 2
// New Plotting Methods
#define PEGPM_SPLINEAREA 35 // RenderEngine = 2 only, see PlottingMethod, and PlottingMethods
#define PEGPM_SPLINERIBBON 36 // RenderEngine = 2 only
Pego/Pesgo.PePlot.Allow.SplineArea
Gets and Sets whether user has ability of selecting the Spline Area plotting method within the customization dialog and popup menu.
#define PEP_bALLOWSPLINEAREA 3435
Pego/Pesgo.PePlot.Allow.SplineRibbon
Gets and Sets whether user has ability of selecting the Spline Ribbon plotting method within the customization dialog and popup menu.
#define PEP_bALLOWSPLINERIBBON 3437
Pepco.PePlot.GradientStyle
Gets or Sets the style of pie gradient. RenderEngine must be GdiPlus to enable.
#define PEP_nPIEGRADIENTSTYLE 1906
Gigasoft.ProEssentials.Enums.PieGradientStyle
#define PEPGS_CURVED 0
#define PEPGS_BEVELED_INSET 1
#define PEPGS_BEVELED_HIGHLIGHT 2
Pepco.PeUserInterface.Menu.GradientStyle
Gets and Sets whether the Gradient Style menu is visible.
#define PEP_nPIEGRADIENTSTYLEMENU 1907
Pego/Pesgo.PeUserInterface.Menu.GridBold
Gets and Sets whether the Grid Bold menu is visible.
#define PEP_nGRIDBOLDMENU 1908
Pego/Pesgo.PeUserInterface.Menu.GridBands
Gets and Sets whether the Grid Bands menu is visible.
#define PEP_nGRIDBANDSMENU 1909
Pego/Pesgo.PeColor.GridBands
True if bands are to be shown. Related to GridBandsApha and GridBandsColor
#define PEP_bGRIDBANDS 3436
Pego/Pesgo.PeColor.GridBandsAlpha
Gets or Sets alpha value for grid bands.. Default=10. Will simulate an alpha if RenderEngine not GdiPlus and BitmapGradientMode=false. Smaller number = lines less noticable.
#define PEP_nGRIDBANDSALPHA 3342
Pego/Pesgo.PeColor.GridBandsColor
Gets or Sets color of grid bands. Default is Empty, meaning use a smart alpha of background for color, but if defined will show in any color.
#define PEP_dwGRIDBANDSCOLOR 3346
Pego/Pesgo/Pepso/Pe3do.PeColor.GridBold
Set True to show grid colors as legacy style, no alpha via GridLineAlpha.
#define PEP_bGRIDBOLD 1923
Pego/Pesgo/Pepso/Pe3do.PeColor.GridLineAlpha
Gets or Sets alpha value for grid lines when GridBold=False and GridLineColor=1. Default=55. Will simulate an alpha if RenderEngine not GdiPlus and BitmapGradientMode=false. Smaller number = lines less noticable.
#define PEP_nGRIDLINEALPHA 1904
Pego/Pesgo/Pepso/Pe3do.PeColor.GridLineColor
Gets or Sets color of all grid lines when GridBold=false. Default is 1, meaning use a smart alpha of background for color, but if defined will show in any color.
#define PEP_dwGRIDLINECOLOR 1905
Pego/Pesgo/Pepso.PePlot.Option.MaximumPointSize
This property enables and controls the size of the maximum point size. This property is helpful when using large charts and you want to maintain a maximum point size.
Similar to Minimum point size, settings 1,3 5, is 2, 6, 10 pixels, also we added medsmall and medlarge so pixel sizes are 2,4,6,8,10
#define PEP_nMAXIMUMPOINTSIZE 1901
Pego/Pesgo/Pepso/Pe3do.PeAnnotation.Graph.MaxSymbolSize
This property enables and controls the size of the maximum graph annotation symbol size. This property is helpful when using large charts and you want to maintain a maximum point size.
Similar to GraphAnnotationMinSymbolSize, settings 1,3 5, is 2, 6, 10 pixels, also we added medsmall and medlarge so pixel sizes are 2,4,6,8,10
#define PEP_nMAXIMUMSYMBOLSIZE 1902
Pego/Pesgo/Pepso.PePlot.Option.MaxMarkerSize
When using MarkDataPoints, this property controls the size of the maximum marker size. Default is enabled, So new v7 has smaller marker sizes for large charts.
#define PEP_nMAXIMUMMARKERSIZE 1903
All Objects.PeSpecial.PixelSizingThreshold
Default is 3300, represents likely max monitor size, triggers different logic if size of image is larger than this threshold, it assumes image is very high resolution.
#define PEP_nPIXELSIZINGTHRESHOLD 2056
// New CustomGridNumber event axis types.... 6,7,8
event argument nAxisType; // 0=Y, 1=RIGHT Y, 2=X, 3=TOP X, 4 =Extra X Axis, 5=Top Extra Axis, 6=SpecialTopDateLabels, 7=ZoomBottomXlabels, 8=ZoomSpecialTopDateLabels
// 3D Scientific Graph features to force an aspect of 3D bounding rectangle of 3d data. //
Pe3do.PeGrid.Option.GridAspectX
Allows control of size/shape of 3d charting volume. Controls size of x axis as relates to z axis. Default 1.0 For example, set to .5 if the x axis length should be half that of z.
#define PEP_fGRIDASPECTX 4062
Pe3do.PeGrid.Option.GridAspectY
Allows control of size/shape of 3d charting volume. Controls size of y axis as relates to z axis. Default 1.0 For example, set to .5 if the x axis length should be half that of z.
#define PEP_fGRIDASPECTY 4063 // For DLL, set with PEvset point to float 4 byte
Pe3do.PeGrid.Option.GridAspectZ
Allows control of size/shape of 3d charting volume. Controls size of z axis as relates to x axis. Default 1.0 For example, set to .5 if the z axis length should be half that of x
#define PEP_fGRIDASPECTZ 4064
// Graph, Scientific Graph, Pie //
Pego/Pesgo/Pepco.PeUserInterface.Scrollbar.DisableThumbTracking
Set true to disable new logic that performs immediate chart updates while dragging scrollbars.
#define PEP_bDISABLETHUMBTRACKING 2040
// Graph, Scientific Graph, 3D Scientific //
Pego/Pesgo/Pe3do.PeUserInterface.Scrollbar.MouseDraggingX
Gets or Sets whether user can click, grab and drag the chart via the mouse in horizontal direction. The horizontal scrollbar must be visible for this feature to function.
#define PEP_bMOUSEDRAGGINGX 2057 // new feature to allowing grabbing a zoomed chart and dragging it, like a pdf document, or google map.
Pego/Pesgo/Pe3do.PeUserInterface.Scrollbar.MouseDraggingY
Gets or Sets whether user can click, grab and drag the chart via the mouse in vertical direction. The vertical scrollbar must be visible for this feature to function. </summary>
#define PEP_bMOUSEDRAGGINGY 2058 // these control if dragging in x and/or y directions are enabled. A horz or vert scrollbar must be visible for this to work.
////////////////////////////////////////////////////////////////////////////////////////////////
// Graph and Scientific Graph Zoom Window Features //
Pego/Pesgo.PePlot.ZoomWindow.Show
Gets and Sets whether the ZoomWindow is visible upon zoomed charts.
#define PEP_bZOOMWINDOW 3356 // 0=disables, Non zero enables.
Pego/Pesgo.PePlot.ZoomWindow.SubsetsToShow
True or False if individual subsets should be visible in ZoomWindow. If this array is empty, all subsets display in Zoomwindow.
#define PEP_naZOOMWINDOWSUBSETSTOSHOW 3357 // 0 or 1 for a subset to show in lower zoom window, default empty, all subsets show
Pego/Pesgo.PePlot.ZoomWindow.PlottingMethods
Set with enum ZoomWindowPlottingMethods, controls the plotting style of individual subsets within the zoom window. If empty, subsets are plotted in their original plotting method.
#define PEP_naZOOMWINDOWPLOTTINGMETHODS 3358 // 0=Line, 1=Area, 2=Original same as main plotting area
#define PEZPM_LINE = 0
#define PEZPM_AREA = 1
#define PEZPM_ORIGINAL = 2
Pego/Pesgo.PePlot.ZoomWindow.Showing
Read only, gets whether zoom window is currently shown.
#define PEP_bZOOMWINDOWSHOWING 3385 // flag to know if zoomwindow is currently visible
Pego/Pesgo.PeFunction.GetRectZoomWindow()
Called to get pixel coordinates of the zoom window bounding axis.
#define PEP_rectZOOMWINDOW 3384 // much like PEP_rectAXIS, but for zoom window area
Pego/Pesgo.PePlot.ZoomWindow.Border
Gets or Sets the style of zoom window border. Default is BorderType where if any type of border exist for chart, a thin line
will surround zoom window. ThinLine=force line border. NoBorder=never show a border. Uses Enums.ZoomWindowBorder
#define PEP_nZOOMWINDOWBORDER 3382 // 0=BorderType(0), 1=ThinLine, 2=NoBorder
Pego/Pesgo.PePlot.ZoomWindow.ShadowLevel
Gets and Sets the zoom window shadow depth that denotes the active charting view. Default=100. Range 0 to 255. Larger numbers darken shadow. Only enabled when RenderEngine=GdiPlus.
#define PEP_nZOOMWINDOWSHADOWLEVEL 3383 // If RenderEngine = GdiPlus, the area outside of viewport is darkened, works like Google financial charts.
Pego/Pesgo.PePlot.ZoomWindow.InExports
Gets or Sets whether zoom window is drawn in exported images or during printing.
#define PEP_bZOOMWINDOWINEXPORTS 3374 // True to include zoom window in exports
Pego/Pesgo.PePlot.ZoomWindow.MarkDataPoints
Gets or Sets whether data points are highlighed with a dot within the zoom window.
#define PEP_bZOOMWINDOWMARKDATAPOINTS 3375 // True to mark data in zoom window
Pego/Pesgo.PePlot.ZoomWindow.DataShadows
Gets or Sets whether data shadows draw behind plotting methods within the zoom window.
#define PEP_bZOOMWINDOWDATASHADOWS 3378 // True if zoom window plottingmethods will include shadow
Pego/Pesgo.PePlot.ZoomWindow.ShowAnnotations
Gets or Sets whether annotations show within the zoom window.
#define PEP_bZOOMWINDOWSHOWANNOTATIONS 3379 // True to show annoations in ZoomWindow. Only those annotations designated for zoomwindow will show.
Pego/Pesgo.PeAnnotation.Graph.ZoomWindow
Gets and Sets potential zoom window location. Set using ProEssentials.Enums.AnnotationZoomWindow.
#define PEP_naGRAPHANNOTATIONZOOM 3388 // Takes a PEAZ_constant, Allows control if an annoation shows in zoomwindow
Pego/Pesgo.PeAnnotation.Line.YAxisZoomWindow
Gets and Sets y axis line annotation zoom window location. Set with ProEssentials.Enums.AnnotationZoomWindow.
#define PEP_naHORZLINEANNOTATIONZOOM 3390 // Takes a PEAZ_constant, Allows control if an annoation shows in zoomwindow
Pego/Pesgo.PeAnnotation.Line.XAxisZoomWindow
Gets and Sets x axis line annotation zoom window location. Set with ProEssentials.Enums.AnnotationZoomWindow.
#define PEP_naVERTLINEANNOTATIONZOOM 3389 // Takes a PEAZ_constant, Allows control if an annoation shows in zoomwindow
Pego/Pesgo.PeAnnotation.Axis.XZoomWindow
Gets or Sets the x axis annotation zoom window location. Type is Enums.AnnotationZoomWindow.
#define PEP_nXAXISANNOTATIONZOOM 3391 // Takes a PEAZ constant, controls all xaxisannotations if located in graph or zoomwindow, different from above which allow per annotation control.
Gigasoft.ProEssentials.Enums.AnnotationZoomWindow
#define PEAZ_GRAPH_ONLY 0
#define PEAZ_GRAPH_AND_ZOOMWINDOW 1
#define PEAZ_ZOOMWINDOW_ONLY 2
Pego/Pesgo.PePlot.ZoomWindow.DataHotSpots
Gets or Sets whether the zoom window will include data hot spots.
#define PEP_bZOOMWINDOWDATAHOTSPOTS 3392 // True if data hot spots are enabled within zoom window
// Expansion of v6 features related to annotation hotspots.
// v6 Used to be boolean, true or false, now these settings take an enumeration Enums.AnnotationHotSpot.
Pego/Pesgo.PeUserInterface.HotSpot.XAxisAnnotation
#define PEP_nALLOWXAXISANNOTHOTSPOTS 3231
Pego/Pesgo.PeUserInterface.HotSpot.GraphAnnotation
#define PEP_nALLOWGRAPHANNOTHOTSPOTS 3229
Pego/Pesgo.PeUserInterface.HotSpot.YAxisLineAnnotation
#define PEP_nALLOWHORZLINEANNOTHOTSPOTS 3233
Pego/Pesgo.PeUserInterface.HotSpot.XAxisLineAnnotation
#define PEP_nALLOWVERTLINEANNOTHOTSPOTS 3234
// Expansion of v6 features related to annotation hotspots.
// v6 Used to be boolean, true or false, now these settings take an enumeration Enums.AnnotationHotSpot.
Pego/Pesgo.PeAnnotation.Graph.HotSpot
#define PEP_naGRAPHANNOTATIONHOTSPOT 3089
Pego/Pesgo.PeUserInterface.HotSpot.YAxisLineAnnotations
#define PEP_naHORZLINEANNOTHOTSPOT 3138
Pego/Pesgo.PeUserInterface.HotSpot.XAxisLineAnnotations
#define PEP_naVERTLINEANNOTHOTSPOT 3139
Gigasoft.ProEssentials.Enums.AnnotationHotSpot
#define PEAHS_NO_HOT_SPOT 0
#define PEAHS_GRAPH_ONLY 1
#define PEAHS_GRAPH_AND_ZOOMWINDOW 2
#define PEAHS_ZOOMWINDOW_ONLY 3
Pego/Pesgo.PePlot.ZoomWindow.CustomColors
Gets or Sets whether zoom window uses specific coloring or adobts chart GraphForeColor, GraphBackColor and/or bitmaps gradients.
#define PEP_bZOOMWINDOWCUSTOMCOLORS 3376 // True to enable below color settings, else uses graph colors
Pego/Pesgo.PePlot.ZoomWindow.ForeColor
Gets or sets color of border, grid lines, and text within zoom window. ZoomWindowCustomColors must be True to enable this setting.
#define PEP_dwZOOMWINDOWFORECOLOR 3366 // similar to graphforecolor
Pego/Pesgo.PePlot.ZoomWindow.BackColor
Gets or sets color of background within zoom window. ZoomWindowCustomColors must be True to enable this setting.
#define PEP_dwZOOMWINDOWBACKCOLOR 3367 // similar to graphbackcolor
Pego/Pesgo.PePlot.ZoomWindow.GradientStyle
Gets or Sets the style of zoom window gradient. Zoom Window gradients are enabled only if
ZoomWindowCustomColors is True, PeColor.BitmapGradientMode is True, and ZoomWindowBackColor = Empty.
#define PEP_nZOOMWINDOWGRADIENTSTYLE 3371 // takes a PEGS_ constant
Pego/Pesgo.PePlot.ZoomWindow.GradientStart
Gets or sets start color of background gradient within zoom window. ZoomWindowCustomColors must be True and ZoomWindowGradientStyle non zero to enable this setting.
#define PEP_dwZOOMWINDOWGRADIENTSTART 3368 // start color
Pego/Pesgo.PePlot.ZoomWindow.GradientEnd
Gets or sets end color of background gradient within zoom window. ZoomWindowCustomColors must be True and ZoomWindowGradientStyle non zero to enable this setting.
#define PEP_dwZOOMWINDOWGRADIENTEND 3369 // end color
Pego/Pesgo.PePlot.ZoomWindow.BmpStyle
Gets or Sets the style of zoom window bitmap. Zoom Window bitmaps are enabled only if
ZoomWindowCustomColors is True, PeColor.BitmapGradientMode is True, and ZoomWindowBackColor = Empty.
#define PEP_nZOOMWINDOWBMPSTYLE 3372 // similar to graphbmpstyle
Pego/Pesgo.PePlot.ZoomWindow.BmpFilename
Gets or Sets filename used for the zoom window background bitmap. Bitmaps are enabled only if
PeColor.BitmapGradientMode is True, ZoomWindow.CustomColors is True, ZoomWindow.BackColor = Empty, and ZoomWindow.BmpStyle is non-zero.
#define PEP_szZOOMWINDOWBMPFILENAME 3373 // similar to graphbmpfilename
Pego/Pesgo.PePlot.ZoomWindow.BackgroundImage
Gets and Sets the Image used as background image for zoom window area. This property is only enabled if
PeColor.BitmapGradientMode is True, ZoomWindow.BackColor = Empty, and ZoomWindow.BmpStyle is non-zero.
This property or ZoomWindow.BmpFilename can be used to assign a bitmap. If both are assigned, this property takes precedence.
#define PEP_hZOOMWINDOWBMPHANDLE 3381
Pego/Pesgo.PePlot.ZoomWindow.Height
Gets and Sets height of zoomwindow as a proportion of total height. Default=.12 or 12%.
#define PEP_fZOOMWINDOWHEIGHT 3364 // height in fraction of control area that should be zoomwindow, default .12, set with PEvset pointing to float, not double
Pego/Pesgo.PePlot.ZoomWindow.FontSizeCntl
Gets and Sets adjustment to zoom window font sizes used in image. For enlarged fonts, increase from 1.0 to any value up to 1.5. For reduced font sizes, decrease from 1.0 to 0.5.
#define PEP_fZOOMWINDOWFONTSIZECNTL 3363 // similar to fontsizeglobalcntl, set with PEvset pointing to float, not double
Pego/Pesgo.PePlot.ZoomWindow.ShowXAxis
Gets and Sets whether the ZoomWindow x axis is visible.
#define PEP_bZOOMWINDOWSHOWXAXIS 3362 // if zoomwindow will show x axis, this is shown at top/inside of zoom window
Pego/Pesgo.PePlot.ZoomWindow.LabelHotSpots
Gets or Sets whether user has ability of clicking zoom window x axis label text.
#define PEP_bZOOMWINDOWLABELHOTSPOTS 3359 // if x axis in zoomwindow will be hot spots
Pego/Pesgo.PePlot.ZoomWindow.CustomGridNumbersX
Set this property to True to enable event driven x axis grid number formatting via CustomGridNumber event. Within the
CustomGridNumber event, the developer can set the e.NumberString argument which controls the text for the grid line.
#define PEP_bCUSTOMGRIDNUMBERSZOOMAXISX 3361 // enable custom grid number/event based formatting for x axis within zoom window
////////////////////////////////////////////////////////
// Polar Zooming Enhancments //
Pepso.PeGrid.Zoom.Limited
Gets or Sets whether polar/smith charts can be zoomed repeatedly (false, default) or limited (true) to one zoom.
#define PEP_bZOOMINGLIMITED 3808
Pepso.PeGrid.Zoom.MaxFactor
Gets or sets maxium amount of zoom. Default and recommended setting equals 10000 (or logical size of chart can be 10000 times size of currently zoomed selection rectangle.)
#define PEP_fZOOMMAXFACTOR 3809
Pepso.PeGrid.Zoom.WorkingFactor
Gets or sets current zoom factor or zoom level. Defined as ratio of logical size of chart compared to size of currently zoomed selection rectangle.
#define PEP_fWORKINGZOOMFACTOR 3810 // type double
Pepso.PeGrid.Zoom.OffsetPixelX
Gets or sets currently zoomed horizontal pixel offset within the logical coordinates defining virtual size/location of chart.
The logical size/location of zoomed chart is retrieved with PeFunction.GetRectAxis. GetRectGraph defines size/location of viewport in screen coordinates which
defines viewport within units from GetRectAxis.
#define PEP_nZOOMOFFSETPIXELX 3811
Pepso.PeGrid.Zoom.OffsetPixelY
Gets or sets currently zoomed vertical pixel offset within the logical coordinates defining virtual size/location of chart.
The logical size/location of zoomed chart is retrieved with PeFunction.GetRectAxis. GetRectGraph defines size/location of viewport in screen coordinates which
defines viewport within units from GetRectAxis.
#define PEP_nZOOMOFFSETPIXELY 3812
Pepso.PeGrid.Zoom.OffsetX
Gets or sets currently zoomed horizontal percent offset within the logical coordinates defining virtual size/location of chart.
Equal to PixelOffsetX / PeFunction.GetRectAxis.Width.
Mostly used to store and then later restore a current zoom state. In which case all zoom properties should be stored/restored, WorkingFactor,
OffsetPixelX/Y and OffsetX/Y.
#define PEP_fZOOMOFFSETX 3813
Pepso.PeGrid.Zoom.OffsetY
Gets or sets currently zoomed vertical percent offset within the logical coordinates defining virtual size/location of chart.
Equal to PixelOffsetX / PeFunction.GetRectAxis.Width.
Mostly used to store and then later restore a current zoom state. In which case all zoom properties should be stored/restored, WorkingFactor,
OffsetPixelX/Y and OffsetX/Y.
#define PEP_fZOOMOFFSETY 3814
Pego/Pesgo/Pepso.PeAnnotation.InFrontOfGrid
This property controls if annotations are drawn in-front (true) or behind (false) any grid lines.
#define PEP_bANNOTATIONSINFRONTOFGRID 3354 // new feature to control if graph annotations are infront or behind grid
All objects.PeUserInterface.Allow.TextExport
Gets or Sets ability to access text export features of export dialog.
#define PEP_bALLOWTEXTEXPORT 2038 // to remove option of exporting data from export dialog
Pego/Pesgo.PeGrid.Option.ForceGridLinesY
Gets and Sets whether y axis grid lines are forced visible or hidden. Mostly used to improve overlapped axis configurations.
type Gigasoft.ProEssentials.Enums.ForceGridLines
#define PEP_nFORCEGRIDLINESY 3333 // 0=disable force, 1 = force show, 2=force hide, Mostly added to hide grid lines in complex overlapping axis scenarios
Pego/Pesgo.PeGrid.Option.ForceGridLinesRY
Gets and Sets whether right y axis grid lines are forced visible or hidden. Mostly used to improve overlapped axis configurations.
type Gigasoft.ProEssentials.Enums.ForceGridLines
#define PEP_nFORCEGRIDLINESRY 3334
Pego/Pesgo.PeGrid.Option.ForceGridLinesX
Gets and Sets whether x axis grid lines are forced visible or hidden. Mostly used to improve overlapped axis configurations.
type Gigasoft.ProEssentials.Enums.ForceGridLines
#define PEP_nFORCEGRIDLINESX 3352
Pesgo.PeGrid.Option.ForceGridLinesTX
Gets and Sets whether top x axis grid lines are forced visible or hidden. Mostly used to improve overlapped axis configurations.
type Gigasoft.ProEssentials.Enums.ForceGridLines
#define PEP_nFORCEGRIDLINESTX 3353
Pego/Pesgo.PePlot.Option.AdjoinBars
Set True to force bar charts to draw bars with no gaps between bars. We mostly added this feature to draw colormap type charts.
Colormaps can be built with a stacked bar chart with many subsets, points and AdjoinBars = True.
#define PEP_bADJOINBARS 3341 // Used for Pesgo, but also for Pego, quick way to cause bars to always adjoin.
// Data Filtering Features //
Gigasoft.ProEssentials.Enums.SequentialData
Auto = 0,
Always = 1,
Never = 2,
PESD_AUTO 0
PESD_ALWAYS 1
PESD_NEVER 2
Pego/Pesgo/Pepso/Pe3do.PeData.SequentialDataX
Gets and Sets if data can potentially be optimized. Default=Auto. This setting can be used to disable or force filtering.
For Pego, data is always sequential in x direction, so this setting mostly for disabling filtering.
For Pe3do,SequentialDataX optimization is for only scatter and waterfall plots. Filter3D effects surfaces and wireframes.
#define PEP_nSEQUENTIALDATAX 2039 // 0=auto, 1=always, 2=never: optimize image speed by assuming xdata is sequential, Pesgo, Pe3do
Pesgo.PeData.SequentialDataY
Gets and Sets if data can potentially be optimized. Default=Auto. This setting can be used to disable or force filtering.
Sequential data in y direction is mostly used in 2d contours, and 3d surfaces 3d contours.
.net type Gigasoft.ProEssentials.Enums.SequentialData
#define PEP_nSEQUENTIALDATAY 2041 // 0=auto, 1=always, 2=never: for Pesgo vertically oriented charts, (contours are always sequential)
Pego/Pesgo/Pepso/Pe3do.PeData.FilterOn
Read only. True if image is a product of data reduction. PeData.Filter2D or PeData.Filter3D and Subsets/Points and size of chart all effect if FilterOn is True.
#define PEP_bFILTERON 2034 // normal FALSE, if TRUE chart is filtering data
Pego/Pesgo/Pepso.PeData.Filter2D
Gets and Sets data reduction strength. Default=Quality. Setting to fastest setting could possibly degrade for scatter type charts.
#define PEP_nFILTER2D 2042 //Filter2D, an easy way to set all SmartFactoring items below.
Gigasoft.ProEssentials.Enums.Filter2D
#define PEF2D_DISABLE 0 // 0 = disabled
#define PEF2D_FASTEST 1 // 1 = set all factoring to 1; Randomness=4 Fastest
#define PEF2D_FAST 2 // 2 = set factoring to 2,1,1,2 Randomness=4 Fast
#define PEF2D_OPTIMUM 3 // 3 = set factoring to 2,2,2,2 Randomness=2 Optimum
#define PEF2D_QUALITY 4 // 4 = set factoring to 3,2,2,3 Randomness=2 Quality DEFAULT
#define PEF2D_SLOW 5 // 5 = set factoring to 4,2,2,4 Randomness=2 Slow
#define PEF2D_SLOWEST 6 // 6 = set factoring to 4,2,2,3 Randomness=1 Slowest
Pe3do.PeData.Filter3D
Reduce data for any dimension if dimension quantity exceeds this threshold. For example, if Subsets=200 and Filter3D default=150, data will be optimuzed as if Subsets=150.
#define PEP_nFILTER3D 2054 // Reduce data for a dimension if dimension quantity exceeds this threshold. Target dimension size will be less than or equal to this value.
New GraphAnnotationTypes for Pego/Pesgo/Pepso
#define PEGAT_NULL_PEN 193
#define PEGAT_ANGLED_TEXT 194 // bottom justified text, see example 015, it places Hello text above an arrow.
#define PEGAT_ANGLED_TEXT_C 195 // centered text
#define PEGAT_ANGLED_TEXT_T 196 // top justified text
#define PEGAT_TOP 197 // adding vertical rect regions See example 101, it places a vertical region
#define PEGAT_BOTTOM 198
#define PEGAT_LEFT 199 // adding horizontal rect regions
#define PEGAT_RIGHT 200
#define PEGAT_POINTER_ARROWSOLID_SMALL 201 // similar to legacy arrows but now supporting solid fills
#define PEGAT_POINTER_ARROWSOLID_MEDIUM 202
#define PEGAT_POINTER_ARROWSOLID_LARGE 203
#define PEGAT_ARROWSOLID_SMALL 204
#define PEGAT_ARROWSOLID_MEDIUM 205
#define PEGAT_ARROWSOLID_LARGE 206
|