diff --git a/applications/fpvviewer/fpvectorialsrc/fpvectorial.pas b/applications/fpvviewer/fpvectorialsrc/fpvectorial.pas index d7d58542b..88f14e183 100644 --- a/applications/fpvviewer/fpvectorialsrc/fpvectorial.pas +++ b/applications/fpvviewer/fpvectorialsrc/fpvectorial.pas @@ -208,6 +208,11 @@ type end; {@@ + DimensionLeft ---text--- DimensionRight + | | + | | BaseRight + | + | BaseLeft } { TvAlignedDimension } @@ -343,6 +348,7 @@ procedure RegisterVectorialReader( procedure RegisterVectorialWriter( AWriterClass: TvVectorialWriterClass; AFormat: TvVectorialFormat); +function Make2DPoint(AX, AY: Double): T3DPoint; implementation @@ -433,6 +439,13 @@ begin end; end; +function Make2DPoint(AX, AY: Double): T3DPoint; +begin + Result.X := AX; + Result.Y := AY; + Result.Z := 0; +end; + { TvEllipse } procedure TvEllipse.CalculateBoundingRectangle; diff --git a/applications/fpvviewer/fpvv_mainform.lfm b/applications/fpvviewer/fpvv_mainform.lfm index f8bbfc291..b4de179a1 100644 --- a/applications/fpvviewer/fpvv_mainform.lfm +++ b/applications/fpvviewer/fpvv_mainform.lfm @@ -76,8 +76,8 @@ object frmFPVViewer: TfrmFPVViewer object pageViewer: TPage end object Page2: TPage - ClientWidth = 8448 - ClientHeight = 9984 + ClientWidth = 16896 + ClientHeight = 19968 object DXFTreeView: TTreeView Left = 8 Height = 313 @@ -88,4 +88,13 @@ object frmFPVViewer: TfrmFPVViewer end end end + object buttonRenderingTest: TButton + Left = 256 + Height = 25 + Top = 41 + Width = 96 + Caption = 'Render Test' + OnClick = buttonRenderingTestClick + TabOrder = 5 + end end diff --git a/applications/fpvviewer/fpvv_mainform.pas b/applications/fpvviewer/fpvv_mainform.pas index d286bfbea..6c7f2e5c2 100644 --- a/applications/fpvviewer/fpvv_mainform.pas +++ b/applications/fpvviewer/fpvv_mainform.pas @@ -16,6 +16,7 @@ type TfrmFPVViewer = class(TForm) btnVisualize: TButton; btnViewDXFTokens: TButton; + buttonRenderingTest: TButton; editFileName: TFileNameEdit; notebook: TNotebook; pageViewer: TPage; @@ -25,6 +26,7 @@ type DXFTreeView: TTreeView; procedure btnVisualizeClick(Sender: TObject); procedure btnViewDXFTokensClick(Sender: TObject); + procedure buttonRenderingTestClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private @@ -121,6 +123,37 @@ begin end; end; +procedure TfrmFPVViewer.buttonRenderingTestClick(Sender: TObject); +var + Vec: TvVectorialDocument; +begin + notebook.PageIndex := 0; + + Drawer.Clear; + + Vec := TvVectorialDocument.Create; + try + Vec.AddAlignedDimension(Make2DPoint(100, 50), Make2DPoint(200, 100), Make2DPoint(100, 150), Make2DPoint(200, 150)); + Vec.AddAlignedDimension(Make2DPoint(50, 250), Make2DPoint(100, 200), Make2DPoint(150, 250), Make2DPoint(150, 200)); + + Drawer.Drawing.Width := 400; + Drawer.Drawing.Height := 400; + Drawer.Drawing.Canvas.Brush.Color := clWhite; + Drawer.Drawing.Canvas.Brush.Style := bsSolid; + Drawer.Drawing.Canvas.FillRect(0, 0, Drawer.Drawing.Width, Drawer.Drawing.Height); + DrawFPVectorialToCanvas( + Vec, + Drawer.Drawing.Canvas, + 0, + Drawer.Drawing.Height, + spinScale.Value, + -1 * spinScale.Value); + Drawer.Invalidate; + finally + Vec.Free; + end; +end; + procedure TfrmFPVViewer.FormCreate(Sender: TObject); begin Drawer := TFPVVDrawer.Create(Self);