95a2f54683
git-svn-id: https://svn.code.sf.net/p/apophysis7x/svn/trunk@1 a5d1c0f9-a0e9-45c6-87dd-9d276e40c949
124 lines
3.2 KiB
ObjectPascal
124 lines
3.2 KiB
ObjectPascal
unit Curves;
|
|
|
|
interface
|
|
|
|
uses Windows, Classes, Graphics, Forms, Controls, CurvesControl, Vcl.ExtCtrls,
|
|
Vcl.StdCtrls, Vcl.ComCtrls, ControlPoint, Registry, Global;
|
|
|
|
type
|
|
TCurvesForm = class(TForm)
|
|
CurvesPanel: TPanel;
|
|
cbChannel: TComboBox;
|
|
tbWeightLeft: TScrollBar;
|
|
tbWeightRight: TScrollBar;
|
|
Panel2: TPanel;
|
|
Panel1: TPanel;
|
|
Label1: TLabel;
|
|
procedure FormShow(Sender: TObject);
|
|
procedure cbChannelChange(Sender: TObject);
|
|
procedure tbWeightChange(Sender: TObject);
|
|
procedure tbWeightScroll(Sender: TObject; ScrollCode: TScrollCode;
|
|
var ScrollPos: Integer);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
private
|
|
{ Private declarations }
|
|
published
|
|
CurvesControl: TCurvesControl;
|
|
public
|
|
procedure SetCp(cp: TControlPoint);
|
|
end;
|
|
|
|
var
|
|
CurvesForm: TCurvesForm;
|
|
|
|
implementation
|
|
|
|
uses Main;
|
|
|
|
{$R *.DFM}
|
|
|
|
procedure TCurvesForm.tbWeightScroll(Sender: TObject; ScrollCode: TScrollCode;
|
|
var ScrollPos: Integer);
|
|
begin
|
|
if ScrollCode = scEndScroll then
|
|
CurvesControl.UpdateFlame;
|
|
end;
|
|
|
|
procedure TCurvesForm.SetCp(cp: TControlPoint);
|
|
begin
|
|
if CurvesControl = nil then Exit;
|
|
CurvesControl.SetCp(cp);
|
|
end;
|
|
|
|
procedure TCurvesForm.cbChannelChange(Sender: TObject);
|
|
begin
|
|
if CurvesControl = nil then Exit;
|
|
CurvesControl.ActiveChannel := TCurvesChannel(cbChannel.ItemIndex);
|
|
tbWeightLeft.Position := Round(CurvesControl.WeightLeft * 10);
|
|
tbWeightRight.Position := Round(CurvesControl.WeightRight * 10);
|
|
end;
|
|
|
|
procedure TCurvesForm.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
var
|
|
Registry: TRegistry;
|
|
begin
|
|
{ Write position to registry }
|
|
Registry := TRegistry.Create;
|
|
try
|
|
Registry.RootKey := HKEY_CURRENT_USER;
|
|
if Registry.OpenKey('\Software\' + APP_NAME + '\Forms\Curves', True) then
|
|
begin
|
|
Registry.WriteInteger('Top', self.Top);
|
|
Registry.WriteInteger('Left', self.Left);
|
|
end;
|
|
finally
|
|
Registry.Free;
|
|
end;
|
|
// bStop := True;
|
|
end;
|
|
|
|
procedure TCurvesForm.FormCreate(Sender: TObject);
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TCurvesForm.FormShow(Sender: TObject);
|
|
var Registry: TRegistry;
|
|
begin
|
|
if not (assigned(curvesControl)) then
|
|
begin
|
|
CurvesControl := TCurvesControl.Create(self);
|
|
CurvesControl.Align := alClient;
|
|
CurvesControl.Parent := CurvesPanel;
|
|
end;
|
|
|
|
Registry := TRegistry.Create;
|
|
try
|
|
Registry.RootKey := HKEY_CURRENT_USER;
|
|
if Registry.OpenKey('Software\' + APP_NAME + '\Forms\Curves', False) then
|
|
begin
|
|
if Registry.ValueExists('Left') then
|
|
self.Left := Registry.ReadInteger('Left');
|
|
if Registry.ValueExists('Top') then
|
|
self.Top := Registry.ReadInteger('Top');
|
|
Registry.CloseKey;
|
|
end;
|
|
finally
|
|
Registry.Free;
|
|
end;
|
|
|
|
tbWeightLeft.Position := Round(CurvesControl.WeightLeft * 10);
|
|
tbWeightRight.Position := Round(CurvesControl.WeightRight * 10);
|
|
|
|
SetCp(MainCp);
|
|
end;
|
|
|
|
procedure TCurvesForm.tbWeightChange(Sender: TObject);
|
|
begin
|
|
CurvesControl.WeightLeft := tbWeightLeft.Position / 10.0;
|
|
CurvesControl.WeightRight := tbWeightRight.Position / 10.0;
|
|
end;
|
|
|
|
end.
|