object MainForm: TMainForm Left = 324 Height = 700 Top = 125 Width = 900 Caption = 'Visual fpvectorial test' ClientHeight = 700 ClientWidth = 900 ShowHint = True LCLVersion = '3.99.0.0' OnActivate = FormActivate OnCreate = FormCreate OnDestroy = FormDestroy object GbTree: TGroupBox Left = 8 Height = 684 Top = 8 Width = 299 Align = alClient BorderSpacing.Around = 8 Caption = 'Test shapes and objects' ClientHeight = 664 ClientWidth = 295 Font.Style = [fsBold] ParentFont = False TabOrder = 0 object Tree: TTreeView Left = 6 Height = 652 Top = 6 Width = 283 Align = alClient BorderSpacing.Around = 6 HideSelection = False Images = ImageList ParentFont = False ReadOnly = True StateImages = ImageList TabOrder = 0 Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] OnCustomDrawItem = TreeCustomDrawItem OnDeletion = TreeDeletion OnGetImageIndex = TreeGetImageIndex OnGetSelectedIndex = TreeGetSelectedIndex OnSelectionChanged = TreeSelectionChanged end end object ScrollBox1: TScrollBox Left = 315 Height = 700 Top = 0 Width = 577 HorzScrollBar.Increment = 56 HorzScrollBar.Page = 564 HorzScrollBar.Smooth = True HorzScrollBar.Tracking = True VertScrollBar.Increment = 69 VertScrollBar.Page = 695 VertScrollBar.Smooth = True VertScrollBar.Tracking = True Align = alRight BorderSpacing.Right = 8 BorderStyle = bsNone ClientHeight = 700 ClientWidth = 577 TabOrder = 1 object AllTestsPanel: TPanel Left = 4 Height = 683 Top = 8 Width = 569 Align = alTop AutoSize = True BorderSpacing.Top = 4 BorderSpacing.Around = 4 BevelOuter = bvNone ClientHeight = 683 ClientWidth = 569 TabOrder = 0 object gbRenderTest: TGroupBox AnchorSideLeft.Control = AllTestsPanel AnchorSideBottom.Side = asrBottom Left = 0 Height = 284 Top = 0 Width = 288 Anchors = [akTop, akLeft, akRight] AutoSize = True BorderSpacing.Right = 31 Caption = 'Render test' ClientHeight = 264 ClientWidth = 284 Font.Style = [fsBold] ParentFont = False TabOrder = 0 object Label6: TLabel Left = 8 Height = 30 Top = 2 Width = 272 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 2 BorderSpacing.Right = 4 Caption = 'The selected shape is rendered in two coordinate systems:' ParentColor = False ParentFont = False WordWrap = True end object Label8: TLabel Left = 16 Height = 15 Top = 36 Width = 264 Align = alTop BorderSpacing.Left = 16 BorderSpacing.Top = 4 BorderSpacing.Right = 4 Caption = '- origin at bottom/left corner (fpv default)' ParentColor = False ParentFont = False WordWrap = True end object Label7: TLabel Left = 16 Height = 15 Top = 55 Width = 264 Align = alTop BorderSpacing.Left = 16 BorderSpacing.Top = 4 BorderSpacing.Right = 4 Caption = '- origin at top/left corner' ParentColor = False ParentFont = False WordWrap = True end object LblBothImagesMustMatch: TLabel Left = 8 Height = 15 Top = 74 Width = 272 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 4 BorderSpacing.Right = 4 Caption = 'Both images must match.' Font.Style = [fsBold] ParentColor = False ParentFont = False WordWrap = True end object gbBottomLeft: TGroupBox AnchorSideLeft.Control = gbRenderTest AnchorSideTop.Control = BtnSaveAsRef AnchorSideTop.Side = asrBottom AnchorSideBottom.Side = asrBottom Left = 6 Height = 128 Top = 130 Width = 116 AutoSize = True BorderSpacing.Left = 6 BorderSpacing.Top = 6 BorderSpacing.Right = 6 BorderSpacing.Bottom = 6 Caption = 'Origin at BOTTOM' ClientHeight = 108 ClientWidth = 112 ParentFont = False TabOrder = 0 object BottomLeftPaintbox: TPaintBox AnchorSideLeft.Control = gbBottomLeft AnchorSideTop.Control = gbBottomLeft Left = 6 Height = 100 Top = 2 Width = 100 BorderSpacing.Left = 6 BorderSpacing.Top = 2 BorderSpacing.Right = 6 BorderSpacing.Bottom = 6 OnPaint = PaintBoxPaint end end object gbTopLeft: TGroupBox AnchorSideLeft.Control = gbBottomLeft AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = gbBottomLeft AnchorSideBottom.Control = gbRenderTest AnchorSideBottom.Side = asrBottom Left = 130 Height = 128 Top = 130 Width = 116 Anchors = [akTop, akLeft, akBottom] AutoSize = True BorderSpacing.Left = 8 BorderSpacing.Right = 6 BorderSpacing.Bottom = 6 Caption = 'Origin at TOP' ClientHeight = 108 ClientWidth = 112 ParentFont = False TabOrder = 1 object TopLeftPaintbox: TPaintBox AnchorSideLeft.Control = gbTopLeft AnchorSideTop.Control = gbTopLeft Left = 6 Height = 100 Top = 2 Width = 100 BorderSpacing.Left = 6 BorderSpacing.Top = 2 BorderSpacing.Right = 6 BorderSpacing.Bottom = 6 OnPaint = PaintBoxPaint end end object BtnSaveAsRef: TButton AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = LblBothImagesMustMatch AnchorSideTop.Side = asrBottom AnchorSideBottom.Side = asrBottom Left = 16 Height = 25 Top = 97 Width = 81 AutoSize = True BorderSpacing.Left = 16 BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 Caption = 'Save as ref' ParentFont = False TabOrder = 2 OnClick = BtnSaveAsRefClick end end object gbReferenceImageTest: TGroupBox AnchorSideLeft.Control = gbRenderTest AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = gbRenderTest AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = gbRenderTest AnchorSideBottom.Side = asrBottom Left = 319 Height = 284 Top = 0 Width = 250 Anchors = [akTop, akLeft, akRight, akBottom] Caption = 'Reference image test' ClientHeight = 264 ClientWidth = 246 Font.Style = [fsBold] ParentFont = False TabOrder = 1 object Label10: TLabel Left = 8 Height = 30 Top = 2 Width = 230 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 2 BorderSpacing.Right = 8 Caption = 'Save the bottom-origin image of the "Render test" to a bitmap file for reference.' ParentColor = False ParentFont = False WordWrap = True end object Label11: TLabel Left = 8 Height = 30 Top = 36 Width = 230 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 4 BorderSpacing.Right = 8 Caption = 'This reference image is loaded for each test shape/object.' ParentColor = False ParentFont = False WordWrap = True end object LblRefImgMustMatch: TLabel Left = 8 Height = 30 Top = 70 Width = 230 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 4 BorderSpacing.Right = 8 Caption = 'The reference image must match the "Render test" images.' Font.Style = [fsBold] ParentColor = False ParentFont = False WordWrap = True end object GroupBox1: TGroupBox AnchorSideLeft.Control = gbReferenceImageTest AnchorSideTop.Side = asrBottom AnchorSideBottom.Control = gbReferenceImageTest AnchorSideBottom.Side = asrBottom Left = 6 Height = 128 Top = 130 Width = 116 Anchors = [akLeft, akBottom] AutoSize = True BorderSpacing.Left = 6 BorderSpacing.Top = 8 BorderSpacing.Bottom = 6 Caption = 'Reference image' ClientHeight = 108 ClientWidth = 112 ParentFont = False TabOrder = 0 object RefImage: TImage AnchorSideTop.Control = GroupBox1 Left = 6 Height = 100 Top = 2 Width = 100 BorderSpacing.Left = 6 BorderSpacing.Top = 2 BorderSpacing.Right = 6 BorderSpacing.Bottom = 6 end end end object gbReadWriteTest: TGroupBox AnchorSideLeft.Control = gbRenderTest AnchorSideTop.Control = gbReferenceImageTest AnchorSideTop.Side = asrBottom AnchorSideRight.Control = AllTestsPanel AnchorSideRight.Side = asrBottom Left = 0 Height = 312 Top = 300 Width = 569 Anchors = [akTop, akLeft, akRight] AutoSize = True BorderSpacing.Top = 16 Caption = 'Read/write test' ClientHeight = 292 ClientWidth = 565 Font.Style = [fsBold] ParentFont = False TabOrder = 2 object Label13: TLabel Left = 8 Height = 15 Top = 2 Width = 549 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 2 BorderSpacing.Right = 8 Caption = 'This test is for reading and writing of the selected shape to/from an svg or wmf file.' ParentColor = False ParentFont = False WordWrap = True end object LblReadWriteInstructions: TLabel Left = 8 Height = 45 Top = 72 Width = 549 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 4 BorderSpacing.Right = 8 Caption = 'If it does not click "Ext. viewer..." to open the image in an external viewer of the operating system. If the image is displayed correctly by the external viewer there is a bug in the file reader, otherwise the bug is in the writer.' ParentColor = False ParentFont = False WordWrap = True end object gbWRBottomLeft: TGroupBox AnchorSideLeft.Control = gbReadWriteTest AnchorSideTop.Control = CbFileFormat AnchorSideTop.Side = asrBottom Left = 6 Height = 128 Top = 156 Width = 210 AutoSize = True BorderSpacing.Left = 6 BorderSpacing.Top = 8 BorderSpacing.Right = 6 BorderSpacing.Bottom = 8 Caption = 'Written with origin at BOTTOM' ClientHeight = 108 ClientWidth = 206 ParentFont = False TabOrder = 0 object BtnViewBottomLeft: TButton AnchorSideLeft.Control = WRBottomLeftPaintbox AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = gbWRBottomLeft AnchorSideTop.Side = asrCenter Left = 114 Height = 25 Top = 42 Width = 88 AutoSize = True BorderSpacing.Left = 8 BorderSpacing.Right = 4 BorderSpacing.Bottom = 6 Caption = 'Ext viewer...' TabOrder = 0 OnClick = BtnViewImageClick end object WRBottomLeftPaintbox: TPaintBox AnchorSideLeft.Control = gbWRBottomLeft AnchorSideTop.Control = gbWRBottomLeft Left = 6 Height = 100 Top = 2 Width = 100 BorderSpacing.Left = 6 BorderSpacing.Top = 2 BorderSpacing.Bottom = 6 OnPaint = PaintBoxPaint end end object Label14: TLabel Left = 8 Height = 30 Top = 19 Width = 549 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 2 BorderSpacing.Right = 8 Caption = 'After clicking "Save && load" both images (with bottom and top origin) are written to file and reloaded for display in the boxes below.' ParentColor = False ParentFont = False WordWrap = True end object LblBothImagesMustMatch1: TLabel Left = 8 Height = 15 Top = 53 Width = 553 Align = alTop BorderSpacing.Left = 8 BorderSpacing.Top = 4 BorderSpacing.Right = 4 Caption = 'These images must match the "Render test" images.' Font.Style = [fsBold] ParentColor = False ParentFont = False WordWrap = True end object CbFileFormat: TComboBox AnchorSideLeft.Control = Label1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = LblReadWriteInstructions AnchorSideTop.Side = asrBottom Left = 116 Height = 23 Top = 125 Width = 87 BorderSpacing.Top = 8 ItemHeight = 15 ItemIndex = 0 Items.Strings = ( 'svg' 'wmf' ) ParentFont = False Style = csDropDownList TabOrder = 1 Text = 'svg' OnChange = CbFileFormatChange end object Label1: TLabel AnchorSideLeft.Control = LblReadWriteInstructions AnchorSideTop.Control = CbFileFormat AnchorSideTop.Side = asrCenter Left = 8 Height = 15 Top = 129 Width = 100 BorderSpacing.Top = 8 BorderSpacing.Right = 8 Caption = 'File format for test:' ParentColor = False ParentFont = False end object BtnSaveToFiles: TButton AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = CbFileFormat AnchorSideTop.Side = asrCenter AnchorSideRight.Control = gbReadWriteTest AnchorSideRight.Side = asrBottom Left = 468 Height = 25 Top = 124 Width = 89 Anchors = [akTop, akRight] AutoSize = True BorderSpacing.Left = 16 BorderSpacing.Right = 8 BorderSpacing.Bottom = 6 Caption = 'Save && load' ParentFont = False TabOrder = 2 OnClick = BtnSaveToFilesClick end object gbWRTopLeft: TGroupBox AnchorSideLeft.Control = gbWRBottomLeft AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = CbFileFormat AnchorSideTop.Side = asrBottom Left = 224 Height = 128 Top = 156 Width = 213 AutoSize = True BorderSpacing.Left = 8 BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 Caption = 'Written with origin at TOP' ClientHeight = 108 ClientWidth = 209 ParentFont = False TabOrder = 3 object BtnViewTopLeft: TButton AnchorSideLeft.Control = WRTopLeftPaintbox AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = WRTopLeftPaintbox AnchorSideTop.Side = asrCenter Left = 114 Height = 25 Top = 40 Width = 91 AutoSize = True BorderSpacing.Left = 8 BorderSpacing.Right = 4 BorderSpacing.Bottom = 6 Caption = 'Ext. viewer...' TabOrder = 0 OnClick = BtnViewImageClick end object WRTopLeftPaintbox: TPaintBox AnchorSideLeft.Control = gbWRTopLeft AnchorSideTop.Control = gbWRTopLeft Left = 6 Height = 100 Top = 2 Width = 100 BorderSpacing.Left = 6 BorderSpacing.Top = 2 BorderSpacing.Bottom = 6 OnPaint = PaintBoxPaint end end end object gbResults: TGroupBox AnchorSideLeft.Control = gbReadWriteTest AnchorSideTop.Control = gbReadWriteTest AnchorSideTop.Side = asrBottom AnchorSideRight.Control = gbReadWriteTest AnchorSideRight.Side = asrBottom Left = 0 Height = 55 Top = 628 Width = 569 Anchors = [akTop, akLeft, akRight] AutoSize = True BorderSpacing.Top = 16 Caption = 'Test results' ClientHeight = 35 ClientWidth = 565 Font.Style = [fsBold] ParentFont = False TabOrder = 3 object rbUnknown: TRadioButton AnchorSideLeft.Control = gbResults AnchorSideTop.Control = gbResults Left = 16 Height = 19 Top = 8 Width = 68 BorderSpacing.Left = 16 BorderSpacing.Top = 8 BorderSpacing.Bottom = 8 Caption = 'unknown' Checked = True ParentFont = False TabOrder = 2 TabStop = True OnChange = ResultStateChange end object imgUnknown: TImage AnchorSideLeft.Control = rbUnknown AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = rbUnknown AnchorSideTop.Side = asrCenter Left = 92 Height = 16 Top = 9 Width = 16 BorderSpacing.Left = 8 Constraints.MaxHeight = 16 Constraints.MaxWidth = 16 Images = ImageList end object rbPassed: TRadioButton Tag = 1 AnchorSideLeft.Control = imgUnknown AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = rbUnknown AnchorSideTop.Side = asrCenter Left = 140 Height = 19 Top = 8 Width = 54 BorderSpacing.Left = 32 Caption = 'passed' ParentFont = False TabOrder = 0 OnChange = ResultStateChange end object ImgPassed: TImage AnchorSideLeft.Control = rbPassed AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = rbPassed AnchorSideTop.Side = asrCenter Left = 202 Height = 16 Top = 9 Width = 16 BorderSpacing.Left = 8 Constraints.MaxHeight = 16 Constraints.MaxWidth = 16 ImageIndex = 1 Images = ImageList end object rbFailed: TRadioButton Tag = 2 AnchorSideLeft.Control = ImgPassed AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = rbUnknown AnchorSideTop.Side = asrCenter Left = 250 Height = 19 Top = 8 Width = 47 BorderSpacing.Left = 32 Caption = 'failed' ParentFont = False TabOrder = 1 OnChange = ResultStateChange end object ImgFailed: TImage AnchorSideLeft.Control = rbFailed AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = imgUnknown AnchorSideTop.Side = asrCenter Left = 305 Height = 16 Top = 9 Width = 16 BorderSpacing.Left = 8 Constraints.MaxHeight = 16 Constraints.MaxWidth = 16 ImageIndex = 2 Images = ImageList end end end end object ImageList: TImageList Scaled = True Left = 174 Top = 242 Bitmap = { 4C7A0300000010000000100000004A0100000000000078DAED94B14EC3301086 2F091203232A22AF81C41B30B2F12C8C3C0213132B5362A48E6C4C5107A20C6D 1D124147261606604A07F35F02520037F205A1AA85E1931CFB3EDB97B36D8C21 B3864C86B493C774C4DC2ADA95B8454C07B9A267F0081EC0ABBEA443575F2BD2 706E6657B4A91405685F833B57BF1CD236EFBFCEE382B6E04E4021FE078D3B02 4F45447B521FDE2978C923DAEF5303B8E7E06C5967006B2760DCD7471D8F717E 4ECC9ADE91BF06E14E79B19781A4A7AB8101A9C855348033ADDDC82B49F01EB9 BA9C13E746EFEF8665CFBA3D66F1D3769CC4B5AD257117CC21722D35CEA4EE3F AB4D105409C888CCB7BA731F8F714C879FFA41657CBFD2ED39B8CD7D3CC6310B CF1E9901E2A6F51C1B5589EFD0D2D779F73FC7CFEFD12E5CDD2F73345EC3CCD5 EDF04381FB912FF63F6FEF3F14B875BEB67FFA5BF5FBE9F95945DE0015281489 } BitmapAdv = { 4C69020000004C7A030000001800000018000000E10100000000000078DAED96 4D2B446114C7FF776E91A484A2585092A521165616F6D68AC857B0F00DF8086C 50163373EF0C52B2B1B791306F97344AB1F1D29492CCE63A4777A669DEC73D0F 3177F1EF3E3DF739BF73EE39E73933B66DC3F6D4D03ADF477BDCC042DCC45ACC C06AC2C4A2B5874E0936B126488FC4B60B948E8531E5867D75803662DF3BBCD3 4418334903D3B477E8EC3DC502E8FE76ECC473386FD7017465F76F8ED04C7BAF FC8EF2B5E422374DA4C14404FEFC7D8E99D8EF5FBE0DCC4AD6DA0AA29FB896F3 5DA9CB1DB44AB1A3110C13F3C161DF59210C49C61E3371968B7B177D926CAA43 4FB637A326C6A4EF18C74BF11FB34E4CB4FCB51941F9E9A05E5C615D98E895E6 73AF64F34F7361523CFF2606B86F58C91046BDB9EFC9D3FF11E877140696F929 CEA679A119DA0BC9D6425A4A195B985FC4A63584661FE5798478CF79EC34B1C7 7F935D4B0FB8C909D7A6928DDB7CE7F18B6C256A598E21D927A558D23D58C287 7C7F2BBC3B391F41F8897BCBE2B537C73D796AF0FF31B0355DFF9863F15AFABC AE67E67D7AC676B44936BE0A6C1F9FC99E67DB3AF9657D14B26BE597B22BF451 CB996A39A5F3EB05F65B6C5FE95DBD752EC5216DB86557F121C2AEC1C7B65BB6 6ABECAFCA8ACAFCAFE547DBF54CF07D5F34DF57CF6F4B3FA0419C450694C7A03 00000020000000200000006C0200000000000078DAED97B16FD34014875F6B81 2AC1C4C04207A4AE6C956082B5035D421B65A8072A75E0AF6040428C8CA813A2 038D1DE8C2D4B9A8430552D324CD805025482406040C4828D895FBBB28754FA9 5DDB89EFB955DFF00D39E7DEF7FCEEDDD90E82800241102E0407AF69AAE5D2E3 668DDE365DFA08B69A0EADE3F74A7D8DAE9974EF57E90E7C5F4010C3B7D63BBA 67C25DDFA09B88FF4373FD051F800BBAC7E3A8CD9F469566F2F6A3C62F35F7D7 FA7B9A0E7343DD31B6A9E5B096BBDFA5F671FC864B0F87AFB76A745FCBEFC044 FD715F77E1297F5AA52BC3D7915349F3B739F7C4A02FBF87F5AFD17336B7430F E0FCADADCD67D3FB50EBC93938FF6975DF51EBC4E1462FDC80EFA7E6DEC4D875 AEBA638D97B5FDB60DAE72F61CCEDB67E19A3BF484FB39D0A8D123B857156A5F CAB39117D4FC296AFF4B815E7CC5ED87F745B8F71C7A73D9FCBB2EDDDA736956 D15EA7DBD293822008C27982F05D34E14C741554A5796677055E0F04033A05BA D9FC316E4FAD85717795CA116E1FE34BE23EFF6EB547C3FDEAD0C218BD5619E5 5ED41E491B276F77843F369E09773F2E6A9E14D7945B8BBF18D94F0ED95C7D1E 778F26EF3B650E2CEE143918779FD10F2CE75AEC7B448A73491004411084EC58 963F3F69795D8565F516B2CFEF954EE6FB99BFFB31AF3369FD0F06788857C9E0 AEA83927F3BDCE98FED4399C768FE657353F1DE7EC1CA2DDFD39A5D17AA0B718 11CFC7B81DF1DF72CC7F97C6EBC3E41C4CB9D3E460DA9D90C3A172997627E4C0 E21ECAC18F701F9A766BBD16E7B719DC49F5B719DD71FD6733B8FBBD96E58CCA DB3DCA3999B7DB540E453F7F8A7EFE16FDFE51F4FB97205C068E001D7C88C2 } end end