unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DXDraws, DXClass, TextEffectUnit, StdCtrls, ExtCtrls;

type
  TMainForm = class(TForm)
    DXDraw: TDXDraw;
    DXTimer1: TDXTimer;
    Panel1: TPanel;
    Button: TButton;
    Button2: TButton;
    Edit1: TEdit;
    procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
    procedure FormDestroy(Sender: TObject);
    procedure ButtonClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
  T: TTextEffect;

implementation

{$R *.DFM}

procedure TMainForm.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
  if not DXDraw.CanDraw then
    exit;
  DXDraw.Surface.Fill(0);
  if Assigned(T) then
    T.Draw(@DXDraw.Surface);
  DXDraw.Flip;
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  if Assigned(T) then
    T.Free;
end;

procedure TMainForm.ButtonClick(Sender: TObject);
begin
  if not Assigned(T) then
  begin
    T := TTextEffect.Create(@DXDraw.DDraw);
    T.FileName := 'Font.bmp';
    T.Text := 'Relort';
    Button2.Enabled := True;
    Edit1.Enabled := True;
  end;
end;

procedure TMainForm.Button2Click(Sender: TObject);
begin
  if Assigned(T) then
    T.Text := Edit1.Text;
end;

end.
