Implements focus, fixes drawing and removes redundant controls for the fpvviewer

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1496 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat
2011-02-12 11:24:28 +00:00
parent 43c43128a1
commit 31a7114c96
4 changed files with 26 additions and 51 deletions

View File

@ -233,9 +233,10 @@ begin
Abs(Round(16*(FinalEndAngle - FinalStartAngle))) Abs(Round(16*(FinalEndAngle - FinalStartAngle)))
); );
// Debug info // Debug info
{ ADest.TextOut(CoordToCanvasX(CurArc.CenterX), CoordToCanvasY(CurArc.CenterY), ADest.TextOut(CoordToCanvasX(CurArc.CenterX), CoordToCanvasY(CurArc.CenterY),
Format('R=%d', [Round(CurArc.Radius)])); Format('R=%d S=%d L=%d', [Round(CurArc.Radius), Round(16*FinalStartAngle),
ADest.Rectangle( Abs(Round(16*(FinalEndAngle - FinalStartAngle)))]));
{ ADest.Rectangle(
BoundsLeft, BoundsTop, BoundsRight, BoundsBottom);} BoundsLeft, BoundsTop, BoundsRight, BoundsBottom);}
{$endif} {$endif}
end end

View File

@ -20,6 +20,7 @@ type
procedure EraseBackground(DC: HDC); override; procedure EraseBackground(DC: HDC); override;
procedure Paint; override; procedure Paint; override;
procedure HandleKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure HandleKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure HandleClick(Sender: TObject);
procedure Clear; procedure Clear;
end; end;
@ -33,6 +34,7 @@ begin
Drawing := TBitmap.Create; Drawing := TBitmap.Create;
OnKeyDown := @HandleKeyDown; OnKeyDown := @HandleKeyDown;
OnClick := @HandleClick;
end; end;
destructor TFPVVDrawer.Destroy; destructor TFPVVDrawer.Destroy;
@ -48,6 +50,9 @@ end;
procedure TFPVVDrawer.Paint; procedure TFPVVDrawer.Paint;
begin begin
Canvas.Brush.Color := clWhite;
Canvas.Brush.Style := bsSolid;
Canvas.FillRect(Self.ClientRect);
Canvas.Draw(PosX, PosY, Drawing); Canvas.Draw(PosX, PosY, Drawing);
// inherited Paint; // inherited Paint;
end; end;
@ -66,6 +71,11 @@ begin
Invalidate(); Invalidate();
end; end;
procedure TFPVVDrawer.HandleClick(Sender: TObject);
begin
Self.SetFocus();
end;
procedure TFPVVDrawer.Clear; procedure TFPVVDrawer.Clear;
begin begin
PosX := 0; PosX := 0;

View File

@ -11,7 +11,7 @@ object frmFPVViewer: TfrmFPVViewer
LCLVersion = '0.9.31' LCLVersion = '0.9.31'
object editFileName: TFileNameEdit object editFileName: TFileNameEdit
Left = 8 Left = 8
Height = 25 Height = 23
Top = 8 Top = 8
Width = 304 Width = 304
DialogOptions = [] DialogOptions = []
@ -33,7 +33,7 @@ object frmFPVViewer: TfrmFPVViewer
end end
object spinScale: TFloatSpinEdit object spinScale: TFloatSpinEdit
Left = 72 Left = 72
Height = 25 Height = 23
Top = 72 Top = 72
Width = 64 Width = 64
Increment = 1 Increment = 1
@ -44,46 +44,12 @@ object frmFPVViewer: TfrmFPVViewer
end end
object Label1: TLabel object Label1: TLabel
Left = 8 Left = 8
Height = 18 Height = 16
Top = 79 Top = 79
Width = 58 Width = 47
Caption = 'Scale by:' Caption = 'Scale by:'
ParentColor = False ParentColor = False
end end
object Label2: TLabel
Left = 8
Height = 18
Top = 104
Width = 76
Caption = 'Start Pos X:'
ParentColor = False
end
object spinStartX: TSpinEdit
Left = 98
Height = 25
Top = 99
Width = 46
MaxValue = 1000
MinValue = -1000
TabOrder = 3
end
object spinStartY: TSpinEdit
Left = 240
Height = 25
Top = 99
Width = 50
MaxValue = 1000
MinValue = -1000
TabOrder = 4
end
object Label3: TLabel
Left = 152
Height = 18
Top = 104
Width = 73
Caption = 'Start Pos Y:'
ParentColor = False
end
object btnViewDXFTokens: TButton object btnViewDXFTokens: TButton
Left = 112 Left = 112
Height = 25 Height = 25
@ -91,7 +57,7 @@ object frmFPVViewer: TfrmFPVViewer
Width = 128 Width = 128
Caption = 'View DXF Tokens' Caption = 'View DXF Tokens'
OnClick = btnViewDXFTokensClick OnClick = btnViewDXFTokensClick
TabOrder = 5 TabOrder = 3
end end
object notebook: TNotebook object notebook: TNotebook
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
@ -104,13 +70,13 @@ object frmFPVViewer: TfrmFPVViewer
Width = 375 Width = 375
PageIndex = 0 PageIndex = 0
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
TabOrder = 6 TabOrder = 4
TabStop = True TabStop = True
object pageViewer: TPage object pageViewer: TPage
end end
object Page2: TPage object Page2: TPage
ClientWidth = 43008 ClientWidth = 86016
ClientHeight = 40064 ClientHeight = 80128
object DXFTreeView: TTreeView object DXFTreeView: TTreeView
Left = 8 Left = 8
Height = 313 Height = 313

View File

@ -17,13 +17,9 @@ type
btnVisualize: TButton; btnVisualize: TButton;
btnViewDXFTokens: TButton; btnViewDXFTokens: TButton;
editFileName: TFileNameEdit; editFileName: TFileNameEdit;
Label2: TLabel;
Label3: TLabel;
notebook: TNotebook; notebook: TNotebook;
pageViewer: TPage; pageViewer: TPage;
Page2: TPage; Page2: TPage;
spinStartX: TSpinEdit;
spinStartY: TSpinEdit;
spinScale: TFloatSpinEdit; spinScale: TFloatSpinEdit;
Label1: TLabel; Label1: TLabel;
DXFTreeView: TTreeView; DXFTreeView: TTreeView;
@ -75,12 +71,13 @@ begin
Drawer.Drawing.Width := Round(Vec.Width * spinScale.Value); Drawer.Drawing.Width := Round(Vec.Width * spinScale.Value);
Drawer.Drawing.Height := Round(Vec.Height * spinScale.Value); Drawer.Drawing.Height := Round(Vec.Height * spinScale.Value);
Drawer.Drawing.Canvas.Brush.Color := clWhite; Drawer.Drawing.Canvas.Brush.Color := clWhite;
Drawer.Drawing.Canvas.Brush.Style := bsSolid;
Drawer.Drawing.Canvas.FillRect(0, 0, Drawer.Drawing.Width, Drawer.Drawing.Height); Drawer.Drawing.Canvas.FillRect(0, 0, Drawer.Drawing.Width, Drawer.Drawing.Height);
DrawFPVectorialToCanvas( DrawFPVectorialToCanvas(
Vec, Vec,
Drawer.Drawing.Canvas, Drawer.Drawing.Canvas,
spinStartX.Value, 0,
spinStartY.Value + Drawer.Drawing.Height, Drawer.Drawing.Height,
spinScale.Value, spinScale.Value,
-1 * spinScale.Value); -1 * spinScale.Value);
Drawer.Invalidate; Drawer.Invalidate;
@ -117,6 +114,7 @@ begin
Drawer.Top := 5; Drawer.Top := 5;
Drawer.Left := 5; Drawer.Left := 5;
Drawer.AnchorClient(5); Drawer.AnchorClient(5);
Drawer.TabStop := True;
end; end;
procedure TfrmFPVViewer.FormDestroy(Sender: TObject); procedure TfrmFPVViewer.FormDestroy(Sender: TObject);