*** empty log message ***
This commit is contained in:
		
							
								
								
									
										613
									
								
								Source/Adjust.pas
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										613
									
								
								Source/Adjust.pas
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,613 @@ | ||||
| { | ||||
|      Apophysis Copyright (C) 2001-2004 Mark Townsend | ||||
|  | ||||
|      This program is free software; you can redistribute it and/or modify | ||||
|      it under the terms of the GNU General Public License as published by | ||||
|      the Free Software Foundation; either version 2 of the License, or | ||||
|      (at your option) any later version. | ||||
|  | ||||
|      This program is distributed in the hope that it will be useful, | ||||
|      but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|      GNU General Public License for more details. | ||||
|  | ||||
|      You should have received a copy of the GNU General Public License | ||||
|      along with this program; if not, write to the Free Software | ||||
|      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
| } | ||||
| unit Adjust; | ||||
|  | ||||
| interface | ||||
|  | ||||
| uses | ||||
|   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, | ||||
|   StdCtrls, ExtCtrls, ComCtrls, ControlPoint, Render, Buttons, Menus, cmap; | ||||
|  | ||||
| const | ||||
|   WM_UPDATE_PARAMS = WM_APP + 5439; | ||||
|  | ||||
| type | ||||
|   TAdjustForm = class(TForm) | ||||
|     QualityPopup: TPopupMenu; | ||||
|     mnuLowQuality: TMenuItem; | ||||
|     mnuMediumQuality: TMenuItem; | ||||
|     mnuHighQuality: TMenuItem; | ||||
|     ColorDialog: TColorDialog; | ||||
|     PrevPnl: TPanel; | ||||
|     PreviewImage: TImage; | ||||
|     GroupBox1: TGroupBox; | ||||
|     Label8: TLabel; | ||||
|     scrollGamma: TScrollBar; | ||||
|     txtGamma: TEdit; | ||||
|     Label9: TLabel; | ||||
|     scrollBrightness: TScrollBar; | ||||
|     txtBrightness: TEdit; | ||||
|     Label10: TLabel; | ||||
|     scrollVibrancy: TScrollBar; | ||||
|     txtVibrancy: TEdit; | ||||
|     lblContrast: TLabel; | ||||
|     GroupBox2: TGroupBox; | ||||
|     Label5: TLabel; | ||||
|     scrollZoom: TScrollBar; | ||||
|     txtZoom: TEdit; | ||||
|     Label6: TLabel; | ||||
|     scrollCenterX: TScrollBar; | ||||
|     txtCenterX: TEdit; | ||||
|     scrollCenterY: TScrollBar; | ||||
|     txtCenterY: TEdit; | ||||
|     Label1: TLabel; | ||||
|     ColorPanel: TPanel; | ||||
|     procedure FormCreate(Sender: TObject); | ||||
|     procedure FormClose(Sender: TObject; var Action: TCloseAction); | ||||
|     procedure FormDestroy(Sender: TObject); | ||||
|     procedure DrawPreview; | ||||
|     procedure btnOKClick(Sender: TObject); | ||||
|     procedure btnCancelClick(Sender: TObject); | ||||
|     procedure btnCanelClick(Sender: TObject); | ||||
|     procedure FormShow(Sender: TObject); | ||||
|     procedure mnuLowQualityClick(Sender: TObject); | ||||
|     procedure mnuMediumQualityClick(Sender: TObject); | ||||
|     procedure mnuHighQualityClick(Sender: TObject); | ||||
|     procedure txtZoomKeyPress(Sender: TObject; var Key: Char); | ||||
|     procedure txtZoomExit(Sender: TObject); | ||||
|     procedure txtCenterXKeyPress(Sender: TObject; var Key: Char); | ||||
|     procedure txtCenterXExit(Sender: TObject); | ||||
|     procedure txtCenterYKeyPress(Sender: TObject; var Key: Char); | ||||
|     procedure txtCenterYExit(Sender: TObject); | ||||
|     procedure txtGammaKeyPress(Sender: TObject; var Key: Char); | ||||
|     procedure txtGammaExit(Sender: TObject); | ||||
|     procedure txtBrightnessKeyPress(Sender: TObject; var Key: Char); | ||||
|     procedure txtBrightnessExit(Sender: TObject); | ||||
|     procedure txtVibrancyKeyPress(Sender: TObject; var Key: Char); | ||||
|     procedure txtVibrancyExit(Sender: TObject); | ||||
|     procedure scrollZoomScroll(Sender: TObject; ScrollCode: TScrollCode; | ||||
|       var ScrollPos: Integer); | ||||
|     procedure scrollCenterXScroll(Sender: TObject; ScrollCode: TScrollCode; | ||||
|       var ScrollPos: Integer); | ||||
|     procedure scrollCenterYScroll(Sender: TObject; ScrollCode: TScrollCode; | ||||
|       var ScrollPos: Integer); | ||||
|     procedure scrollGammaScroll(Sender: TObject; ScrollCode: TScrollCode; | ||||
|       var ScrollPos: Integer); | ||||
|     procedure scrollBrightnessScroll(Sender: TObject; | ||||
|       ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
|     procedure scrollVibrancyScroll(Sender: TObject; | ||||
|       ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
|     procedure scrollVibrancyChange(Sender: TObject); | ||||
|     procedure scrollGammaChange(Sender: TObject); | ||||
|     procedure scrollBrightnessChange(Sender: TObject); | ||||
|     procedure scrollZoomChange(Sender: TObject); | ||||
|     procedure scrollCenterXChange(Sender: TObject); | ||||
|     procedure scrollCenterYChange(Sender: TObject); | ||||
|     procedure ColorPanelClick(Sender: TObject); | ||||
|     procedure scrollContrastScroll(Sender: TObject; | ||||
|       ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
|   private | ||||
|     Resetting: boolean; | ||||
|     Render: TRenderer; | ||||
|     bm: TBitmap; | ||||
|   public | ||||
|     PreviewDensity: double; | ||||
|     cp: TControlPoint; | ||||
| //    cmap: TColorMap; | ||||
| //    Sample_Density, Zoom: double; | ||||
| //    Center: array[0..1] of double; | ||||
|     procedure UpdateDisplay; | ||||
|     procedure UpdateFlame; | ||||
|   end; | ||||
|  | ||||
| var | ||||
|   AdjustForm: TAdjustForm; | ||||
|  | ||||
| implementation | ||||
|  | ||||
| uses Main, Global, Registry, Mutate, Editor; | ||||
|  | ||||
| {$R *.DFM} | ||||
|  | ||||
| procedure TAdjustForm.UpdateDisplay; | ||||
| var | ||||
|   pw, ph: integer; | ||||
|   r: double; | ||||
| begin | ||||
|   pw := PrevPnl.Width - 2; | ||||
|   ph := PrevPnl.Height - 2; | ||||
|   cp.copy(MainCp); | ||||
|   if cp.width > cp.height then | ||||
|   begin | ||||
|     PreviewImage.Width := pw; | ||||
|     r := cp.width / PreviewImage.Width; | ||||
|     PreviewImage.height := round(cp.height / r); | ||||
|     PreviewImage.Left := 1; | ||||
|     PreviewImage.Top := (ph - PreviewImage.Height) div 2; | ||||
|   end | ||||
|   else | ||||
|   begin | ||||
|     PreviewImage.Height := ph; | ||||
|     r := cp.height / PreviewImage.height; | ||||
|     PreviewImage.Width := round(cp.Width / r); | ||||
|     PreviewImage.Top := 1; | ||||
|     PreviewImage.Left := (pw - PreviewImage.Width) div 2; | ||||
|   end; | ||||
|   cp.cmap := MainCp.cmap; | ||||
|   AdjustScale(cp, PreviewImage.Width, PreviewImage.Height); | ||||
| //  zoom := MainForm.zoom; | ||||
| //  cp.zoom := zoom; | ||||
|   Resetting := True; // So the preview doesn't get drawn with these changes.. | ||||
|   scrollGamma.Position := trunc(cp.Gamma * 100); | ||||
|   scrollBrightness.Position := trunc(cp.Brightness * 100); | ||||
|   scrollVibrancy.Position := trunc(cp.vibrancy * 100); | ||||
|   scrollZoom.Position := trunc(cp.zoom * 100); | ||||
|   scrollCenterX.Position := trunc(cp.Center[0] * 100); | ||||
|   scrollCenterY.Position := trunc(cp.Center[1] * 100); | ||||
|   ColorPanel.color := cp.background[2] shl 16 + | ||||
|     cp.background[1] shl 8 + cp.background[0]; | ||||
|   Resetting := False; | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.UpdateFlame; | ||||
| begin | ||||
|   MainForm.StopThread; | ||||
|   MainForm.UpdateUndo; | ||||
|   MainCp.Copy(cp); | ||||
| //  MainCp.cmap := cmap; | ||||
| //  MainForm.zoom := zoom; | ||||
| //  MainForm.Center[0] := Center[0]; | ||||
| //  MainForm.Center[1] := Center[1]; | ||||
|   if EditForm.Visible then EditForm.UpdateDisplay; | ||||
|   if MutateForm.Visible then MutateForm.UpdateDisplay; | ||||
|   MainForm.RedrawTimer.enabled := true; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.DrawPreview; | ||||
| begin | ||||
|   if not Resetting then begin | ||||
|     Render.Stop; | ||||
| //    AdjustScale(cp, PreviewImage.Width, PreviewImage.Height); | ||||
|     cp.sample_density := PreviewDensity; | ||||
|     cp.spatial_oversample := defOversample; | ||||
|     cp.spatial_filter_radius := defFilterRadius; | ||||
| //    cp.Zoom := Zoom; | ||||
| //    cp.center[0] := Center[0]; | ||||
| //    cp.center[1] := Center[1]; | ||||
|     Render.Compatibility := compatibility; | ||||
|     Render.SetCP(cp); | ||||
|     Render.Render; | ||||
|     BM.Assign(Render.GetImage); | ||||
|     PreviewImage.Picture.Graphic := bm; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.FormCreate(Sender: TObject); | ||||
| begin | ||||
|   bm := TbitMap.Create; | ||||
|   cp := TControlPoint.Create; | ||||
|   Render := TRenderer.Create; | ||||
|   case AdjustPrevQual of | ||||
|     0: begin | ||||
|         mnuLowQuality.Checked := true; | ||||
|         PreviewDensity := prevLowQuality; | ||||
|       end; | ||||
|     1: begin | ||||
|         mnuMediumQuality.Checked := true; | ||||
|         PreviewDensity := prevMediumQuality; | ||||
|       end; | ||||
|     2: begin | ||||
|         mnuHighQuality.Checked := true; | ||||
|         PreviewDensity := prevHighQuality; | ||||
|       end; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.FormClose(Sender: TObject; var Action: TCloseAction); | ||||
| var | ||||
|   Registry: TRegistry; | ||||
| begin | ||||
|   Render.Stop; | ||||
|   { Write position to registry } | ||||
|   Registry := TRegistry.Create; | ||||
|   try | ||||
|     Registry.RootKey := HKEY_CURRENT_USER; | ||||
|     if Registry.OpenKey('\Software\' + APP_NAME + '\Forms\Adjust', True) then | ||||
|     begin | ||||
|       Registry.WriteInteger('Top', AdjustForm.Top); | ||||
|       Registry.WriteInteger('Left', AdjustForm.Left); | ||||
|     end; | ||||
|   finally | ||||
|     Registry.Free; | ||||
|   end; | ||||
| //  bStop := True; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.FormDestroy(Sender: TObject); | ||||
| begin | ||||
|   bm.free; | ||||
|   cp.free; | ||||
|   Render.free; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.btnOKClick(Sender: TObject); | ||||
| begin | ||||
|   ModalResult := mrOK; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.btnCancelClick(Sender: TObject); | ||||
| begin | ||||
|   ModalResult := mrCancel; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.btnCanelClick(Sender: TObject); | ||||
| begin | ||||
|   ModalResult := mrCancel; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.FormShow(Sender: TObject); | ||||
| var | ||||
|   Registry: TRegistry; | ||||
| begin | ||||
|   if LimitVibrancy then scrollVibrancy.Max := 100 else scrollVibrancy.Max := 300; | ||||
|   { Read posution from registry } | ||||
|   Registry := TRegistry.Create; | ||||
|   try | ||||
|     Registry.RootKey := HKEY_CURRENT_USER; | ||||
|     if Registry.OpenKey('Software\' + APP_NAME + '\Forms\Adjust', False) then | ||||
|     begin | ||||
|       if Registry.ValueExists('Left') then | ||||
|         AdjustForm.Left := Registry.ReadInteger('Left'); | ||||
|       if Registry.ValueExists('Top') then | ||||
|         AdjustForm.Top := Registry.ReadInteger('Top'); | ||||
|     end; | ||||
|     Registry.CloseKey; | ||||
|   finally | ||||
|     Registry.Free; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.mnuLowQualityClick(Sender: TObject); | ||||
| begin | ||||
|   mnuLowQuality.Checked := True; | ||||
|   PreviewDensity := prevLowQuality; | ||||
|   AdjustPrevQual := 0; | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.mnuMediumQualityClick(Sender: TObject); | ||||
| begin | ||||
|   mnuMediumQuality.Checked := True; | ||||
|   PreviewDensity := prevMediumQuality; | ||||
|   AdjustPrevQual := 1; | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.mnuHighQualityClick(Sender: TObject); | ||||
| begin | ||||
|   mnuHighQuality.Checked := True; | ||||
|   PreviewDensity := prevHighQuality; | ||||
|   AdjustPrevQual := 2; | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtZoomKeyPress(Sender: TObject; var Key: Char); | ||||
| var v: integer; | ||||
| begin | ||||
|   if key = #13 then | ||||
|   begin | ||||
|     key := #0; | ||||
|     try | ||||
|       v := Trunc(StrToFloat(txtZoom.Text) * 100); | ||||
|       if v > scrollZoom.Max then v := scrollZoom.Max; | ||||
|       if v < scrollZoom.Min then v := scrollZoom.Min; | ||||
|       if v <> ScrollZoom.Position then begin | ||||
|         ScrollZoom.Position := v; | ||||
|         UpdateFlame; | ||||
|       end; | ||||
|     except on EConvertError do | ||||
|     end; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtZoomExit(Sender: TObject); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   try | ||||
|     v := Trunc(StrToFloat(txtZoom.Text) * 100); | ||||
|     if v > scrollZoom.Max then v := scrollZoom.Max; | ||||
|     if v < scrollZoom.Min then v := scrollZoom.Min; | ||||
|     if v <> ScrollZoom.Position then begin | ||||
|       ScrollZoom.Position := v; | ||||
|       UpdateFlame; | ||||
|     end; | ||||
|   except on EConvertError do | ||||
|       txtZoom.Text := FloatToStr(cp.zoom) | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtCenterXKeyPress(Sender: TObject; var Key: Char); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   if key = #13 then | ||||
|   begin | ||||
|     key := #0; | ||||
|     try | ||||
|       v := Trunc(StrToFloat(txtCenterX.Text) * 100); | ||||
|       if v > scrollCenterX.Max then v := scrollCenterX.Max; | ||||
|       if v < scrollCenterX.Min then v := scrollCenterX.Min; | ||||
|       ScrollCenterX.Position := v; | ||||
|     except on EConvertError do | ||||
|     end; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtCenterXExit(Sender: TObject); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   try | ||||
|     v := Trunc(StrToFloat(txtCenterX.Text) * 100); | ||||
|     if v > scrollCenterX.Max then v := scrollCenterX.Max; | ||||
|     if v < scrollCenterX.Min then v := scrollCenterX.Min; | ||||
|     ScrollCenterX.Position := v; | ||||
|     UpdateFlame; | ||||
|   except on EConvertError do | ||||
|       txtCenterX.Text := FloatToStr(cp.center[0]); | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtCenterYKeyPress(Sender: TObject; var Key: Char); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   if key = #13 then | ||||
|   begin | ||||
|     key := #0; | ||||
|     try | ||||
|       v := Trunc(StrToFloat(txtCenterY.Text) * 100); | ||||
|       if v > ScrollCenterY.Max then v := ScrollCenterY.Max; | ||||
|       if v < ScrollCenterY.Min then v := ScrollCenterY.Min; | ||||
|       ScrollCenterY.Position := v; | ||||
|       UpdateFlame; | ||||
|     except on EConvertError do | ||||
|     end; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtCenterYExit(Sender: TObject); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   try | ||||
|     v := Trunc(StrToFloat(txtCenterY.Text) * 100); | ||||
|     if v > ScrollCenterY.Max then v := ScrollCenterY.Max; | ||||
|     if v < ScrollCenterY.Min then v := ScrollCenterY.Min; | ||||
|     ScrollCenterY.Position := v; | ||||
|     UpdateFlame; | ||||
|   except on EConvertError do | ||||
|       txtCenterY.Text := FloatToStr(cp.center[1]); | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtGammaExit(Sender: TObject); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   try | ||||
|     v := Trunc(StrToFloat(txtGamma.Text) * 100); | ||||
|     if v > scrollGamma.Max then v := scrollGamma.Max; | ||||
|     if v < scrollGamma.Min then v := scrollGamma.Min; | ||||
|     ScrollGamma.Position := v; | ||||
|     UpdateFlame; | ||||
|   except on EConvertError do | ||||
|       txtGamma.Text := FloatToStr(cp.gamma); | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtGammaKeyPress(Sender: TObject; var Key: Char); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   if key = #13 then | ||||
|   begin | ||||
|     key := #0; | ||||
|     try | ||||
|       v := Trunc(StrToFloat(txtGamma.Text) * 100); | ||||
|       if v > scrollGamma.Max then v := scrollGamma.Max; | ||||
|       if v < scrollGamma.Min then v := scrollGamma.Min; | ||||
|       ScrollGamma.Position := v; | ||||
|       UpdateFlame; | ||||
|     except on EConvertError do | ||||
|     end; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtBrightnessExit(Sender: TObject); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   try | ||||
|     v := Trunc(StrToFloat(txtBrightness.Text) * 100); | ||||
|     if v > scrollBrightness.Max then v := scrollBrightness.Max; | ||||
|     if v < scrollBrightness.Min then v := scrollBrightness.Min; | ||||
|     ScrollBrightness.Position := v; | ||||
|     UpdateFlame; | ||||
|   except on EConvertError do | ||||
|       txtBrightness.Text := FloatToStr(cp.brightness); | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtBrightnessKeyPress(Sender: TObject; | ||||
|   var Key: Char); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   if key = #13 then | ||||
|   begin | ||||
|     key := #0; | ||||
|     try | ||||
|       v := Trunc(StrToFloat(txtBrightness.Text) * 100); | ||||
|       if v > scrollBrightness.Max then v := scrollBrightness.Max; | ||||
|       if v < scrollBrightness.Min then v := scrollBrightness.Min; | ||||
|       ScrollBrightness.Position := v; | ||||
|       UpdateFlame; | ||||
|     except on EConvertError do | ||||
|     end; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtVibrancyKeyPress(Sender: TObject; var Key: Char); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   if key = #13 then | ||||
|   begin | ||||
|     key := #0; | ||||
|     try | ||||
|       v := Trunc(StrToFloat(txtVibrancy.Text) * 100); | ||||
|       if v > scrollVibrancy.Max then v := scrollVibrancy.Max; | ||||
|       if v < scrollVibrancy.Min then v := scrollVibrancy.Min; | ||||
|       ScrollVibrancy.Position := v; | ||||
|       UpdateFlame; | ||||
|     except on EConvertError do | ||||
|     end; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.txtVibrancyExit(Sender: TObject); | ||||
| var | ||||
|   v: integer; | ||||
| begin | ||||
|   try | ||||
|     v := Trunc(StrToFloat(txtVibrancy.Text) * 100); | ||||
|     if v > scrollVibrancy.Max then v := scrollVibrancy.Max; | ||||
|     if v < scrollVibrancy.Min then v := scrollVibrancy.Min; | ||||
|     ScrollVibrancy.Position := v; | ||||
|     UpdateFlame; | ||||
|   except on EConvertError do | ||||
|       txtVibrancy.Text := FloatToStr(cp.Vibrancy); | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollZoomScroll(Sender: TObject; | ||||
|   ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
| begin | ||||
|   if ScrollCode = scEndScroll then UpdateFlame; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollCenterXScroll(Sender: TObject; | ||||
|   ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
| begin | ||||
|   if ScrollCode = scEndScroll then UpdateFlame; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollCenterYScroll(Sender: TObject; | ||||
|   ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
| begin | ||||
|   if ScrollCode = scEndScroll then UpdateFlame; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollGammaScroll(Sender: TObject; | ||||
|   ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
| begin | ||||
|   if ScrollCode = scEndScroll then UpdateFlame; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollBrightnessScroll(Sender: TObject; | ||||
|   ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
| begin | ||||
|   if ScrollCode = scEndScroll then UpdateFlame; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollVibrancyScroll(Sender: TObject; | ||||
|   ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
| begin | ||||
|   if ScrollCode = scEndScroll then UpdateFlame; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollVibrancyChange(Sender: TObject); | ||||
| begin | ||||
|   cp.Vibrancy := ScrollVibrancy.Position / 100; | ||||
|   txtVibrancy.text := FloatToStr(cp.Vibrancy); | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollGammaChange(Sender: TObject); | ||||
| begin | ||||
|   cp.Gamma := scrollGamma.Position / 100; | ||||
|   txtGamma.text := FloatToStr(cp.Gamma); | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollBrightnessChange(Sender: TObject); | ||||
| begin | ||||
|   cp.Brightness := ScrollBrightness.Position / 100; | ||||
|   txtBrightness.text := FloatToStr(cp.Brightness); | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollZoomChange(Sender: TObject); | ||||
| begin | ||||
|   cp.zoom := scrollZoom.Position / 100; | ||||
|   txtZoom.text := FloatToStr(cp.zoom); | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollCenterXChange(Sender: TObject); | ||||
| begin | ||||
|   cp.center[0] := scrollCenterX.Position / 100; | ||||
|   txtCenterX.text := FloatToStr(cp.center[0]); | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollCenterYChange(Sender: TObject); | ||||
| begin | ||||
|   cp.center[1] := scrollCenterY.Position / 100; | ||||
|   txtCentery.text := FloatToStr(cp.center[1]); | ||||
|   DrawPreview; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.ColorPanelClick(Sender: TObject); | ||||
| var | ||||
|   col: Longint; | ||||
| begin | ||||
|   ColorDialog.Color := COlorPanel.Color; | ||||
|   if ColorDialog.Execute then | ||||
|   begin | ||||
|     ColorPanel.Color := ColorDialog.Color; | ||||
|     col := ColorToRGB(ColorDialog.Color); | ||||
|     cp.background[0] := col and 255; | ||||
|     cp.background[1] := col shr 8 and 255; | ||||
|     cp.background[2] := col shr 16 and 255; | ||||
|     DrawPreview; | ||||
|     UpdateFlame; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| procedure TAdjustForm.scrollContrastScroll(Sender: TObject; | ||||
|   ScrollCode: TScrollCode; var ScrollPos: Integer); | ||||
| begin | ||||
|   if ScrollCode = scEndScroll then UpdateFlame; | ||||
| end; | ||||
|  | ||||
| end. | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 ronaldhordijk
					ronaldhordijk