Show Unit1.pas syntax highlighted
unit Unit1;
interface
{$I GLScene.inc}
uses
//VCL
Windows, Messages, SysUtils, Classes, Graphics, Forms, ExtCtrls,
Dialogs, Controls, StdCtrls,
//GLScene
GLScene, GLObjects, GLCadencer, GLHUDObjects, GLMisc,
GLWin32Viewer, GLKeyboard, GLWindows, GLGui,
//Strange Components
StrangeMouseEmulator, StrangeTypesAndConstants
{$IFDEF STRANGE_INIFILE_SUPPORT},StrangeIniObjects{$ENDIF};
type
TForm1 = class(TForm)
GLScene1: TGLScene;
Viewer: TGLSceneViewer;
GLCamera1: TGLCamera;
GLCadencer1: TGLCadencer;
GLDummyCube1: TGLDummyCube;
LogMemo: TListBox;
GLCube1: TGLCube;
GLHUDSprite1: TGLHUDSprite;
Panel1: TPanel;
Label1: TLabel;
Button2: TButton;
Button1: TButton;
SaveToIniButton: TButton;
Label2: TLabel;
procedure ViewerDblClick(Sender: TObject);
procedure ViewerMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
procedure ViewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: integer);
procedure ViewerMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
procedure ViewerClick(Sender: TObject);
procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: integer; MousePos: TPoint; var Handled: Boolean);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
procedure FormKeyUp(Sender: TObject; var Key: word; Shift: TShiftState);
procedure AltMouseMove(Sender: TObject; Shift: TShiftState; X, Y: integer);
procedure Button2Click(Sender: TObject);
procedure LogMemoEnter(Sender: TObject);
procedure SaveToIniButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
MouseEmulator: TStrangeMouseEmulator;
const
SPEED = 550;
implementation
{$R *.dfm}
procedure TForm1.ViewerDblClick(Sender: TObject);
begin
LogMemo.Items.Add('DblClick');
end;
procedure TForm1.ViewerMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
begin
LogMemo.Items.Add('Down');
if ssCtrl in Shift then Beep;
end;
procedure TForm1.ViewerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: integer);
begin
Caption := 'Real mouse is moving';
end;
procedure TForm1.AltMouseMove(Sender: TObject; Shift: TShiftState; X, Y: integer);
begin
Caption := 'Emulated mouse is moving';
end;
procedure TForm1.ViewerMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
begin
LogMemo.Items.Add('Up');
end;
procedure TForm1.ViewerClick(Sender: TObject);
begin
LogMemo.Items.Add('Click');
end;
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: integer; MousePos: TPoint; var Handled: Boolean);
begin
if WheelDelta > 0 then
LogMemo.Items.Add('WheelUp')
else
LogMemo.Items.Add('WheelDown');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Enabled := False;
SaveToIniButton.Enabled := True;
MouseEmulator := TStrangeMouseEmulator.CreateAsChild(GLScene1.Objects);
MouseEmulator.Viewer := Viewer;
MouseEmulator.LoadCursor('cursor1.bmp');
{$IFDEF STRANGE_INIFILE_SUPPORT}
MouseEmulator.LoadFromIniFile('config.ini', 'Keyboard Controls', '', '', False, True);
{$ENDIF}
MouseEmulator.OnClick := ViewerClick;
MouseEmulator.OnDblClick := ViewerDblClick;
MouseEmulator.OnMouseWheel := FormMouseWheel;
MouseEmulator.OnMouseDown := ViewerMouseDown;
MouseEmulator.OnMouseUp := ViewerMouseUp;
MouseEmulator.OnMouseMove := altMouseMove;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
GLCadencer1.Enabled := False;
if MouseEmulator <> nil then
FreeAndNil(MouseEmulator);
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: word; Shift: TShiftState);
begin
if MouseEmulator <> nil then
MouseEmulator.KeyDown(key);
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: word; Shift: TShiftState);
begin
if MouseEmulator <> nil then
MouseEmulator.KeyUp(key);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
LogMemo.Clear;
end;
procedure TForm1.LogMemoEnter(Sender: TObject);
begin
Viewer.SetFocus;
end;
procedure TForm1.SaveToIniButtonClick(Sender: TObject);
begin
{$IFDEF STRANGE_INIFILE_SUPPORT}
MouseEmulator.SaveToIniFile('config2.ini', 'Keyboard Controls');
{$ELSE}
Assert(False, SIF_ERROR);
{$ENDIF}
end;
end.
See more files for this project here