From 31a7114c9615f7009586d10535ec4fa75afc7f19 Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Sat, 12 Feb 2011 11:24:28 +0000 Subject: [PATCH] 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 --- .../fpvviewer/fpvectorialsrc/fpvtocanvas.pas | 7 +-- applications/fpvviewer/fpvv_drawer.pas | 10 ++++ applications/fpvviewer/fpvv_mainform.lfm | 50 +++---------------- applications/fpvviewer/fpvv_mainform.pas | 10 ++-- 4 files changed, 26 insertions(+), 51 deletions(-) diff --git a/applications/fpvviewer/fpvectorialsrc/fpvtocanvas.pas b/applications/fpvviewer/fpvectorialsrc/fpvtocanvas.pas index b1ca98199..3da535365 100644 --- a/applications/fpvviewer/fpvectorialsrc/fpvtocanvas.pas +++ b/applications/fpvviewer/fpvectorialsrc/fpvtocanvas.pas @@ -233,9 +233,10 @@ begin Abs(Round(16*(FinalEndAngle - FinalStartAngle))) ); // Debug info -{ ADest.TextOut(CoordToCanvasX(CurArc.CenterX), CoordToCanvasY(CurArc.CenterY), - Format('R=%d', [Round(CurArc.Radius)])); - ADest.Rectangle( + ADest.TextOut(CoordToCanvasX(CurArc.CenterX), CoordToCanvasY(CurArc.CenterY), + Format('R=%d S=%d L=%d', [Round(CurArc.Radius), Round(16*FinalStartAngle), + Abs(Round(16*(FinalEndAngle - FinalStartAngle)))])); +{ ADest.Rectangle( BoundsLeft, BoundsTop, BoundsRight, BoundsBottom);} {$endif} end diff --git a/applications/fpvviewer/fpvv_drawer.pas b/applications/fpvviewer/fpvv_drawer.pas index 7f3c7b314..09ef78403 100644 --- a/applications/fpvviewer/fpvv_drawer.pas +++ b/applications/fpvviewer/fpvv_drawer.pas @@ -20,6 +20,7 @@ type procedure EraseBackground(DC: HDC); override; procedure Paint; override; procedure HandleKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure HandleClick(Sender: TObject); procedure Clear; end; @@ -33,6 +34,7 @@ begin Drawing := TBitmap.Create; OnKeyDown := @HandleKeyDown; + OnClick := @HandleClick; end; destructor TFPVVDrawer.Destroy; @@ -48,6 +50,9 @@ end; procedure TFPVVDrawer.Paint; begin + Canvas.Brush.Color := clWhite; + Canvas.Brush.Style := bsSolid; + Canvas.FillRect(Self.ClientRect); Canvas.Draw(PosX, PosY, Drawing); // inherited Paint; end; @@ -66,6 +71,11 @@ begin Invalidate(); end; +procedure TFPVVDrawer.HandleClick(Sender: TObject); +begin + Self.SetFocus(); +end; + procedure TFPVVDrawer.Clear; begin PosX := 0; diff --git a/applications/fpvviewer/fpvv_mainform.lfm b/applications/fpvviewer/fpvv_mainform.lfm index a82f9b91e..707373fbb 100644 --- a/applications/fpvviewer/fpvv_mainform.lfm +++ b/applications/fpvviewer/fpvv_mainform.lfm @@ -11,7 +11,7 @@ object frmFPVViewer: TfrmFPVViewer LCLVersion = '0.9.31' object editFileName: TFileNameEdit Left = 8 - Height = 25 + Height = 23 Top = 8 Width = 304 DialogOptions = [] @@ -33,7 +33,7 @@ object frmFPVViewer: TfrmFPVViewer end object spinScale: TFloatSpinEdit Left = 72 - Height = 25 + Height = 23 Top = 72 Width = 64 Increment = 1 @@ -44,46 +44,12 @@ object frmFPVViewer: TfrmFPVViewer end object Label1: TLabel Left = 8 - Height = 18 + Height = 16 Top = 79 - Width = 58 + Width = 47 Caption = 'Scale by:' ParentColor = False 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 Left = 112 Height = 25 @@ -91,7 +57,7 @@ object frmFPVViewer: TfrmFPVViewer Width = 128 Caption = 'View DXF Tokens' OnClick = btnViewDXFTokensClick - TabOrder = 5 + TabOrder = 3 end object notebook: TNotebook AnchorSideRight.Control = Owner @@ -104,13 +70,13 @@ object frmFPVViewer: TfrmFPVViewer Width = 375 PageIndex = 0 Anchors = [akTop, akLeft, akRight, akBottom] - TabOrder = 6 + TabOrder = 4 TabStop = True object pageViewer: TPage end object Page2: TPage - ClientWidth = 43008 - ClientHeight = 40064 + ClientWidth = 86016 + ClientHeight = 80128 object DXFTreeView: TTreeView Left = 8 Height = 313 diff --git a/applications/fpvviewer/fpvv_mainform.pas b/applications/fpvviewer/fpvv_mainform.pas index 7fbb7e668..193496580 100644 --- a/applications/fpvviewer/fpvv_mainform.pas +++ b/applications/fpvviewer/fpvv_mainform.pas @@ -17,13 +17,9 @@ type btnVisualize: TButton; btnViewDXFTokens: TButton; editFileName: TFileNameEdit; - Label2: TLabel; - Label3: TLabel; notebook: TNotebook; pageViewer: TPage; Page2: TPage; - spinStartX: TSpinEdit; - spinStartY: TSpinEdit; spinScale: TFloatSpinEdit; Label1: TLabel; DXFTreeView: TTreeView; @@ -75,12 +71,13 @@ begin Drawer.Drawing.Width := Round(Vec.Width * spinScale.Value); Drawer.Drawing.Height := Round(Vec.Height * spinScale.Value); 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, - spinStartX.Value, - spinStartY.Value + Drawer.Drawing.Height, + 0, + Drawer.Drawing.Height, spinScale.Value, -1 * spinScale.Value); Drawer.Invalidate; @@ -117,6 +114,7 @@ begin Drawer.Top := 5; Drawer.Left := 5; Drawer.AnchorClient(5); + Drawer.TabStop := True; end; procedure TfrmFPVViewer.FormDestroy(Sender: TObject);