You've already forked lazarus-ccr
Forgotten file
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1493 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
76
applications/fpvviewer/fpvv_drawer.pas
Normal file
76
applications/fpvviewer/fpvv_drawer.pas
Normal file
@ -0,0 +1,76 @@
|
||||
unit fpvv_drawer;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Controls, Graphics, LCLType;
|
||||
|
||||
type
|
||||
|
||||
{ TFPVVDrawer }
|
||||
|
||||
TFPVVDrawer = class(TCustomControl)
|
||||
public
|
||||
PosX, PosY: Integer;
|
||||
Drawing: TBitmap;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
procedure EraseBackground(DC: HDC); override;
|
||||
procedure Paint; override;
|
||||
procedure HandleKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure Clear;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TFPVVDrawer }
|
||||
|
||||
constructor TFPVVDrawer.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
Drawing := TBitmap.Create;
|
||||
|
||||
OnKeyDown := @HandleKeyDown;
|
||||
end;
|
||||
|
||||
destructor TFPVVDrawer.Destroy;
|
||||
begin
|
||||
Drawing.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TFPVVDrawer.EraseBackground(DC: HDC);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TFPVVDrawer.Paint;
|
||||
begin
|
||||
Canvas.Draw(PosX, PosY, Drawing);
|
||||
// inherited Paint;
|
||||
end;
|
||||
|
||||
procedure TFPVVDrawer.HandleKeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
begin
|
||||
case Key of
|
||||
VK_UP: Inc(PosY, 5);
|
||||
VK_DOWN: Dec(PosY, 5);
|
||||
VK_LEFT: Inc(PosX, 5);
|
||||
VK_RIGHT: Dec(PosX, 5);
|
||||
else
|
||||
Exit;
|
||||
end;
|
||||
Invalidate();
|
||||
end;
|
||||
|
||||
procedure TFPVVDrawer.Clear;
|
||||
begin
|
||||
PosX := 0;
|
||||
PosY := 0;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user