object Form1: TForm1 Left = 605 Height = 494 Top = 364 Width = 705 Caption = 'Form1' ClientHeight = 494 ClientWidth = 705 Position = poScreenCenter LCLVersion = '3.99.0.0' OnCreate = FormCreate object PageControl1: TPageControl Left = 0 Height = 494 Top = 0 Width = 705 ActivePage = tsGetPointerStyle Align = alClient TabIndex = 3 TabOrder = 0 OnChange = PageControl1Change object tsFast: TTabSheet Caption = 'Fast drawing' ClientHeight = 466 ClientWidth = 697 object chFast: TChart Left = 0 Height = 426 Top = 40 Width = 697 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Toolset = ChartToolset1 Align = alClient Color = clWindow DoubleBuffered = True object chFastLineSeries1: TLineSeries LinePen.Color = clTeal LinePen.Width = 3 Source = RandomChartSource1 end object chFastConstantLine1: TConstantLine LineStyle = lsVertical Pen.Color = clAqua Pen.Width = 2 ZPosition = 1 end end object Panel1: TPanel Left = 0 Height = 40 Top = 0 Width = 697 Align = alTop AutoSize = True BevelOuter = bvNone ClientHeight = 40 ClientWidth = 697 TabOrder = 1 object cbLineType: TComboBox AnchorSideLeft.Control = Panel1 AnchorSideTop.Control = Panel1 AnchorSideTop.Side = asrCenter Left = 8 Height = 23 Top = 9 Width = 96 BorderSpacing.Left = 8 BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 ItemHeight = 15 ItemIndex = 1 Items.Strings = ( 'None' 'Previous' 'Origin' 'StepXY' 'StepYX' 'StepCenterXY' 'StepCenterYX' ) Style = csDropDownList TabOrder = 0 Text = 'Previous' OnChange = cbLineTypeChange end object cb3D: TCheckBox AnchorSideLeft.Control = cbLineType AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 AnchorSideTop.Side = asrCenter Left = 112 Height = 19 Top = 11 Width = 32 BorderSpacing.Left = 8 Caption = '3D' TabOrder = 1 OnChange = cb3DChange end object cbRotated: TCheckBox AnchorSideLeft.Control = cb3D AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 AnchorSideTop.Side = asrCenter Left = 152 Height = 19 Top = 11 Width = 59 BorderSpacing.Left = 8 Caption = 'Rotated' TabOrder = 2 OnChange = cbRotatedChange end object btnAddSeries: TButton AnchorSideLeft.Control = cbSorted AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 AnchorSideTop.Side = asrCenter Left = 321 Height = 25 Top = 8 Width = 48 AutoSize = True BorderSpacing.Left = 50 Caption = 'Add' TabOrder = 3 OnClick = btnAddSeriesClick end object edTime: TEdit AnchorSideLeft.Control = btnRefresh AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 AnchorSideTop.Side = asrCenter Left = 486 Height = 23 Top = 9 Width = 76 Alignment = taRightJustify BorderSpacing.Left = 8 TabOrder = 4 end object btnRefresh: TButton AnchorSideLeft.Control = btnAddSeries AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 AnchorSideTop.Side = asrCenter Left = 377 Height = 25 Top = 8 Width = 101 AutoSize = True BorderSpacing.Left = 8 Caption = 'Timed refresh:' TabOrder = 5 OnClick = btnRefreshClick end object cbSorted: TCheckBox AnchorSideLeft.Control = cbRotated AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 AnchorSideTop.Side = asrCenter Left = 219 Height = 19 Top = 11 Width = 52 BorderSpacing.Left = 8 Caption = 'Sorted' TabOrder = 6 OnChange = cbSortedChange end object lblPointsCount: TLabel AnchorSideLeft.Control = edTime AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = edTime AnchorSideTop.Side = asrCenter Left = 568 Height = 15 Top = 13 Width = 79 BorderSpacing.Left = 6 Caption = 'lblPointsCount' end end end object tsPointers: TTabSheet Caption = 'Pointers' ClientHeight = 466 ClientWidth = 697 object chPointers: TChart Left = 0 Height = 466 Top = 0 Width = 527 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> AxisVisible = False Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Margins.Left = 20 Margins.Right = 20 Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient end object pnlPointers: TPanel Left = 527 Height = 466 Top = 0 Width = 170 Align = alRight ClientHeight = 466 ClientWidth = 170 TabOrder = 1 object sePointerSize: TSpinEdit Left = 49 Height = 23 Top = 6 Width = 50 MaxValue = 1000 TabOrder = 0 Value = 4 OnChange = sePointerSizeChange end object lblPointerSize: TLabel Left = 9 Height = 15 Top = 10 Width = 20 Caption = 'Size' end end end object tsCustomDrawPointer: TTabSheet Caption = 'Customdrawn pointer' ClientHeight = 466 ClientWidth = 697 object Chart_CustomDrawPointer: TChart Left = 0 Height = 427 Top = 39 Width = 697 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWindow object lsCustomDrawPointer: TLineSeries Pointer.Visible = True ShowPoints = True Source = RandomChartSource1 OnCustomDrawPointer = lsCustomDrawPointerCustomDrawPointer end end object Panel2: TPanel Left = 0 Height = 39 Top = 0 Width = 697 Align = alTop AutoSize = True BevelOuter = bvNone ClientHeight = 39 ClientWidth = 697 TabOrder = 1 object cbBitmapPointer: TCheckBox AnchorSideLeft.Control = Panel2 AnchorSideTop.Control = Panel2 AnchorSideTop.Side = asrCenter Left = 8 Height = 19 Top = 10 Width = 97 BorderSpacing.Left = 8 Caption = 'Bitmap pointer' Checked = True State = cbChecked TabOrder = 0 OnChange = cbBitmapPointerChange end object cbDrawEveryNthPointer: TCheckBox AnchorSideLeft.Control = PointerImage AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel2 AnchorSideTop.Side = asrCenter Left = 141 Height = 19 Top = 10 Width = 140 BorderSpacing.Left = 16 Caption = 'Every n-th pointer, n = ' Checked = True State = cbChecked TabOrder = 1 OnChange = cbBitmapPointerChange end object edEveryNth: TSpinEdit AnchorSideLeft.Control = cbDrawEveryNthPointer AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel2 AnchorSideTop.Side = asrCenter Left = 281 Height = 23 Top = 8 Width = 50 Alignment = taRightJustify BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 MaxValue = 10 MinValue = 1 TabOrder = 2 Value = 3 OnChange = edEveryNthChange end object PointerImage: TImage AnchorSideLeft.Control = cbBitmapPointer AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel2 AnchorSideTop.Side = asrCenter Left = 109 Height = 16 Top = 11 Width = 16 AutoSize = True BorderSpacing.Left = 4 Picture.Data = { 1754506F727461626C654E6574776F726B477261706869632B02000089504E47 0D0A1A0A0000000D49484452000000100000001008060000001FF3FF61000000 017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA79300000009 7048597300000B1300000B1301009A9C180000000774494D4507DC06140F1F36 F0AF9FA6000001AB4944415438CB9592416813411486BFD96EECB1D09357AF5E 24224868D18330117BF5604E1AC1A6EBA188500985F4D0802C22228B685BC1D6 532EB92849210BA145101B5A103C45BDE79243C183D0E2CEF3B0DD71D326D8FE 30CCCC9BFFCD9B7FDEAF18814BD71E3C17D45D4761322E6BBBEDB50AA7C554BE D4CC694FBABD48BABD4872DA93EBB74A1F4E957CFEE29D8974F2FF2E5147155B 461C9D044B8BCFC85E18673C3366893B3F7EB3FAF489DD3BCA849F5BAB793595 2FB544D0EF365E7316DCBFF730528AB60B2038001466AE58C2D51BB779F4B80C C0CB173E9D76DD9ED59A7B08CE98C2C4819CF62468F4A5DB8B249BCD8A483C77 7E1EC8FBADFD8158D0E84BD0E84B4E7B02E0027C09DF2840F4C62B6ACD3DBC05 1F80CEF75FB6AAB7E053AC86F10B82A524E7E8EDC7D069D72D19A0580D0724A4 E124120AF3CB270ED72B9AF58A3E112FCC2F6325C42D047D7992C33FC2F6B7FD B318AEE5C6663003C9C56AC8D7FAA295915EFF3390196DA4617292CF3B6EA4A1 C4A4ADE991684E502E974777C151264C57AB054B9C73CDC734C7F77DB1128661 FAE65C23326A0620E3CADB4F9B2BB3C3787F01CE48DFB7D4C375300000000049 454E44AE426082 } end end end object tsGetPointerStyle: TTabSheet Caption = 'OnGetPointerStyle event' ClientHeight = 466 ClientWidth = 697 object ChartGetPointerStyleEvent: TChart Left = 0 Height = 466 Top = 0 Width = 697 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWindow object lsGetPointerStyle: TLineSeries Pointer.Brush.Color = clRed Pointer.HorizSize = 6 Pointer.Pen.Color = clRed Pointer.Pen.Width = 2 Pointer.VertSize = 6 Pointer.Visible = True ShowPoints = True Source = RandomChartSource1 OnGetPointerStyle = lsGetPointerStyleGetPointerStyle end end end object tsOscilloscope: TTabSheet Caption = 'Oscilloscope' ClientHeight = 466 ClientWidth = 697 object chOscillator: TChart Left = 0 Height = 466 Top = 0 Width = 697 AxisList = < item Grid.Color = clMedGray Marks.LabelBrush.Style = bsClear Minors = <> Range.Max = 2 Range.Min = -2 Range.UseMax = True Range.UseMin = True Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Grid.Color = clMedGray Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear Transformations = catOscillator end> BackColor = clBlack Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWindow DoubleBuffered = True object chOscillatorLineSeries1: TLineSeries AxisIndexX = 1 LinePen.Color = clLime LinePen.Width = 2 LineType = ltStepXY Source = lcsOscillator end end end object tsColorEach: TTabSheet Caption = 'Color each data point' ClientHeight = 466 ClientWidth = 697 object pnlColorEach: TPanel Left = 0 Height = 40 Top = 0 Width = 697 Align = alTop AutoSize = True BevelOuter = bvNone ClientHeight = 40 ClientWidth = 697 TabOrder = 0 object cbColorEach: TComboBox AnchorSideLeft.Control = pnlColorEach AnchorSideTop.Control = pnlColorEach Left = 8 Height = 23 Top = 8 Width = 272 BorderSpacing.Left = 8 BorderSpacing.Top = 8 BorderSpacing.Right = 8 BorderSpacing.Bottom = 8 ItemHeight = 15 ItemIndex = 1 Items.Strings = ( 'no' 'data point only' 'line segment before data point' 'line segment after data point' 'data point and preceding line segment' 'data point and following line segment' ) Style = csDropDownList TabOrder = 0 Text = 'data point only' OnChange = cbColorEachChange end object cbColorEachRotated: TCheckBox AnchorSideLeft.Control = cbColorEachLineType AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnlColorEach AnchorSideTop.Side = asrCenter Left = 392 Height = 19 Top = 11 Width = 59 Caption = 'Rotated' TabOrder = 1 OnChange = cbColorEachRotatedChange end object cbColorEachLineType: TComboBox AnchorSideLeft.Control = cbColorEach AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = pnlColorEach AnchorSideTop.Side = asrCenter Left = 288 Height = 23 Top = 9 Width = 96 BorderSpacing.Left = 8 BorderSpacing.Top = 8 BorderSpacing.Right = 8 BorderSpacing.Bottom = 8 ItemHeight = 15 ItemIndex = 1 Items.Strings = ( 'None' 'Previous' 'Origin' 'StepXY' 'StepYX' 'StepCenterXY' 'StepCenterYX' ) Style = csDropDownList TabOrder = 2 Text = 'Previous' OnChange = cbColorEachLineTypeChange end end object Chart_ColorEach: TChart Left = 0 Height = 426 Top = 40 Width = 697 AxisList = < item Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelFont.Orientation = 900 Title.LabelBrush.Style = bsClear end item Alignment = calBottom Marks.LabelBrush.Style = bsClear Minors = <> Title.LabelBrush.Style = bsClear end> Foot.Brush.Color = clBtnFace Foot.Font.Color = clBlue Title.Brush.Color = clBtnFace Title.Font.Color = clBlue Title.Text.Strings = ( 'TAChart' ) Align = alClient Color = clWindow object lsColorEach: TLineSeries ColorEach = cePointAndLineAfter LinePen.Width = 2 Pointer.HorizSize = 6 Pointer.Style = psCircle Pointer.VertSize = 6 Pointer.Visible = True ShowPoints = True end end end end object RandomChartSource1: TRandomChartSource PointsNumber = 25 RandSeed = 840176578 XMax = 20 XMin = -10 YMax = 8 YMin = 1 Left = 464 Top = 208 end object ChartToolset1: TChartToolset Left = 464 Top = 264 object ChartToolset1DataPointDragTool1: TDataPointDragTool Shift = [ssLeft] AffectedSeries = '-' end object ChartToolset1ZoomDragTool1: TZoomDragTool Shift = [ssShift, ssLeft] Brush.Style = bsClear RatioLimit = zrlFixedY end object ChartToolset1PanDragTool1: TPanDragTool Shift = [ssRight] end end object lcsOscillator: TListChartSource DataPoints.Strings = ( '0|0|?|' ) Left = 464 Top = 316 end object timOscilloscope: TTimer Enabled = False Interval = 150 OnTimer = timOscilloscopeTimer Left = 376 Top = 376 end object catOscillator: TChartAxisTransformations Left = 464 Top = 376 object catOscillatorLinearAxisTransform1: TLinearAxisTransform end end end