Adds a quick pointer builder helper routine and a rendering test to the viewer

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1665 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat
2011-06-07 09:50:13 +00:00
parent f2e84200cb
commit b381033113
3 changed files with 57 additions and 2 deletions

View File

@ -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;

View File

@ -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

View File

@ -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);