You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
(27) |
Jul
(15) |
Aug
(1) |
Sep
(63) |
Oct
(50) |
Nov
(3) |
Dec
(8) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(5) |
Feb
|
Mar
(24) |
Apr
(29) |
May
(1) |
Jun
(5) |
Jul
|
Aug
(4) |
Sep
(18) |
Oct
(3) |
Nov
(10) |
Dec
(13) |
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
(27) |
Jul
(8) |
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(10) |
Aug
(18) |
Sep
(10) |
Oct
(13) |
Nov
|
Dec
(2) |
| 2009 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
(22) |
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(3) |
Oct
(3) |
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
|
| 2021 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Thefractelsheep 2. <lan...@gm...> - 2021-04-12 10:37:41
|
|
From: axel l. <ric...@gm...> - 2021-04-12 10:18:36
|
|
From: Peter S. <zu...@us...> - 2010-11-22 18:33:52
|
Update of /cvsroot/apophysis/2.10/Project/delphi6 In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv26232 Modified Files: Apophysis.dof Apophysis.dpr Apophysis.res Log Message: project files update Index: Apophysis.res =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.res,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsbcFqtK and /tmp/cvsOgq9s0 differ Index: Apophysis.dof =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.dof,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Apophysis.dof 20 Apr 2009 08:19:31 -0000 1.3 --- Apophysis.dof 22 Nov 2010 18:33:43 -0000 1.4 *************** *** 110,116 **** AutoIncBuild=0 MajorVer=2 ! MinorVer=0 ! Release=8 ! Build=3 Debug=0 PreRelease=0 --- 110,116 ---- AutoIncBuild=0 MajorVer=2 ! MinorVer=1 ! Release=0 ! Build=0 Debug=0 PreRelease=0 *************** *** 118,133 **** Private=0 DLL=0 ! Locale=3082 CodePage=1252 [Version Info Keys] CompanyName= ! FileDescription=Apophysis 2.08 beta ! FileVersion=2.0.8.3 InternalName= ! LegalCopyright=Copyright © 2005-2008 Apophysis Developers Team LegalTrademarks= OriginalFilename=Apophysis.exe ProductName= ! ProductVersion=2.0 Comments= [HistoryLists\hlDebugSourcePath] --- 118,133 ---- Private=0 DLL=0 ! Locale=1033 CodePage=1252 [Version Info Keys] CompanyName= ! FileDescription=Apophysis 2.1 ! FileVersion=2.1.0.0 InternalName= ! LegalCopyright=Copyright © 2005-2010 Apophysis Developers Team LegalTrademarks= OriginalFilename=Apophysis.exe ProductName= ! ProductVersion=2.1 Comments= [HistoryLists\hlDebugSourcePath] *************** *** 142,147 **** Count=3 Item0=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage ! Item1=..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage ! Item2=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage [HistoryLists\hlUnitOutputDirectory] Count=1 --- 142,147 ---- Count=3 Item0=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage ! Item1=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage ! Item2=..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage [HistoryLists\hlUnitOutputDirectory] Count=1 Index: Apophysis.dpr =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.dpr,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Apophysis.dpr 27 Apr 2009 15:59:32 -0000 1.4 --- Apophysis.dpr 22 Nov 2010 18:33:44 -0000 1.5 *************** *** 92,99 **** begin ! if now >= EncodeDate(2009, 9, 9) then begin ! ShowMessage('This version has expired. Please go to http://sourceforge.net/project/apophysis and download the latest version.'); ! Halt ! end; Application.Initialize; --- 92,99 ---- begin ! // if now >= EncodeDate(2012, 12, 21) then begin ! // ShowMessage('This version has expired. Please go to http://sourceforge.net/project/apophysis and download the latest version.'); ! // Halt ! // end; Application.Initialize; *************** *** 119,122 **** --- 119,123 ---- Application.CreateForm(TfrmImageColoring, frmImageColoring); Application.CreateForm(TTraceForm, TraceForm); + Application.CreateForm(TValueReplacerForm, ValueReplacerForm); Application.UpdateFormatSettings := False; DecimalSeparator := '.'; |
|
From: Peter S. <zu...@us...> - 2010-11-14 12:40:42
|
Update of /cvsroot/apophysis/2.10/Source In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv7363 Modified Files: About.dfm Log Message: version number updated Index: About.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/About.dfm,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** About.dfm 31 Aug 2009 23:35:17 -0000 1.19 --- About.dfm 14 Nov 2010 12:40:34 -0000 1.20 *************** *** 1882,1886 **** Width = 58 Height = 13 ! Caption = 'version 2.09' end object Label3: TLabel --- 1882,1886 ---- Width = 58 Height = 13 ! Caption = 'version 2.10' end object Label3: TLabel *************** *** 1919,1923 **** Width = 178 Height = 13 ! Caption = 'Copyright '#169' 1992-2009 Scott Draves' end object lblFlamecom: TLabel --- 1919,1923 ---- Width = 178 Height = 13 ! Caption = 'Copyright '#169' 1992-2010 Scott Draves' end object lblFlamecom: TLabel *************** *** 1972,1976 **** Width = 110 Height = 13 ! Caption = 'Copyright '#169' 2005-2009' end object Label7: TLabel --- 1972,1976 ---- Width = 110 Height = 13 ! Caption = 'Copyright '#169' 2005-2010' end object Label7: TLabel |
|
From: Peter S. <zu...@us...> - 2010-11-14 10:55:26
|
Update of /cvsroot/apophysis/2.10/Source In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv7095 Modified Files: ControlPoint.pas RenderMT.pas RenderST.pas RenderThread.pas Log Message: cleanup Index: ControlPoint.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/ControlPoint.pas,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** ControlPoint.pas 20 Apr 2009 07:53:17 -0000 1.43 --- ControlPoint.pas 14 Nov 2010 10:55:18 -0000 1.44 *************** *** 163,170 **** // procedure IterateXY(NrPoints: integer; var Points: TPointsXYArray); procedure IterateXYC(NrPoints: integer; var Points: TPointsArray); - // procedure IterateXYCC(NrPoints: integer; var Points: T2CPointsArray); procedure Prepare; - // procedure Testiterate(NrPoints: integer; var Points: TPointsArray); function Clone: TControlPoint; --- 163,168 ---- *************** *** 496,599 **** end; - /////////////////////////////////////////////////////////////////////////////// - { - procedure TControlPoint.Testiterate(NrPoints: integer; var Points: TPointsArray); - var - i: Integer; - px, py, pc, pt: double; - CurrentPoint: PCPPoint; - begin - - PreparePropTable; - - for i := 0 to NXFORMS - 1 do - xform[i].prepare; - - for i := 0 to NrPoints - 1 do begin - px := 4 * (-1 + 2 * random); - py := 4 * (-1 + 2 * random); - - pc := 0.1 + 0.5 * sqrt(sqr(px/4)+ sqr(py/4)) ; - if abs(px)< 0.02 then - pc := 1 ; - if abs(py)< 0.02 then - pc := 1 ; - if abs(frac(px))< 0.01 then - pc := 1 ; - if abs(frac(py))< 0.01 then - pc := 1 ; - if abs(sqrt(sqr(px/4)+ sqr(py/4)) - 0.9) < 0.02 then - pc := 0; - try - - PropTable[Random(PROP_TABLE_SIZE)].NextPoint(px,py,pt); - except - on EMathError do begin - exit; - end; - end; - // store points - if i >= 0 then begin - CurrentPoint := @Points[i]; - CurrentPoint.X := px; - CurrentPoint.Y := py; - CurrentPoint.C := pc; - end - end; - end; - } - - { - procedure TControlPoint.IterateXYCC(NrPoints: integer; var Points: T2CPointsArray); - var - i: Integer; - //px, py, pc1, pc2: double; - p: T2CPoint; - CurrentPoint: P2Cpoint; - - xf: TXform; - begin - p.x := 2 * random - 1; - p.y := 2 * random - 1; - p.c1 := random; - p.c2 := random; - - try - xf := xform[random(NumXForms)]; - for i := 0 to FUSE do begin - xf := xf.PropTable[Random(PROP_TABLE_SIZE)]; - xf.NextPoint2C(p);//px, py, pc1, pc2); - end; - - CurrentPoint := @Points[0]; - if UseFinalXform then - for i := 0 to NrPoints - 1 do begin - xf := xf.PropTable[Random(PROP_TABLE_SIZE)]; - xf.NextPoint2C(p);//px, py, pc1, pc2); - CurrentPoint.X := p.x; - CurrentPoint.Y := p.y; - CurrentPoint.C1 := p.c1; - CurrentPoint.C2 := p.c2; - finalXform.NextPoint2C(CurrentPoint^); - Inc(CurrentPoint); - end - else - for i := 0 to NrPoints - 1 do begin - xf := xf.PropTable[Random(PROP_TABLE_SIZE)]; - xf.NextPoint2C(p); - CurrentPoint.X := p.x; - CurrentPoint.Y := p.y; - CurrentPoint.C1 := p.c1; - CurrentPoint.C2 := p.c2; - Inc(CurrentPoint); - end - except - on EMathError do begin - exit; - end; - end; - end; - } - function TControlPoint.BlowsUp(NrPoints: integer): boolean; var --- 494,497 ---- *************** *** 602,606 **** minx, maxx, miny, maxy: double; Points: TPointsArray; //TPointsXYArray; ! CurrentPoint: PXYPoint; xf: TXForm; --- 500,504 ---- minx, maxx, miny, maxy: double; Points: TPointsArray; //TPointsXYArray; ! CurrentPoint: PCPPoint; xf: TXForm; Index: RenderMT.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/RenderMT.pas,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** RenderMT.pas 10 Oct 2008 13:25:39 -0000 1.6 --- RenderMT.pas 14 Nov 2010 10:55:18 -0000 1.7 *************** *** 121,125 **** procedure TBaseMTRenderer.Prepare; begin ! fcp.Prepare; end; --- 121,129 ---- procedure TBaseMTRenderer.Prepare; begin ! try ! fcp.Prepare; ! except ! on EMathError do ; ! end; end; Index: RenderThread.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/RenderThread.pas,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** RenderThread.pas 20 Apr 2009 07:43:43 -0000 1.17 --- RenderThread.pas 14 Nov 2010 10:55:18 -0000 1.18 *************** *** 205,209 **** FRenderer.SetCP(FCP); // FRenderer.SetThreadPriority(self.Priority); - // FRenderer.compatibility := compatibility; FRenderer.MinDensity := FMinDensity; FRenderer.OnProgress := FOnProgress; --- 205,208 ---- Index: RenderST.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/RenderST.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** RenderST.pas 18 Dec 2008 16:12:00 -0000 1.5 --- RenderST.pas 14 Nov 2010 10:55:18 -0000 1.6 *************** *** 48,55 **** finalXform := fcp.xform[n]; - finalXform.Prepare; useFinalXform := fcp.FinalXformEnabled and fcp.HasFinalXform; ! fcp.Prepare; end; --- 48,58 ---- finalXform := fcp.xform[n]; useFinalXform := fcp.FinalXformEnabled and fcp.HasFinalXform; ! try ! fcp.Prepare; ! except ! on EMathError do ; ! end; end; |
|
From: Peter S. <zu...@us...> - 2010-11-14 10:54:31
|
Update of /cvsroot/apophysis/2.10/Source In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv6467 Modified Files: ScriptForm.pas XForm.pas Log Message: variables renamed Index: XForm.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/XForm.pas,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** XForm.pas 20 Apr 2009 07:53:17 -0000 1.45 --- XForm.pas 14 Nov 2010 10:54:23 -0000 1.46 *************** *** 2155,2159 **** result := Format(' <xform weight="%g" color="%g" ', [weight, color]); if color_speed <> 0 then ! result := result + format('symmetry="%g" ', [color_speed]); if opacity <> 1 then Result := Result + Format('opacity="%g" ', [opacity]); --- 2155,2161 ---- result := Format(' <xform weight="%g" color="%g" ', [weight, color]); if color_speed <> 0 then ! result := result + format('color_speed="%g" ', [color_speed]); ! if animate <> 0 then ! result := result + format('animate="%g" ', [color_speed]); if opacity <> 1 then Result := Result + Format('opacity="%g" ', [opacity]); *************** *** 2201,2207 **** // result := Format(' <finalxform enabled="%d" color="%g" symmetry="%g" ', // [ifthen(IsEnabled, 1, 0), color, symmetry]); ! result := Format(' <finalxform color="%g" ', [color]); ! if color_speed <> 0 then result := result + format('symmetry="%g" ', [color_speed]); ! for i := 0 to nrvar - 1 do begin if vars[i] <> 0 then Result := Result + varnames(i) + format('="%g" ', [vars[i]]); --- 2203,2210 ---- // result := Format(' <finalxform enabled="%d" color="%g" symmetry="%g" ', // [ifthen(IsEnabled, 1, 0), color, symmetry]); ! Result := ' <finalxform '; ! if color_speed <> 1 then ! Result := Result + format('color="%g" color_speed="%g" ', [color, color_speed]); ! for i := 0 to NrVar - 1 do begin if vars[i] <> 0 then Result := Result + varnames(i) + format('="%g" ', [vars[i]]); Index: ScriptForm.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/ScriptForm.pas,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** ScriptForm.pas 20 Apr 2009 07:57:45 -0000 1.42 --- ScriptForm.pas 14 Nov 2010 10:54:23 -0000 1.43 *************** *** 26,30 **** atScript, atPascal, AdvMemo, Advmps, XFormMan, XForm, GradientHlpr, cmap; ! const NCPS = 10; type TOptions = class --- 26,34 ---- atScript, atPascal, AdvMemo, Advmps, XFormMan, XForm, GradientHlpr, cmap; ! const ! NCPS = 10; ! ! scriptFavsFilename = 'favorites'; ! type TOptions = class *************** *** 3736,3740 **** if there then exit; Favorites.Add(Script); ! Favorites.SaveToFile(AppPath + 'favorites'); end; --- 3740,3744 ---- if there then exit; Favorites.Add(Script); ! Favorites.SaveToFile(AppPath + scriptFavsFilename); end; |
|
From: Peter S. <zu...@us...> - 2010-11-14 10:51:09
|
Update of /cvsroot/apophysis/2.10/Source In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv5777 Modified Files: Main.dfm Main.pas Log Message: buggy thumbnails disabled Index: Main.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.pas,v retrieving revision 1.83 retrieving revision 1.84 diff -C2 -d -r1.83 -r1.84 *** Main.pas 9 Oct 2009 16:53:58 -0000 1.83 --- Main.pas 14 Nov 2010 10:51:00 -0000 1.84 *************** *** 55,58 **** --- 55,60 ---- TWin32Version = (wvUnknown, wvWin95, wvWin98, wvWinNT, wvWin2000, wvWinXP); + {$define _NO_THUMBNAILS_} // they only crash anyway + type TThumbsRenderThread = class(TThread) *************** *** 2018,2022 **** FileStrings: TStringList; ParamStrings: TStringList; ! RenderThread: TThumbsRenderThread; Bitmap: TBitmap; begin --- 2020,2024 ---- FileStrings: TStringList; ParamStrings: TStringList; ! ThumbsRenderThread: TThumbsRenderThread; Bitmap: TBitmap; begin *************** *** 2068,2075 **** MainForm.ListView.Items.EndUpdate; // start to render thumbs in background ! RenderThread := TThumbsRenderThread.Create(true); ! RenderThread.ListView := MainForm.ListView; ! RenderThread.Thumbnails := MainForm.Thumbnails; ! RenderThread.Resume; case sel of 0: MainForm.ListView.Selected := MainForm.ListView.Items[MainForm.ListView.Items.Count - 1]; --- 2070,2079 ---- MainForm.ListView.Items.EndUpdate; // start to render thumbs in background ! {$ifndef _NO_THUMBNAILS_} ! ThumbsRenderThread := TThumbsRenderThread.Create(true); ! ThumbsRenderThread.ListView := MainForm.ListView; ! ThumbsRenderThread.Thumbnails := MainForm.Thumbnails; ! ThumbsRenderThread.Resume; ! {$endif} case sel of 0: MainForm.ListView.Selected := MainForm.ListView.Items[MainForm.ListView.Items.Count - 1]; *************** *** 2514,2519 **** s: string; begin ! if not FileExists(AppPath + 'favorites') then exit; ! Favorites.LoadFromFile(AppPath + 'favorites'); if Trim(Favorites.Text) = '' then exit; if Favorites.count <> 0 then --- 2518,2523 ---- s: string; begin ! if not FileExists(AppPath + scriptFavsFilename) then exit; ! Favorites.LoadFromFile(AppPath + scriptFavsFilename); if Trim(Favorites.Text) = '' then exit; if Favorites.count <> 0 then *************** *** 2563,2566 **** --- 2567,2575 ---- {$ENDIF} *) + {$ifdef _NO_THUMBNAILS_} + tbShowIcons.Visible := false; + tbShowList.Visible := false; + ToolButton9.Visible := false; + {$endif} FMouseMoveState := msDrag; *************** *** 4319,4326 **** TagName: String; Attributes: TAttrList); const ! ValidAttributes: array[0..9] of string = ( 'coefs', 'post', 'weight', 'color', 'symmetry', 'noplot', 'chaos', 'enabled', ! 'plotmode', 'opacity' ); var --- 4328,4335 ---- TagName: String; Attributes: TAttrList); const ! ValidAttributes: array[0..11] of string = ( 'coefs', 'post', 'weight', 'color', 'symmetry', 'noplot', 'chaos', 'enabled', ! 'plotmode', 'opacity', 'color_speed', 'animate' ); var *************** *** 4509,4516 **** with ParseCP.xform[nXform] do begin Clear; ! v := Attributes.Value('weight'); ! if (v <> '') and (TagName = 'xform') then weight := StrToFloat(v); ! if (TagName = 'finalxform') then begin v := Attributes.Value('enabled'); if v <> '' then ParseCP.finalXformEnabled := (StrToInt(v) <> 0) --- 4518,4529 ---- with ParseCP.xform[nXform] do begin Clear; ! if (TagName = 'xform') then begin ! v := Attributes.Value('weight'); ! if (v <> '') then weight := StrToFloat(v); ! end ! else // if (TagName = 'finalxform') then begin + weight := 0; + color_speed := 1; v := Attributes.Value('enabled'); if v <> '' then ParseCP.finalXformEnabled := (StrToInt(v) <> 0) *************** *** 4526,4529 **** --- 4539,4543 ---- v := Attributes.Value('color_speed'); if v <> '' then color_speed := StrToFloat(v); + v := Attributes.Value('coefs'); GetTokens(v, tokens); *************** *** 4772,4776 **** FViewPos.X := FViewPos.X + (x - FClickRect.Right) / scale; FViewPos.Y := FViewPos.Y + (y - FClickRect.Bottom) / scale; - //FClickRect.BottomRight := Point(x, y); DrawImageView; --- 4786,4789 ---- *************** *** 4783,4800 **** if ssShift in Shift then // angle snap FRotateAngle := Round(FRotateAngle/snap_angle)*snap_angle; - //SelectRect.Left := x; - - // pdjpointgen.Rotate(FRotateAngle); - // FRotateAngle := 0; DrawRotatelines(FRotateAngle); DrawSelection := true; - { - Image.Refresh; - if AdjustForm.Visible then begin - MainCp.FAngle:=-FRotateAngle; - AdjustForm.UpdateDisplay; - end; - } end; end; --- 4796,4802 ---- *************** *** 4989,4993 **** Image.Canvas.Brush.Style := bsClear; - // Image.Canvas.Rectangle(FSelectRect); points[0].x := (Image.Width div 2)-1; points[0].y := (Image.Height div 2)-1; --- 4991,4994 ---- *************** *** 5190,5194 **** if FMouseMoveState = msRotateMove then begin - // FRotateAngle := 0; StopThread; UpdateUndo; --- 5191,5194 ---- *************** *** 5391,5395 **** index := i; lcp := TControlPoint.Create; - lcp.Clear; MainForm.LoadXMLFlame(OpenFile, i, lcp); --- 5391,5394 ---- *************** *** 5423,5427 **** procedure TThumbsRenderThread.PaintThumb; begin ! FThumbnails.Add(FBitmap, nil); FListView.Items.Item[index].ImageIndex := FThumbnails.Count-1; end; --- 5422,5429 ---- procedure TThumbsRenderThread.PaintThumb; begin ! if FThumbnails.Count <= index then ! FThumbnails.Add(FBitmap, nil) ! else ! FThumbnails.Replace(index, FBitmap, nil); FListView.Items.Item[index].ImageIndex := FThumbnails.Count-1; end; Index: Main.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.dfm,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** Main.dfm 31 Aug 2009 23:31:08 -0000 1.49 --- Main.dfm 14 Nov 2010 10:51:00 -0000 1.50 *************** *** 32,36 **** Top = 28 Width = 4 ! Height = 436 end object ToolBar: TToolBar --- 32,36 ---- Top = 28 Width = 4 ! Height = 430 end object ToolBar: TToolBar *************** *** 333,337 **** Top = 28 Width = 137 ! Height = 436 Align = alLeft BevelOuter = bvNone --- 333,337 ---- Top = 28 Width = 137 ! Height = 430 Align = alLeft BevelOuter = bvNone *************** *** 346,354 **** PopupMenu = ListPopUp ShowHint = True TabOrder = 0 OnChange = ListViewChange OnChanging = ListViewChanging OnEdited = ListViewEdited - OnInfoTip = ListViewInfoTip OnSelectItem = ListViewSelectItem end --- 346,355 ---- PopupMenu = ListPopUp ShowHint = True + SmallImages = SmallImages TabOrder = 0 + ViewStyle = vsReport OnChange = ListViewChange OnChanging = ListViewChanging OnEdited = ListViewEdited OnSelectItem = ListViewSelectItem end *************** *** 357,361 **** Top = 28 Width = 580 ! Height = 436 Align = alClient BevelInner = bvLowered --- 358,362 ---- Top = 28 Width = 580 ! Height = 430 Align = alClient BevelInner = bvLowered *************** *** 368,372 **** Top = 1 Width = 578 ! Height = 434 Align = alClient Anchors = [] --- 369,373 ---- Top = 1 Width = 578 ! Height = 428 Align = alClient Anchors = [] *************** *** 382,386 **** object StatusBar: TStatusBar Left = 0 ! Top = 464 Width = 721 Height = 19 --- 383,387 ---- object StatusBar: TStatusBar Left = 0 ! Top = 458 Width = 721 Height = 19 *************** *** 400,404 **** Top = 56 Bitmap = { ! 494C010138003B00040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600 000000000000360000002800000040000000F0000000010020000000000000F0 0000000000000000000000000000000000000000000000000000000000000000 --- 401,405 ---- Top = 56 Bitmap = { ! 494C010138003B00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 000000000000360000002800000040000000F0000000010020000000000000F0 0000000000000000000000000000000000000000000000000000000000000000 *************** *** 2384,2388 **** C003000180018000C003001F80018000C003001F80018001C003001F80018001 C0038FF180018001C007FFF980018001C00FFF7580018001C01FFF8F80018001 ! C03FFFFF80018001FFFFFFFFFFFFFFFF} end object SmallImages: TImageList --- 2385,2390 ---- C003000180018000C003001F80018000C003001F80018001C003001F80018001 C0038FF180018001C007FFF980018001C00FFF7580018001C01FFF8F80018001 ! C03FFFFF80018001FFFFFFFFFFFFFFFF00000000000000000000000000000000 ! 000000000000} end object SmallImages: TImageList |
|
From: Piotr B. <ut...@us...> - 2009-10-09 16:54:12
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv8888 Modified Files: Main.pas Log Message: Get rid of a memleak in thumbs renderer. Changed project's options to not showing warnings about "unsafe code" (FastMM!). Index: Main.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.pas,v retrieving revision 1.82 retrieving revision 1.83 diff -C2 -d -r1.82 -r1.83 *** Main.pas 1 Sep 2009 22:10:56 -0000 1.82 --- Main.pas 9 Oct 2009 16:53:58 -0000 1.83 *************** *** 43,47 **** RS_VO = 3; ! AppVersionString = 'Apophysis 2.09 pre-beta 2'; randFilename = 'apophysis.rand'; --- 43,47 ---- RS_VO = 3; ! AppVersionString = 'Apophysis 2.10'; randFilename = 'apophysis.rand'; *************** *** 5387,5391 **** FreeOnTerminate := True; - FBitmap := TBitmap.Create; for i := 0 to FListView.Items.Count-1 do begin --- 5387,5390 ---- *************** *** 5413,5417 **** FBitmap := RenderEngine.GetImage; Synchronize(PaintThumb); - //FBitmap.FreeImage; RenderEngine.Free; end; --- 5412,5415 ---- *************** *** 5421,5425 **** xmlErrorsList.Clear; end; - FBitmap.Free; end; --- 5419,5422 ---- |
|
From: Piotr B. <ut...@us...> - 2009-10-09 16:53:53
|
Update of /cvsroot/apophysis/2.10/Project/delphi7 In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv8829 Modified Files: Apophysis.dpr Log Message: Get rid of a memleak in thumbs renderer. Changed project's options to not showing warnings about "unsafe code" (FastMM!). Index: Apophysis.dpr =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi7/Apophysis.dpr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Apophysis.dpr 31 Aug 2009 23:36:57 -0000 1.1 --- Apophysis.dpr 9 Oct 2009 16:53:43 -0000 1.2 *************** *** 92,100 **** begin if now >= EncodeDate(2010, 3, 15) then begin ShowMessage('This version has expired. Please go to http://sourceforge.net/project/apophysis and download the latest version.'); Halt end; ! Application.Initialize; Application.Title := 'Apophysis'; --- 92,101 ---- begin + { if now >= EncodeDate(2010, 3, 15) then begin ShowMessage('This version has expired. Please go to http://sourceforge.net/project/apophysis and download the latest version.'); Halt end; ! } Application.Initialize; Application.Title := 'Apophysis'; |
|
From: Peter S. <zu...@us...> - 2009-10-08 16:29:35
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv24446 Modified Files: Editor.pas Log Message: polar mode for var preview; weight cloned when adding linked xform "before" Index: Editor.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Editor.pas,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -d -r1.71 -r1.72 *** Editor.pas 21 Apr 2009 07:58:23 -0000 1.71 --- Editor.pas 8 Oct 2009 16:29:21 -0000 1.72 *************** *** 380,384 **** viewDragMode, viewDragged: boolean; ! editMode, oldMode, widgetMode: (modeNone, modeMove, modeRotate, modeScale, modePick); modeHack: boolean; // for mouseOverEdge... modeKey: word; --- 380,384 ---- viewDragMode, viewDragged: boolean; ! editMode, oldMode, bracketMode: (modeNone, modeMove, modeRotate, modeScale, modePick); modeHack: boolean; // for mouseOverEdge... modeKey: word; *************** *** 387,394 **** MousePos: TPoint; // in screen coordinates ! mouseOverTriangle, mouseOverEdge, mouseOverCorner, mouseOverWidget: integer; mouseOverPos: TSPoint; ! Widgets: array[0..3] of array [0..2] of TSPoint; xx, xy, yx, yy: double; --- 387,394 ---- MousePos: TPoint; // in screen coordinates ! mouseOverTriangle, mouseOverEdge, mouseOverCorner, mouseOverBracket: integer; mouseOverPos: TSPoint; ! Brackets: array[0..3] of array [0..2] of TSPoint; xx, xy, yx, yy: double; *************** *** 440,444 **** procedure UpdateFlameX; procedure UpdateFlame(DrawMain: boolean); ! procedure UpdateWidgets; procedure UpdateXformsList; --- 440,444 ---- procedure UpdateFlameX; procedure UpdateFlame(DrawMain: boolean); ! procedure UpdateBrackets; procedure UpdateXformsList; *************** *** 1098,1102 **** end; ! procedure TEditForm.UpdateWidgets; function Point(x, y: double): TSPoint; begin --- 1098,1102 ---- end; ! procedure TEditForm.UpdateBrackets; function Point(x, y: double): TSPoint; begin *************** *** 1111,1129 **** yx := x[2] - x[1]; yy := y[2] - y[1]; ! Widgets[0][0] := Point(x[1] + 0.8*xx + yx, y[1] + 0.8*xy + yy); ! Widgets[0][1] := Point(x[1] + xx + yx, y[1] + xy + yy); ! Widgets[0][2] := Point(x[1] + xx + 0.8*yx, y[1] + xy + 0.8*yy); ! Widgets[1][0] := Point(x[1] - 0.8*xx + yx, y[1] - 0.8*xy + yy); ! Widgets[1][1] := Point(x[1] - xx + yx, y[1] - xy + yy); ! Widgets[1][2] := Point(x[1] - xx + 0.8*yx, y[1] - xy + 0.8*yy); ! Widgets[2][0] := Point(x[1] - 0.8*xx - yx, y[1] - 0.8*xy - yy); ! Widgets[2][1] := Point(x[1] - xx - yx, y[1] - xy - yy); ! Widgets[2][2] := Point(x[1] - xx - 0.8*yx, y[1] - xy - 0.8*yy); ! Widgets[3][0] := Point(x[1] + 0.8*xx - yx, y[1] + 0.8*xy - yy); ! Widgets[3][1] := Point(x[1] + xx - yx, y[1] + xy - yy); ! Widgets[3][2] := Point(x[1] + xx - 0.8*yx, y[1] + xy - 0.8*yy); end; end; --- 1111,1129 ---- yx := x[2] - x[1]; yy := y[2] - y[1]; ! Brackets[0][0] := Point(x[1] + 0.8*xx + yx, y[1] + 0.8*xy + yy); ! Brackets[0][1] := Point(x[1] + xx + yx, y[1] + xy + yy); ! Brackets[0][2] := Point(x[1] + xx + 0.8*yx, y[1] + xy + 0.8*yy); ! Brackets[1][0] := Point(x[1] - 0.8*xx + yx, y[1] - 0.8*xy + yy); ! Brackets[1][1] := Point(x[1] - xx + yx, y[1] - xy + yy); ! Brackets[1][2] := Point(x[1] - xx + 0.8*yx, y[1] - xy + 0.8*yy); ! Brackets[2][0] := Point(x[1] - 0.8*xx - yx, y[1] - 0.8*xy - yy); ! Brackets[2][1] := Point(x[1] - xx - yx, y[1] - xy - yy); ! Brackets[2][2] := Point(x[1] - xx - 0.8*yx, y[1] - xy - 0.8*yy); ! Brackets[3][0] := Point(x[1] + 0.8*xx - yx, y[1] + 0.8*xy - yy); ! Brackets[3][1] := Point(x[1] + xx - yx, y[1] + xy - yy); ! Brackets[3][2] := Point(x[1] + xx - 0.8*yx, y[1] + xy - 0.8*yy); end; end; *************** *** 1303,1307 **** e, f: TPoint; ! procedure DrawWidgets; var i: integer; --- 1303,1307 ---- e, f: TPoint; ! procedure DrawBrackets; var i: integer; *************** *** 1312,1318 **** for i := 0 to 3 do begin ! a:=toscreen(Widgets[i][0].x, Widgets[i][0].y); ! b:=toscreen(Widgets[i][1].x, Widgets[i][1].y); ! c:=toscreen(Widgets[i][2].x, Widgets[i][2].y); moveto(a.x, a.y); lineto(b.x, b.y); --- 1312,1318 ---- for i := 0 to 3 do begin ! a:=toscreen(Brackets[i][0].x, Brackets[i][0].y); ! b:=toscreen(Brackets[i][1].x, Brackets[i][1].y); ! c:=toscreen(Brackets[i][2].x, Brackets[i][2].y); moveto(a.x, a.y); lineto(b.x, b.y); *************** *** 1325,1331 **** i, n, tc, tn: integer; d, d1: double; - tx, ty: double; ax, ay: integer; gridX1, gridX2, gridY1, gridY2, gi, gstep: double; --- 1325,1331 ---- i, n, tc, tn: integer; d, d1: double; ax, ay: integer; + tx, ty, tr, ta: double; gridX1, gridX2, gridY1, gridY2, gi, gstep: double; *************** *** 1496,1500 **** end; ! UpdateWidgets; if ExtendedEdit then begin n := GetTriangleColor(SelectedTriangle);// shr 1 and $7f7f7f; --- 1496,1500 ---- end; ! UpdateBrackets; if ExtendedEdit then begin n := GetTriangleColor(SelectedTriangle);// shr 1 and $7f7f7f; *************** *** 1502,1512 **** Pen.Color := n; Pen.Mode := pmMerge; ! DrawWidgets; ! if mouseOverWidget >= 0 then begin pen.Color := pen.Color shr 1 and $7f7f7f; pen.Width := 4; ! DrawWidgets; pen.Width := 1; end; --- 1502,1512 ---- Pen.Color := n; Pen.Mode := pmMerge; ! DrawBrackets; ! if mouseOverBracket >= 0 then begin pen.Color := pen.Color shr 1 and $7f7f7f; pen.Width := 4; ! DrawBrackets; pen.Width := 1; end; *************** *** 1518,1537 **** assert(trkVarPreviewDensity.position > 0); ! cp.xform[SelectedTriangle].Prepare; - n := trkVarPreviewRange.position * trkVarPreviewDensity.position * 5; - d1 := trkVarPreviewDensity.position * 5; - tc := GetTriangleColor(SelectedTriangle); - for ax := -n to n do - for ay := -n to n do try ! tx := ax / d1; ! ty := ay / d1; for i := trkVarPreviewDepth.position downto 1 do cp.xform[SelectedTriangle].NextPointXY(tx, ty); ! a := toscreen(tx, -ty); Pixels[a.x, a.y] := tc; except end; end; --- 1518,1570 ---- assert(trkVarPreviewDensity.position > 0); ! try ! cp.xform[SelectedTriangle].Prepare; ! except ! end; ! ! if btnCoefsPolar.Down then begin ! n := trkVarPreviewRange.position * trkVarPreviewDensity.position * 5; ! d1 := trkVarPreviewDensity.position * 5; ! tc := GetTriangleColor(SelectedTriangle); try ! tx := 0; ! ty := 0; for i := trkVarPreviewDepth.position downto 1 do cp.xform[SelectedTriangle].NextPointXY(tx, ty); ! a := ToScreen(tx, -ty); Pixels[a.x, a.y] := tc; except end; + for ax := -2*n to 2*n do + for ay := 1 to n do + try + tr := ay/d1; + ta := ax * PI/2/n; + tx := tr * cos(ta); + ty := tr * sin(ta); + for i := trkVarPreviewDepth.position downto 1 do + cp.xform[SelectedTriangle].NextPointXY(tx, ty); + a := ToScreen(tx, -ty); + Pixels[a.x, a.y] := tc; + except + end; + end + else begin + n := trkVarPreviewRange.position * trkVarPreviewDensity.position * 5; + d1 := trkVarPreviewDensity.position * 5; + tc := GetTriangleColor(SelectedTriangle); + for ax := -n to n do + for ay := -n to n do + try + tx := ax / d1; + ty := ay / d1; + for i := trkVarPreviewDepth.position downto 1 do + cp.xform[SelectedTriangle].NextPointXY(tx, ty); + a := ToScreen(tx, -ty); + Pixels[a.x, a.y] := tc; + except + end; + end; end; *************** *** 1857,1861 **** tbAxisLock.Down := AxisLock; ExtendedEdit := ExtEditEnabled; ! widgetMode := modeRotate; EdgeCaught := false; --- 1890,1894 ---- tbAxisLock.Down := AxisLock; ExtendedEdit := ExtEditEnabled; ! bracketMode := modeRotate; EdgeCaught := false; *************** *** 1865,1869 **** mouseOverCorner := -1; mouseOverEdge := -1; ! mouseOverWidget := -1; oldSelected := -1; --- 1898,1902 ---- mouseOverCorner := -1; mouseOverEdge := -1; ! mouseOverBracket := -1; oldSelected := -1; *************** *** 1938,1942 **** if not (CornerCaught or TriangleCaught) then // look for a point under cursor begin ! mouseOverWidget := -1; mouseOverEdge := -1; mouseOverCorner:= -1; --- 1971,1975 ---- if not (CornerCaught or TriangleCaught) then // look for a point under cursor begin ! mouseOverBracket := -1; mouseOverEdge := -1; mouseOverCorner:= -1; *************** *** 2000,2011 **** if ExtendedEdit then //and (oldMode = modeNone) then begin ! for i := 0 to 3 do // -- detect 'widget' hit for j := 0 to 1 do begin ! if abs(line_dist(fx, fy, Widgets[i][j].x, Widgets[i][j].y, ! Widgets[i][j+1].x, Widgets[i][j+1].y) ) * GraphZoom * 50 < 3 then begin mouseOverTriangle := SelectedTriangle; ! mouseOverWidget := i; // mouseOverEdge := -1; // mouseOverCorner:= -1; --- 2033,2044 ---- if ExtendedEdit then //and (oldMode = modeNone) then begin ! for i := 0 to 3 do // -- detect bracket hit for j := 0 to 1 do begin ! if abs(line_dist(fx, fy, Brackets[i][j].x, Brackets[i][j].y, ! Brackets[i][j+1].x, Brackets[i][j+1].y) ) * GraphZoom * 50 < 3 then begin mouseOverTriangle := SelectedTriangle; ! mouseOverBracket := i; // mouseOverEdge := -1; // mouseOverCorner:= -1; *************** *** 2046,2050 **** if (mouseOverTriangle >= 0) or (SelectMode = false) or (oldMode <> modeNone) then begin ! if (mouseOverWidget >= 0) and (oldMode = modeNone) then TriangleView.Cursor := crEditRotate else --- 2079,2083 ---- if (mouseOverTriangle >= 0) or (SelectMode = false) or (oldMode <> modeNone) then begin ! if (mouseOverBracket >= 0) and (oldMode = modeNone) then TriangleView.Cursor := crEditRotate else *************** *** 2383,2391 **** if ExtendedEdit then //and (oldMode = modeNone) then begin ! for i := 0 to 3 do // -- detect 'widget' hit for j := 0 to 1 do begin ! if abs(line_dist(fx, fy, Widgets[i][j].x, Widgets[i][j].y, ! Widgets[i][j+1].x, Widgets[i][j+1].y) ) * GraphZoom * 50 < 3 then begin --- 2416,2424 ---- if ExtendedEdit then //and (oldMode = modeNone) then begin ! for i := 0 to 3 do // -- detect bracket hit for j := 0 to 1 do begin ! if abs(line_dist(fx, fy, Brackets[i][j].x, Brackets[i][j].y, ! Brackets[i][j+1].x, Brackets[i][j+1].y) ) * GraphZoom * 50 < 3 then begin *************** *** 3924,3928 **** end; end ! else if mouseOverWidget >= 0 then begin case editMode of modeScale: mnuResetTrgScaleClick(Sender); --- 3957,3961 ---- end; end ! else if mouseOverBracket >= 0 then begin case editMode of modeScale: mnuResetTrgScaleClick(Sender); *************** *** 4199,4202 **** --- 4232,4236 ---- begin ShowSelectedInfo; + TriangleView.Invalidate; end; *************** *** 5168,5172 **** MainTriangles[Transforms] := MainTriangles[-1]; cp.xform[Transforms].Clear; ! cp.xform[Transforms].weight := 0.5; cp.xform[Transforms].vars[0] := 1; --- 5202,5206 ---- MainTriangles[Transforms] := MainTriangles[-1]; cp.xform[Transforms].Clear; ! cp.xform[Transforms].weight := cp.xform[SelectedTriangle].weight; cp.xform[Transforms].vars[0] := 1; |
|
From: Piotr B. <ut...@us...> - 2009-09-01 22:14:02
|
Update of /cvsroot/apophysis/2.10 In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv10282 Modified Files: Changes.txt Log Message: changelog update Index: Changes.txt =================================================================== RCS file: /cvsroot/apophysis/2.10/Changes.txt,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** Changes.txt 30 Aug 2009 21:50:26 -0000 1.28 --- Changes.txt 1 Sep 2009 22:13:51 -0000 1.29 *************** *** 3,6 **** --- 3,7 ---- + In variables list there're displayed only used ones + Not used variations are greyed out + + Thumbnails in flames list + "Symmetry" parameter renamed to "Color speed" + Added checking XML for unrecognized variation/variable values |
|
From: Piotr B. <ut...@us...> - 2009-09-01 22:12:30
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv10172 Modified Files: FastMM4Options.inc Log Message: FastMM set to detect memleaks and errors while run under IDE. No tests are made while run as a stand-alone app. Index: FastMM4Options.inc =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/FastMM4Options.inc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FastMM4Options.inc 25 Jul 2008 13:23:00 -0000 1.2 --- FastMM4Options.inc 1 Sep 2009 22:12:21 -0000 1.3 *************** *** 174,178 **** leaks. This option has no effect if the option "EnableMemoryLeakReporting" is not also set.} ! {.$define RequireIDEPresenceForLeakReporting} {Set this option to require the program to be run inside the IDE debugger to --- 174,178 ---- leaks. This option has no effect if the option "EnableMemoryLeakReporting" is not also set.} ! {$define RequireIDEPresenceForLeakReporting} {Set this option to require the program to be run inside the IDE debugger to *************** *** 185,189 **** compiled unit to perform memory leak checking. This option has no effect if the option "EnableMemoryLeakReporting" is not also set.} ! {.$define RequireDebugInfoForLeakReporting} {Set this option to enable manual control of the memory leak report. When --- 185,189 ---- compiled unit to perform memory leak checking. This option has no effect if the option "EnableMemoryLeakReporting" is not also set.} ! {$define RequireDebugInfoForLeakReporting} {Set this option to enable manual control of the memory leak report. When *************** *** 206,210 **** size move routines, so if UseCustomVariableSizeMoveRoutines is not set then this option has no effect.} ! {.$define EnableMMX} {Set this option to force the use of MMX instructions without checking --- 206,210 ---- size move routines, so if UseCustomVariableSizeMoveRoutines is not set then this option has no effect.} ! {$define EnableMMX} {Set this option to force the use of MMX instructions without checking *************** *** 260,264 **** Otherwise the default Delphi memory manager will be used (which is equivalent to the non-FullDebugMode FastMM since Delphi 2006.)} ! {.$define FullDebugModeInIDE} {Group the options you use for release and debug versions below} --- 260,264 ---- Otherwise the default Delphi memory manager will be used (which is equivalent to the non-FullDebugMode FastMM since Delphi 2006.)} ! {$define FullDebugModeInIDE} {Group the options you use for release and debug versions below} |
|
From: Piotr B. <ut...@us...> - 2009-09-01 22:11:06
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv9989 Modified Files: Main.pas Log Message: Thumbnails are rendered in a background process now. Index: Main.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.pas,v retrieving revision 1.81 retrieving revision 1.82 diff -C2 -d -r1.81 -r1.82 *** Main.pas 31 Aug 2009 23:31:09 -0000 1.81 --- Main.pas 1 Sep 2009 22:10:56 -0000 1.82 *************** *** 2,6 **** Apophysis Copyright (C) 2001-2004 Mark Townsend Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov ! Apophysis Copyright (C) 2007-2008 Piotr Borys, Peter Sdobnov This program is free software; you can redistribute it and/or modify --- 2,6 ---- Apophysis Copyright (C) 2001-2004 Mark Townsend Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov ! Apophysis Copyright (C) 2007-2009 Piotr Borys, Peter Sdobnov This program is free software; you can redistribute it and/or modify *************** *** 43,47 **** RS_VO = 3; ! AppVersionString = 'Apophysis 2.09 pre-beta 1'; randFilename = 'apophysis.rand'; --- 43,47 ---- RS_VO = 3; ! AppVersionString = 'Apophysis 2.09 pre-beta 2'; randFilename = 'apophysis.rand'; *************** *** 56,59 **** --- 56,78 ---- type + TThumbsRenderThread = class(TThread) + private + FListView: TListView; + FThumbnails: TImageList; + FBitmap: TBitmap; + index: integer; + + procedure PaintThumb; + procedure SetListView(const Value: TListView); + procedure SetThumbnails(const Value: TImageList); + protected + procedure Execute; override; + public + constructor Create(CreateSuspended: Boolean); + property ListView: TListView read FListView write SetListView; + property Thumbnails: TImageList read FThumbnails write SetThumbnails; + end; + + type pRGBTripleArray = ^TRGBTripleArray; TRGBTripleArray = array[0..PixelCountMax - 1] of TRGBTriple; *************** *** 347,350 **** --- 366,370 ---- procedure LoadXMLFlame(filename, name: string); overload; procedure LoadXMLFlame(filename: string; index: integer); overload; + procedure LoadXMLFlame(filename: string; index: integer; var cp: TControlPoint); overload; procedure CheckXMLFlame(filename: string; index: integer); overload; procedure DisableFavorites; *************** *** 1998,2004 **** FileStrings: TStringList; ParamStrings: TStringList; Bitmap: TBitmap; - lcp: TControlPoint; - RenderEngine: TRenderer; begin FileStrings := TStringList.Create; --- 2018,2023 ---- FileStrings: TStringList; ParamStrings: TStringList; + RenderThread: TThumbsRenderThread; Bitmap: TBitmap; begin FileStrings := TStringList.Create; *************** *** 2006,2010 **** ParamStrings := TStringList.Create; try ! //MainForm.ListView.Items.BeginUpdate; MainForm.ListView.Items.Clear; MainForm.Thumbnails.Clear; --- 2025,2029 ---- ParamStrings := TStringList.Create; try ! MainForm.ListView.Items.BeginUpdate; MainForm.ListView.Items.Clear; MainForm.Thumbnails.Clear; *************** *** 2036,2081 **** if Title <> '' then begin { Otherwise bad format } - - if xmlErrorsList.Count = 0 then - begin - lcp := TControlPoint.Create; - lcp.Clear; - MainForm.ParseXML(lcp, PCHAR(ParamStrings.Text)); - - if xmlErrorsList.Count = 0 then - begin - lcp.sample_density := 0.5; - lcp.spatial_oversample := 1; - lcp.spatial_filter_radius := 0.3; - lcp.AdjustScale(MainForm.Thumbnails.Width, MainForm.Thumbnails.Height); - lcp.Transparency := false; - lcp.Width := MainForm.Thumbnails.Width; - lcp.Height := MainForm.Thumbnails.Height; - try - RenderEngine := TRenderer.Create; - assert(RenderEngine <> nil); - RenderEngine.SetCP(lcp); - RenderEngine.Render; - except - end; - MainForm.Thumbnails.Add(RenderEngine.GetImage, nil); - RenderEngine.Free; - end; - lcp.Free; - end; ListItem := MainForm.ListView.Items.Add; ListItem.Caption := Title; ! if xmlErrorsList.Count = 0 then ! ListItem.ImageIndex := MainForm.Thumbnails.Count-1 ! else xmlErrorsList.Clear; end; ParamStrings.Clear; ! Application.ProcessMessages; end; Inc(i); end; end; ! //MainForm.ListView.Items.EndUpdate; case sel of 0: MainForm.ListView.Selected := MainForm.ListView.Items[MainForm.ListView.Items.Count - 1]; --- 2055,2075 ---- if Title <> '' then begin { Otherwise bad format } ListItem := MainForm.ListView.Items.Add; ListItem.Caption := Title; ! if xmlErrorsList.Count > 0 then xmlErrorsList.Clear; end; ParamStrings.Clear; ! //Application.ProcessMessages; end; Inc(i); end; end; ! MainForm.ListView.Items.EndUpdate; ! // start to render thumbs in background ! RenderThread := TThumbsRenderThread.Create(true); ! RenderThread.ListView := MainForm.ListView; ! RenderThread.Thumbnails := MainForm.Thumbnails; ! RenderThread.Resume; case sel of 0: MainForm.ListView.Selected := MainForm.ListView.Items[MainForm.ListView.Items.Count - 1]; *************** *** 2977,2980 **** --- 2971,3018 ---- end; + procedure TMainForm.LoadXMLFlame(filename: string; index: integer; var cp: TControlPoint); + var + i, p: integer; + FileStrings: TStringList; + ParamStrings: TStringList; + flameindex: integer; + begin + FileStrings := TStringList.Create; + ParamStrings := TStringList.Create; + + try + FileStrings.LoadFromFile(filename); + flameindex := 0; + for i := 0 to FileStrings.Count - 1 do + begin + pname := ''; + ptime := ''; + pversion := ''; + p := Pos('<flame ', LowerCase(FileStrings[i])); + if (p <> 0) then + begin + if (flameIndex <> index) then begin + inc(flameIndex); + continue; + end; + MainForm.ListXMLScanner.LoadFromBuffer(PCHAR(FileStrings[i])); + MainForm.ListXMLScanner.Execute; + ParamStrings.Add(FileStrings[i]); + Break; + end; + end; + repeat + inc(i); + ParamStrings.Add(FileStrings[i]); + until pos('</flame>', Lowercase(FileStrings[i])) <> 0; + + ParseXML(cp, PCHAR(ParamStrings.Text)); + + finally + FileStrings.free; + ParamStrings.free; + end; + end; + procedure TMainForm.CheckXMLFlame(filename: string; index: integer); var *************** *** 5322,5324 **** --- 5360,5432 ---- end; + { + Separate thread for rendering thumbnails + } + + constructor TThumbsRenderThread.Create(CreateSuspended: Boolean) ; + begin + inherited; + end; + + procedure TThumbsRenderThread.SetListView(const Value: TListView); + begin + FListView := Value; + end; + + procedure TThumbsRenderThread.SetThumbnails(const Value: TImageList); + begin + FThumbnails := Value; + end; + + procedure TThumbsRenderThread.Execute; + var + lcp: TControlPoint; + RenderEngine: TRenderer; + i: integer; + begin + FreeOnTerminate := True; + + FBitmap := TBitmap.Create; + for i := 0 to FListView.Items.Count-1 do + begin + index := i; + lcp := TControlPoint.Create; + lcp.Clear; + MainForm.LoadXMLFlame(OpenFile, i, lcp); + + if xmlErrorsList.Count = 0 then + begin + lcp.sample_density := 0.5; + lcp.spatial_oversample := 1; + lcp.spatial_filter_radius := 0.3; + lcp.AdjustScale(FThumbnails.Width, FThumbnails.Height); + lcp.Transparency := false; + lcp.Width := FThumbnails.Width; + lcp.Height := FThumbnails.Height; + try + RenderEngine := TRenderer.Create; + assert(RenderEngine <> nil); + RenderEngine.SetCP(lcp); + RenderEngine.Render; + except + end; + FBitmap := RenderEngine.GetImage; + Synchronize(PaintThumb); + //FBitmap.FreeImage; + RenderEngine.Free; + end; + + lcp.Free; + if xmlErrorsList.Count > 0 then + xmlErrorsList.Clear; + end; + FBitmap.Free; + end; + + procedure TThumbsRenderThread.PaintThumb; + begin + FThumbnails.Add(FBitmap, nil); + FListView.Items.Item[index].ImageIndex := FThumbnails.Count-1; + end; + end. |
|
From: Piotr B. <ut...@us...> - 2009-08-31 23:37:17
|
Update of /cvsroot/apophysis/2.10/Project/delphi7 In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv29987 Added Files: Apophysis.dpr Log Message: Delphi7 project file --- NEW FILE: Apophysis.dpr --- { Apophysis Copyright (C) 2001-2004 Mark Townsend Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov Apophysis Copyright (C) 2007-2008 Piotr Borys, Peter Sdobnov 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. } program Apophysis; {$SetPEFlags $20} // set LARGE_ADDRESS_AWARE flag! {%ToDo 'Apophysis.todo'} uses FastMM4 in '..\..\Source\FastMM4.pas', Forms, Dialogs, SysUtils, Main in '..\..\Source\Main.pas' {MainForm}, Editor in '..\..\Source\Editor.pas' {EditForm}, Global in '..\..\Source\Global.pas', Options in '..\..\Source\Options.pas' {OptionsForm}, Regstry in '..\..\Source\Regstry.pas', Fullscreen in '..\..\Source\Fullscreen.pas' {FullscreenForm}, FormRender in '..\..\Source\FormRender.pas' {RenderForm}, Mutate in '..\..\Source\Mutate.pas' {MutateForm}, Adjust in '..\..\Source\Adjust.pas' {AdjustForm}, Browser in '..\..\Source\Browser.pas' {GradientBrowser}, Save in '..\..\Source\Save.pas' {SaveForm}, About in '..\..\Source\About.pas' {AboutForm}, Cmap in '..\..\Source\cmap.pas', SavePreset in '..\..\Source\SavePreset.pas' {SavePresetForm}, ControlPoint in '..\..\Source\ControlPoint.pas', Tracer in '..\..\Source\Tracer.pas', HtmlHlp in '..\..\Source\HtmlHlp.pas', Preview in '..\..\Source\Preview.pas' {PreviewForm}, ScriptForm in '..\..\Source\ScriptForm.pas' {ScriptEditor}, ScriptRender in '..\..\Source\ScriptRender.pas' {ScriptRenderForm}, FormFavorites in '..\..\Source\FormFavorites.pas' {FavoritesForm}, FormExport in '..\..\Source\FormExport.pas' {ExportDialog}, //ValueReplacer in '..\..\Source\ValueReplacer.pas' {ValueReplacerForm}, XForm in '..\..\Source\XForm.pas', XFormMan in '..\..\Source\XFormMan.pas', cmapdata in '..\..\Source\cmapdata.pas', GradientHlpr in '..\..\Source\GradientHlpr.pas', formPostProcess in '..\..\Source\formPostProcess.pas' {frmPostProcess}, RndFlame in '..\..\Source\RndFlame.pas', bmdll32 in '..\..\Source\bmdll32.PAS', ImageColoring in '..\..\Source\ImageColoring.pas' {frmImageColoring}, BaseVariation in '..\..\Source\BaseVariation.pas', ImageMaker in '..\..\Source\ImageMaker.pas', CustomDrawControl in '..\..\Source\CustomDrawControl.pas', Render in '..\..\Source\Render.pas', RenderTypes in '..\..\Source\RenderTypes.pas', RenderST in '..\..\Source\RenderST.pas', RenderMT in '..\..\Source\RenderMT.pas', RenderThread in '..\..\Source\RenderThread.pas', BucketFillerThread in '..\..\Source\BucketFillerThread.pas', Render32f in '..\..\Source\Render32f.pas', Render32fMT in '..\..\Source\Render32fMT.pas', Render32 in '..\..\Source\Render32.pas', Render32MT in '..\..\Source\Render32MT.pas', Render48 in '..\..\Source\Render48.pas', Render48MT in '..\..\Source\Render48MT.pas', FastMM4Messages in '..\..\Source\FastMM4Messages.pas', varRadialBlur in '..\..\Source\varRadialBlur.pas', varRings2 in '..\..\Source\varRings2.pas', varFan2 in '..\..\Source\varFan2.pas', varblob in '..\..\Source\varBlob.pas', varpdj in '..\..\Source\varPDJ.pas', varPerspective in '..\..\Source\varPerspective.pas', varJuliaN in '..\..\Source\varJuliaN.pas', varJuliaScope in '..\..\Source\varJuliaScope.pas', varCurl in '..\..\Source\varCurl.pas', varRectangles in '..\..\Source\varRectangles.pas', varGenericPlugin in '..\..\Source\varGenericPlugin.pas'; {$R *.RES} begin if now >= EncodeDate(2010, 3, 15) then begin ShowMessage('This version has expired. Please go to http://sourceforge.net/project/apophysis and download the latest version.'); Halt end; Application.Initialize; Application.Title := 'Apophysis'; Application.HelpFile := 'Apophysis 2.0.chm'; Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TEditForm, EditForm); Application.CreateForm(TOptionsForm, OptionsForm); Application.CreateForm(TFullscreenForm, FullscreenForm); Application.CreateForm(TRenderForm, RenderForm); Application.CreateForm(TMutateForm, MutateForm); Application.CreateForm(TAdjustForm, AdjustForm); Application.CreateForm(TGradientBrowser, GradientBrowser); Application.CreateForm(TSaveForm, SaveForm); Application.CreateForm(TAboutForm, AboutForm); Application.CreateForm(TSavePresetForm, SavePresetForm); Application.CreateForm(TScriptEditor, ScriptEditor); Application.CreateForm(TPreviewForm, PreviewForm); Application.CreateForm(TScriptRenderForm, ScriptRenderForm); Application.CreateForm(TFavoritesForm, FavoritesForm); Application.CreateForm(TExportDialog, ExportDialog); Application.CreateForm(TfrmPostProcess, frmPostProcess); Application.CreateForm(TfrmImageColoring, frmImageColoring); Application.CreateForm(TTraceForm, TraceForm); Application.UpdateFormatSettings := False; DecimalSeparator := '.'; Application.Run; end. |
|
From: Piotr B. <ut...@us...> - 2009-08-31 23:35:26
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv29768 Modified Files: About.dfm Log Message: Dates updated... Index: About.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/About.dfm,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** About.dfm 28 Jul 2008 03:40:20 -0000 1.18 --- About.dfm 31 Aug 2009 23:35:17 -0000 1.19 *************** *** 1882,1886 **** Width = 58 Height = 13 ! Caption = 'version 2.08' end object Label3: TLabel --- 1882,1886 ---- Width = 58 Height = 13 ! Caption = 'version 2.09' end object Label3: TLabel *************** *** 1919,1923 **** Width = 178 Height = 13 ! Caption = 'Copyright '#169' 1992-2007 Scott Draves' end object lblFlamecom: TLabel --- 1919,1923 ---- Width = 178 Height = 13 ! Caption = 'Copyright '#169' 1992-2009 Scott Draves' end object lblFlamecom: TLabel *************** *** 1972,1976 **** Width = 110 Height = 13 ! Caption = 'Copyright '#169' 2005-2008' end object Label7: TLabel --- 1972,1976 ---- Width = 110 Height = 13 ! Caption = 'Copyright '#169' 2005-2009' end object Label7: TLabel |
|
From: Piotr B. <ut...@us...> - 2009-08-31 23:31:21
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv29237 Modified Files: Main.dfm Main.pas Log Message: Initial version of thumbnails generating in listview. TODO: make it calculating in a separate thread... Index: Main.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.pas,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** Main.pas 20 Apr 2009 08:11:31 -0000 1.80 --- Main.pas 31 Aug 2009 23:31:09 -0000 1.81 *************** *** 189,192 **** --- 189,196 ---- mnuBuiltinVars: TMenuItem; mnuPluginVars: TMenuItem; + Thumbnails: TImageList; + tbShowIcons: TToolButton; + tbShowList: TToolButton; + ToolButton8: TToolButton; procedure tbzoomoutwindowClick(Sender: TObject); procedure mnuimageClick(Sender: TObject); *************** *** 296,299 **** --- 300,305 ---- procedure ListViewSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean); + procedure tbShowIconsClick(Sender: TObject); + procedure tbShowListClick(Sender: TObject); private *************** *** 1992,1995 **** --- 1998,2004 ---- FileStrings: TStringList; ParamStrings: TStringList; + Bitmap: TBitmap; + lcp: TControlPoint; + RenderEngine: TRenderer; begin FileStrings := TStringList.Create; *************** *** 1997,2002 **** ParamStrings := TStringList.Create; try ! MainForm.ListView.Items.BeginUpdate; MainForm.ListView.Items.Clear; if (Pos('<flame ', Lowercase(FileStrings.Text)) <> 0) then begin --- 2006,2012 ---- ParamStrings := TStringList.Create; try ! //MainForm.ListView.Items.BeginUpdate; MainForm.ListView.Items.Clear; + MainForm.Thumbnails.Clear; if (Pos('<flame ', Lowercase(FileStrings.Text)) <> 0) then begin *************** *** 2013,2017 **** until pos('</flame>', Lowercase(FileStrings[i])) <> 0; ! Assert(xmlErrorsList.Count = 0); pname := ''; ptime := ''; --- 2023,2027 ---- until pos('</flame>', Lowercase(FileStrings[i])) <> 0; ! //Assert(xmlErrorsList.Count = 0); pname := ''; ptime := ''; *************** *** 2026,2042 **** if Title <> '' then begin { Otherwise bad format } ListItem := MainForm.ListView.Items.Add; ListItem.Caption := Title; ! if xmlErrorsList.Count > 0 then begin ! ListItem.ImageIndex := 1; xmlErrorsList.Clear; - end; end; ParamStrings.Clear; end; Inc(i); end; end; ! MainForm.ListView.Items.EndUpdate; case sel of 0: MainForm.ListView.Selected := MainForm.ListView.Items[MainForm.ListView.Items.Count - 1]; --- 2036,2081 ---- if Title <> '' then begin { Otherwise bad format } + + if xmlErrorsList.Count = 0 then + begin + lcp := TControlPoint.Create; + lcp.Clear; + MainForm.ParseXML(lcp, PCHAR(ParamStrings.Text)); + + if xmlErrorsList.Count = 0 then + begin + lcp.sample_density := 0.5; + lcp.spatial_oversample := 1; + lcp.spatial_filter_radius := 0.3; + lcp.AdjustScale(MainForm.Thumbnails.Width, MainForm.Thumbnails.Height); + lcp.Transparency := false; + lcp.Width := MainForm.Thumbnails.Width; + lcp.Height := MainForm.Thumbnails.Height; + try + RenderEngine := TRenderer.Create; + assert(RenderEngine <> nil); + RenderEngine.SetCP(lcp); + RenderEngine.Render; + except + end; + MainForm.Thumbnails.Add(RenderEngine.GetImage, nil); + RenderEngine.Free; + end; + lcp.Free; + end; ListItem := MainForm.ListView.Items.Add; ListItem.Caption := Title; ! if xmlErrorsList.Count = 0 then ! ListItem.ImageIndex := MainForm.Thumbnails.Count-1 ! else xmlErrorsList.Clear; end; ParamStrings.Clear; + Application.ProcessMessages; end; Inc(i); end; end; ! //MainForm.ListView.Items.EndUpdate; case sel of 0: MainForm.ListView.Selected := MainForm.ListView.Items[MainForm.ListView.Items.Count - 1]; *************** *** 2825,2829 **** end; repeat ! inc(i); ParamStrings.Add(FileStrings[i]); until pos('</flame>', Lowercase(FileStrings[i])) <> 0; --- 2864,2868 ---- end; repeat ! inc(i); ParamStrings.Add(FileStrings[i]); until pos('</flame>', Lowercase(FileStrings[i])) <> 0; *************** *** 5273,5275 **** --- 5312,5324 ---- end; + procedure TMainForm.tbShowIconsClick(Sender: TObject); + begin + ListView.ViewStyle := vsIcon; + end; + + procedure TMainForm.tbShowListClick(Sender: TObject); + begin + ListView.ViewStyle := vsReport; + end; + end. Index: Main.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.dfm,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** Main.dfm 20 Apr 2009 08:11:31 -0000 1.48 --- Main.dfm 31 Aug 2009 23:31:08 -0000 1.49 *************** *** 29,36 **** TextHeight = 13 object Splitter: TSplitter ! Left = 160 Top = 28 Width = 4 ! Height = 430 end object ToolBar: TToolBar --- 29,36 ---- TextHeight = 13 object Splitter: TSplitter ! Left = 137 Top = 28 Width = 4 ! Height = 436 end object ToolBar: TToolBar *************** *** 76,82 **** Style = tbsSeparator end ! object btnUndo: TToolButton Left = 77 Top = 0 Hint = 'Undo (Ctrl+Z)|Undo the last action' Caption = 'btnUndo' --- 76,104 ---- Style = tbsSeparator end ! object tbShowIcons: TToolButton Left = 77 Top = 0 + Caption = 'tbShowIcons' + ImageIndex = 55 + OnClick = tbShowIconsClick + end + object tbShowList: TToolButton + Left = 100 + Top = 0 + Caption = 'tbShowList' + ImageIndex = 54 + OnClick = tbShowListClick + end + object ToolButton8: TToolButton + Left = 123 + Top = 0 + Width = 8 + Caption = 'ToolButton8' + ImageIndex = 41 + Style = tbsSeparator + end + object btnUndo: TToolButton + Left = 131 + Top = 0 Hint = 'Undo (Ctrl+Z)|Undo the last action' Caption = 'btnUndo' *************** *** 86,90 **** end object btnRedo: TToolButton ! Left = 100 Top = 0 Hint = 'Redo (Ctrl+Y)|Redo the last action' --- 108,112 ---- end object btnRedo: TToolButton ! Left = 154 Top = 0 Hint = 'Redo (Ctrl+Y)|Redo the last action' *************** *** 95,99 **** end object ToolButton1: TToolButton ! Left = 123 Top = 0 Width = 8 --- 117,121 ---- end object ToolButton1: TToolButton ! Left = 177 Top = 0 Width = 8 *************** *** 102,106 **** end object btnReset: TToolButton ! Left = 131 Top = 0 Hint = 'Reset Location (F12)' --- 124,128 ---- end object btnReset: TToolButton ! Left = 185 Top = 0 Hint = 'Reset Location (F12)' *************** *** 110,114 **** end object tbQualityBox: TComboBox ! Left = 154 Top = 0 Width = 40 --- 132,136 ---- end object tbQualityBox: TComboBox ! Left = 208 Top = 0 Width = 40 *************** *** 130,134 **** end object btnFullScreen: TToolButton ! Left = 194 Top = 0 Hint = 'Fullscreen View (F3)|Show full-screen view of the flame' --- 152,156 ---- end object btnFullScreen: TToolButton ! Left = 248 Top = 0 Hint = 'Fullscreen View (F3)|Show full-screen view of the flame' *************** *** 138,142 **** end object ToolButton3: TToolButton ! Left = 217 Top = 0 Width = 8 --- 160,164 ---- end object ToolButton3: TToolButton ! Left = 271 Top = 0 Width = 8 *************** *** 145,149 **** end object btnEditor: TToolButton ! Left = 225 Top = 0 Hint = 'Editor (F4)|Show Transform Editor' --- 167,171 ---- end object btnEditor: TToolButton ! Left = 279 Top = 0 Hint = 'Editor (F4)|Show Transform Editor' *************** *** 153,157 **** end object btnAdjust: TToolButton ! Left = 248 Top = 0 Hint = 'Adjust (F5)|Adjust render-settings' --- 175,179 ---- end object btnAdjust: TToolButton ! Left = 302 Top = 0 Hint = 'Adjust (F5)|Adjust render-settings' *************** *** 161,165 **** end object btnGradient: TToolButton ! Left = 271 Top = 0 Hint = 'Gradient (F6)|Shows the Gradient window' --- 183,187 ---- end object btnGradient: TToolButton ! Left = 325 Top = 0 Hint = 'Gradient (F6)|Shows the Gradient window' *************** *** 169,173 **** end object btnMutate: TToolButton ! Left = 294 Top = 0 Hint = 'Mutation (F7)|Shows the Mutation window' --- 191,195 ---- end object btnMutate: TToolButton ! Left = 348 Top = 0 Hint = 'Mutation (F7)|Shows the Mutation window' *************** *** 177,181 **** end object btnSize: TToolButton ! Left = 317 Top = 0 Hint = 'Image Size|Adjust image size' --- 199,203 ---- end object btnSize: TToolButton ! Left = 371 Top = 0 Hint = 'Image Size|Adjust image size' *************** *** 185,189 **** end object ToolButton4: TToolButton ! Left = 340 Top = 0 Width = 8 --- 207,211 ---- end object ToolButton4: TToolButton ! Left = 394 Top = 0 Width = 8 *************** *** 192,196 **** end object btnDefine: TToolButton ! Left = 348 Top = 0 Hint = 'Edit Script|Open the Script Editor' --- 214,218 ---- end object btnDefine: TToolButton ! Left = 402 Top = 0 Hint = 'Edit Script|Open the Script Editor' *************** *** 200,204 **** end object btnRun: TToolButton ! Left = 371 Top = 0 Hint = 'Run Script (F9)|Run Script' --- 222,226 ---- end object btnRun: TToolButton ! Left = 425 Top = 0 Hint = 'Run Script (F9)|Run Script' *************** *** 208,212 **** end object btnStop: TToolButton ! Left = 394 Top = 0 Hint = 'Stop Script (F10)|Stop Script' --- 230,234 ---- end object btnStop: TToolButton ! Left = 448 Top = 0 Hint = 'Stop Script (F10)|Stop Script' *************** *** 216,220 **** end object ToolButton5: TToolButton ! Left = 417 Top = 0 Width = 8 --- 238,242 ---- end object ToolButton5: TToolButton ! Left = 471 Top = 0 Width = 8 *************** *** 223,227 **** end object btnOptions: TToolButton ! Left = 425 Top = 0 Hint = 'Options (Ctrl+P)|Shows the Options dialog' --- 245,249 ---- end object btnOptions: TToolButton ! Left = 479 Top = 0 Hint = 'Options (Ctrl+P)|Shows the Options dialog' *************** *** 231,235 **** end object tbShowAlpha: TToolButton ! Left = 448 Top = 0 Hint = 'Show transparency' --- 253,257 ---- end object tbShowAlpha: TToolButton ! Left = 502 Top = 0 Hint = 'Show transparency' *************** *** 240,244 **** end object ToolButton6: TToolButton ! Left = 471 Top = 0 Width = 8 --- 262,266 ---- end object ToolButton6: TToolButton ! Left = 525 Top = 0 Width = 8 *************** *** 247,251 **** end object tbzoomwindow: TToolButton ! Left = 479 Top = 0 Hint = 'Zoom to rectangle' --- 269,273 ---- end object tbzoomwindow: TToolButton ! Left = 533 Top = 0 Hint = 'Zoom to rectangle' *************** *** 257,261 **** end object tbzoomoutwindow: TToolButton ! Left = 502 Top = 0 Hint = 'Zoom out using rectangle' --- 279,283 ---- end object tbzoomoutwindow: TToolButton ! Left = 556 Top = 0 Hint = 'Zoom out using rectangle' *************** *** 267,271 **** end object tbDrag: TToolButton ! Left = 525 Top = 0 Hint = 'Translate image' --- 289,293 ---- end object tbDrag: TToolButton ! Left = 579 Top = 0 Hint = 'Translate image' *************** *** 278,282 **** end object tbRotate: TToolButton ! Left = 548 Top = 0 Hint = 'Rotate' --- 300,304 ---- end object tbRotate: TToolButton ! Left = 602 Top = 0 Hint = 'Rotate' *************** *** 288,292 **** end object tbTraceSeparator: TToolButton ! Left = 571 Top = 0 Width = 8 --- 310,314 ---- end object tbTraceSeparator: TToolButton ! Left = 625 Top = 0 Width = 8 *************** *** 297,301 **** end object tbShowTrace: TToolButton ! Left = 579 Top = 0 Hint = 'Show trace window' --- 319,323 ---- end object tbShowTrace: TToolButton ! Left = 633 Top = 0 Hint = 'Show trace window' *************** *** 310,315 **** Left = 0 Top = 28 ! Width = 160 ! Height = 430 Align = alLeft BevelOuter = bvNone --- 332,337 ---- Left = 0 Top = 28 ! Width = 137 ! Height = 436 Align = alLeft BevelOuter = bvNone *************** *** 320,329 **** end> HideSelection = False ParentShowHint = False PopupMenu = ListPopUp ShowHint = True - SmallImages = SmallImages TabOrder = 0 - ViewStyle = vsReport OnChange = ListViewChange OnChanging = ListViewChanging --- 342,350 ---- end> HideSelection = False + LargeImages = Thumbnails ParentShowHint = False PopupMenu = ListPopUp ShowHint = True TabOrder = 0 OnChange = ListViewChange OnChanging = ListViewChanging *************** *** 333,340 **** end object BackPanel: TPanel ! Left = 164 Top = 28 ! Width = 557 ! Height = 430 Align = alClient BevelInner = bvLowered --- 354,361 ---- end object BackPanel: TPanel ! Left = 141 Top = 28 ! Width = 580 ! Height = 436 Align = alClient BevelInner = bvLowered *************** *** 346,351 **** Left = 1 Top = 1 ! Width = 555 ! Height = 428 Align = alClient Anchors = [] --- 367,372 ---- Left = 1 Top = 1 ! Width = 578 ! Height = 434 Align = alClient Anchors = [] *************** *** 361,365 **** object StatusBar: TStatusBar Left = 0 ! Top = 458 Width = 721 Height = 19 --- 382,386 ---- object StatusBar: TStatusBar Left = 0 ! Top = 464 Width = 721 Height = 19 *************** *** 379,383 **** Top = 56 Bitmap = { ! 494C010136003B00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 000000000000360000002800000040000000F0000000010020000000000000F0 0000000000000000000000000000000000000000000000000000000000000000 --- 400,404 ---- Top = 56 Bitmap = { ! 494C010138003B00040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600 000000000000360000002800000040000000F0000000010020000000000000F0 0000000000000000000000000000000000000000000000000000000000000000 *************** *** 521,641 **** 6B00181863001818630018186B0029187B000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000829 630000000000081042001042940000000000000000000842730018294A000010 4200000008000000080000000000101863000000000000000000FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500A5A5A500A5A5A50000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000821 52000008100008297B003163A50000000000000000002152A5004A9CD6001839 6B0000001800000008000000000018186B000000000000000000FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500A5A5A500A5A5A50000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000818 4A0000182100216BC6000000000000000000105A7B002973AD0018529C00214A 9400103152000818290000000800181863000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A50000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000003110 000018080000180800000000000000000000000000002163A500184A94003163 B5002163B5003973C6000810210010105A000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A50000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000000000000846B5A0029080000B57B 5A00EFE7DE00E7CEC600AD735200290800006B73730008429400184A9C00296B AD0008297300214A8C001021520018106B000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A50000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000031080000EFDECE00EFE7 D600FFEFE700F7EFE700FFF7EF00E7D6CE0039100800637B940008297300216B AD007BB5D60031528C0000105A00181873000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A50000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000039292100D6AD9400FFEFD600CEAD 9C00EFD6C600EFDECE00F7E7D600EFE7D600D6B5A50018181000528CC600427B B5006BADDE00294A8C000000310018186B000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000000000000F7E7D600F7CEB500AD7B 6300A5735A00A57B6300B5947B00DEC6AD00FFF7DE00000000005294C600396B AD007BADD600397BAD000018520018186B000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000000000000FFEFDE00EFB59C009C5A 4200E7A58C00EFAD9400EFBD9C00CEA58C00FFEFD600080800002973AD008CBD DE00ADE7FF001831730000185200182173000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000000000000FFE7D600F7B59C00A552 3100E7948400E79C8400EFAD8C00D69C8400EFCEB50008080800427BBD00738C B500395294000010630008104A0018186B000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000063525200B57B5A00FFCEBD00CE84 6B00F79C7B00F79C8400F7B59400EFB594009452390052424200101852000000 100000001000000831000010390018186B000000000000000000A5A5A500A5A5 A500A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000063423900BD8C7300FFDE C600F7CEB500EFB59C00F7BDA5008C4A31000800000008317B0008296B000831 63000831730008316B0008296300083184000000000000000000A5A5A500A5A5 A500A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000524242000000 00005A3921004229180000000000423931000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 --- 542,662 ---- 6B00181863001818630018186B0029187B000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000000000000B9A39500634935006349 ! 3500634935006349350063493500634935006349350063493500634935006349 ! 350063493500634935006349350000000000B7A2930063493500634935006349 ! 3500634935006349350063493500634935006349350063493500634935006349 ! 3500634935006349350063493500634935000000000000000000000000000829 630000000000081042001042940000000000000000000842730018294A000010 4200000008000000080000000000101863000000000000000000FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500A5A5A500A5A5A500000000000000000000000000B9A39500FEFDF200DEDB ! D500DAD2CB00D7CBC200D3C2B700CEBAAD00C7B0A300C1A99C00BAA19300B297 ! 8900AB908100A5897A006349350000000000B7A29300FBF6F000E4E1DC00E0DD ! D700DFD7CE00DFD3C800E0D0C100E0CCBE00E3C8B600E3C7B300E3C4AE00E3C3 ! AC00E3C3AC00E3C3AC00E3C3AC00634935000000000000000000000000000821 52000008100008297B003163A50000000000000000002152A5004A9CD6001839 6B0000001800000008000000000018186B000000000000000000FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500A5A5A500A5A5A500000000000000000000000000B9A39500FFFFF600B3D0 ! DD00337085009DA7AB00FADCC600F9D2B800F4C6AA00EFBDA000E7B39500DDA7 ! 8900D39C7D00AB9081006349350000000000B7A29300FCF8F400AF8D7A00A37A ! 65008C5D440076452C006F3E2500FAEEE400AF8D7A00A37A65008C5D44007645 ! 2C006F3E2500F9E6D900E3C5AF00634935000000000000000000000000000818 4A0000182100216BC6000000000000000000105A7B002973AD0018529C00214A 9400103152000818290000000800181863000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A500000000000000000000000000B9A39500FFFFF60000AF ! FC00C1FDFF002D677F00FBE4D200B7A39900B49F9200B69B8E00AF948500AD8F ! 7F00DDA78900B29789006349350000000000B7A29300FCFAF600C8AD9B00E5D2 ! C700D0A69100A984780084523700FAEFE500C8AD9B00E5D2C700D0A69100A984 ! 780084523700F9E7DA00E2C8B400634935000000000000000000000000003110 000018080000180800000000000000000000000000002163A500184A94003163 B5002163B5003973C6000810210010105A000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A500000000000000000000000000BAA59600FFFFF600B6DD ! EF0000AFFC00B2D2DC00FCEDDD00FBE2CE00F9D7C000F8CDB200F4C3A600EFBD ! A000E7B39500BAA193006349350000000000B7A29300FDFCF900CEB6A700B9E4 ! FF00AFBFFF004E87FF00A3765F00FAF0E700CEB6A700B9E4FF00AFBFFF004E87 ! FF00A3765F00F9E8DB00E1CBB9006349350000000000846B5A0029080000B57B 5A00EFE7DE00E7CEC600AD735200290800006B73730008429400184A9C00296B AD0008297300214A8C001021520018106B000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A500000000000000000000000000BCA69800FFFFF600FFFF ! F600FFFFF600FEFCF200FEF5E800FCEAD900FBDFCB00F9D4BC00F8CCB000F4C3 ! A600EFBDA000C1A99C006349350000000000BAA59600FDFDFB00D4BEB200D1BB ! AB00CBB09E00C1A38F00B2917A00FAF1EA00D4BEB200D1BBAB00CBB09E00C1A3 ! 8F00B2917A00F9E9DD00E0CEBF00634935000000000031080000EFDECE00EFE7 D600FFEFE700F7EFE700FFF7EF00E7D6CE0039100800637B940008297300216B AD007BB5D60031528C0000105A00181873000000000000000000FFFFFF00FFFF FF00A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00A5A5A500A5A5A500000000000000000000000000BEA89900FFFFF60095A3 ! FF002E3BA5008F96CD00FEFAF000FDF2E400FCE8D500FADCC600F9D2B800F8CA ! AE00F4C3A600C7B0A3006349350000000000BEA99A00FEFEFD00FDFDFB00FDFB ! F900FCFAF600FCF8F300FCF6F000FBF3ED00FAF2E900FAEFE600FAEEE400FAEC ! E200FAEBE000FAEADE00E0D2C5006349350039292100D6AD9400FFEFD600CEAD 9C00EFD6C600EFDECE00F7E7D600EFE7D600D6B5A50018181000528CC600427B B5006BADDE00294A8C000000310018186B000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF00000000000000000000000000C0AA9C00FFFFF6004360 ! FF0095B3FF002F39AD00FFFFF600B9A79E00B6A29700B49D9100B2998B00B096 ! 8800F7C8AC00CCB6A9006349350000000000BEA99A00FFFEFE00AF8D7A00A37A ! 65008C5D440076452C006F3E2500FCF5EF00AF8D7A00A37A65008C5D44007645 ! 2C006F3E2500FAEBDF00DFD5CB006349350000000000F7E7D600F7CEB500AD7B 6300A5735A00A57B6300B5947B00DEC6AD00FFF7DE00000000005294C600396B AD007BADD600397BAD000018520018186B000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF00000000000000000000000000C3AE9E00FFFFF60096A3 ! FF004661FF0094A1FF00FFFFF600FFFEF500FEF7EA00FCEDDD00FBE2CE00F9D7 ! BF00F8CDB200CEB8AB006349350000000000C3AE9E00FFFFFE00C8AD9B00E5D2 ! C700D0A69100A984780084523700FCF8F300C8AD9B00E5D2C700D0A69100A984 ! 780084523700FAECE100DED8D0006349350000000000FFEFDE00EFB59C009C5A 4200E7A58C00EFAD9400EFBD9C00CEA58C00FFEFD600080800002973AD008CBD DE00ADE7FF001831730000185200182173000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF00000000000000000000000000C5B0A000FFFFF600FFFF ! F600FFFFF600FFFFF600FFFFF600FFFFF600FFFDF300FEF4E700FCEAD900FADE ! CA00F9D4BC00D0BBB0006349350000000000C8B2A300FFFFFF00CEB6A700B9E4 ! FF00AFBFFF004E87FF00A3765F00FCFAF700CEB6A700B9E4FF00AFBFFF004E87 ! FF00A3765F00FAEDE200DEDBD5006349350000000000FFE7D600F7B59C00A552 3100E7948400E79C8400EFAD8C00D69C8400EFCEB50008080800427BBD00738C B500395294000010630008104A0018186B000000000000000000A5A5A500A5A5 A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5A5A500A5A5A500A5A5A500A5A5 ! A500FFFFFF00FFFFFF00000000000000000000000000C7B1A200FFFFF600FF9B ! 9900B8303000FF8D6A00FFFFF600FFFFF600FFFFF600FEFAF000FDF1E400FCE7 ! D500FADCC700D3C1B6006349350000000000CCB6A700FFFFFF00D4BEB200D1BB ! AB00CBB09E00C1A38F00B2917A00FDFCF900D4BEB200D1BBAB00CBB09E00C1A3 ! 8F00B2917A00FAEFE600E2E1DB00644A360063525200B57B5A00FFCEBD00CE84 6B00F79C7B00F79C8400F7B59400EFB594009452390052424200101852000000 100000001000000831000010390018186B000000000000000000A5A5A500A5A5 A500A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00000000000000000000000000C9B3A500FFFFF600FF83 ! 7E00FFC3C400B7252500FFFFF600BAAAA100B8A69C00B6A29600B39D9000B198 ! 8B00FBE4D200D6C7BD006349350000000000CCB6A700FFFFFF00FFFFFF00FFFF ! FF00FFFFFE00FFFEFE00FEFDFD00FEFDFB00FDFBF900FDFAF700FCF8F300FCF5 ! EF00FBF4EC00FBF1E900FAEFE600644A36000000000063423900BD8C7300FFDE C600F7CEB500EFB59C00F7BDA5008C4A31000800000008317B0008296B000831 63000831730008316B0008296300083184000000000000000000A5A5A500A5A5 A500A5A5A500A5A5A500A5A5A500A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00000000000000000000000000CBB5A600FFFFF600FFA9 ! A900FF827F00FF989300FFFFF600FFFFF600FFFFF600FFFFF600FFFEF400FDF7 ! EB00FCEDDD00D7CCC3006349350000000000EAAA8B00EAAA8B00E9A78700E9A2 ! 8000E99D7700E7976D00E6906500E6895B00E4825100E37B4800E3764100E273 ! 3A00E2723800E2723900E2723900C8622F000000000000000000524242000000 00005A3921004229180000000000423931000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000CBB5A600FFFFF600FFFF + F600FFFFF600FFFFF600FFFFF600FFFFF600FFFFF600FFFFF600FFFFF600FEFC + F300FDF4E700FCEADA006349350000000000EAAA8B00FFC2A200FEBF9D00FCBB + 9800FCB89400FBB59000FAB18C00F9AD8700F9A98100F8A67C00F6A27800F59F + 7300F59B6D00F4986800F3956500CD6531000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000000000000CCB6A700CCB6A700CAB5 ! A600CAB3A400C8B2A300C5AFA100C3AD9E00C0AB9C00BEA99A00BCA69700BAA4 ! 9600B8A39400B8A39400B8A3940000000000EAAA8B00EAAA8B00EAAA8C00EAA9 ! 8900EAA58400E9A17F00E89D7800E7977000E7926800E68D6000E5885900E483 ! 5100E47E4A00E4794300E3763E00E27239000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 *************** *** 2307,2315 **** 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000FF1FFFFF00000000E000800100000000 ! E000800100000000E000800100000000E000800100000000E000800100000000 ! 8000800100000000800080010000000000008001000000000000800100000000 ! 0000800100000000000080010000000000008001000000008000800100000000 ! C0FF800100000000FFFFFFFF00000000FBF7FFC7FFC7800FFBF7FFCFFFCF800F F7F7FF8FFF8F800FEFFBFF9FFF9F8000DFFBFF1FFF1F8000DFFDF83FF83F8000 BFFDE01FE01F800077FDE00FE00F800067FEC00FC00F800097F6C00FC00F8000 --- 2328,2336 ---- 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000FF1FFFFFFFFFFFFFE000800180010000 ! E000800180010000E000800180010000E000800180010000E000800180010000 ! 8000800180010000800080018001000000008001800100000000800180010000 ! 0000800180010000000080018001000000008001800100008000800180010000 ! C0FF800180010000FFFFFFFF80010000FBF7FFC7FFC7800FFBF7FFCFFFCF800F F7F7FF8FFF8F800FEFFBFF9FFF9F8000DFFBFF1FFF1F8000DFFDF83FF83F8000 BFFDE01FE01F800077FDE00FE00F800067FEC00FC00F800097F6C00FC00F8000 *************** *** 2363,2368 **** C003000180018000C003001F80018000C003001F80018001C003001F80018001 C0038FF180018001C007FFF980018001C00FFF7580018001C01FFF8F80018001 ! C03FFFFF80018001FFFFFFFFFFFFFFFF00000000000000000000000000000000 ! 000000000000} end object SmallImages: TImageList --- 2384,2388 ---- C003000180018000C003001F80018000C003001F80018001C003001F80018001 C0038FF180018001C007FFF980018001C00FFF7580018001C01FFF8F80018001 ! C03FFFFF80018001FFFFFFFFFFFFFFFF} end object SmallImages: TImageList *************** *** 2980,2982 **** --- 3000,3008 ---- Top = 120 end + object Thumbnails: TImageList + Height = 64 + Width = 64 + Left = 104 + Top = 120 + end end |
|
From: Piotr B. <ut...@us...> - 2009-08-30 21:50:35
|
Update of /cvsroot/apophysis/2.10 In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv26921 Modified Files: Changes.txt Log Message: changelog update... finally ;) Index: Changes.txt =================================================================== RCS file: /cvsroot/apophysis/2.10/Changes.txt,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** Changes.txt 1 Jul 2007 17:31:08 -0000 1.27 --- Changes.txt 30 Aug 2009 21:50:26 -0000 1.28 *************** *** 1,2 **** --- 1,11 ---- + 2.09 + + Added favourite variations + + In variables list there're displayed only used ones + + Not used variations are greyed out + + "Symmetry" parameter renamed to "Color speed" + + Added checking XML for unrecognized variation/variable values + - 64-bit renderer removed + + Many various fixes + 2.06b + Single-transform flames are now understood by scripts. |
|
From: Peter S. <zu...@us...> - 2009-04-27 15:59:44
|
Update of /cvsroot/apophysis/2.10/Project/delphi6 In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv11743 Modified Files: Apophysis.dpr Log Message: oops Index: Apophysis.dpr =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.dpr,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Apophysis.dpr 20 Apr 2009 08:16:56 -0000 1.3 --- Apophysis.dpr 27 Apr 2009 15:59:32 -0000 1.4 *************** *** 119,123 **** Application.CreateForm(TfrmImageColoring, frmImageColoring); Application.CreateForm(TTraceForm, TraceForm); - Application.CreateForm(TValueReplacerForm, ValueReplacerForm); Application.UpdateFormatSettings := False; DecimalSeparator := '.'; --- 119,122 ---- |
|
From: Peter S. <zu...@us...> - 2009-04-21 07:58:29
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv975 Modified Files: Editor.pas Log Message: highlighting fix Index: Editor.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Editor.pas,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** Editor.pas 20 Apr 2009 08:15:03 -0000 1.70 --- Editor.pas 21 Apr 2009 07:58:23 -0000 1.71 *************** *** 260,265 **** ScrollCode: TScrollCode; var ScrollPos: Integer); procedure scrlXFormColorChange(Sender: TObject); - // procedure chkUseXFormColorClick(Sender: TObject); - // procedure chkHelpersClick(Sender: TObject); procedure txtXFormColorExit(Sender: TObject); procedure txtXFormColorKeyPress(Sender: TObject; var Key: Char); --- 260,263 ---- *************** *** 423,431 **** VarsCache: array of double; // hack: to prevent slow valuelist redraw ! // -JF- 64 wasn't big enough... buffer overrun ! // VariablesOddness: array of integer; VariableUsed: array of bool; - // VariableFavsHighlight: array of bool; //hmm VariableListColors, VariableListTextColors: array of TColor; VariableListStrings: TStrings; variableListCount: integer; --- 421,430 ---- VarsCache: array of double; // hack: to prevent slow valuelist redraw ! // -JF- 64 wasn't big enough... buffer overrun ! VariationListColors, VariationListTextColors: array of TColor; ! VariableUsed: array of bool; VariableListColors, VariableListTextColors: array of TColor; + VariableListStrings: TStrings; variableListCount: integer; *************** *** 693,698 **** procedure TEditForm.UpdateDisplay(PreviewOnly: boolean = false); - var - i, j, n: integer; begin // currently EditForm does not really know if we select another --- 692,695 ---- *************** *** 735,744 **** if MainForm.UndoIndex = 0 then AutoZoom // auto-zoom only on 'new' flame else TriangleView.Invalidate; - - for i := 0 to GetNrRegisteredVariations-1 do begin - n := GetRegisteredVariation(i).firstVariableIndex; - // for j := 0 to GetRegisteredVariation(i).GetNrVariables-1 do - // VariableFavsHighlight[n + j] := FavouriteVariations[NRLOCVAR + i]; - end; end; --- 732,735 ---- *************** *** 771,775 **** procedure TEditForm.ShowSelectedInfo; var ! i, j, n: integer; v: double; strval: string; --- 762,766 ---- procedure TEditForm.ShowSelectedInfo; var ! i, j, k, n: integer; v: double; strval: string; *************** *** 898,902 **** if v <> VarsCache[i] then begin ! VarsCache[i]:=v; VEVars.Values[VarNames(i)] := FloatToStr(v); //Format('%.6g', [v]); --- 889,893 ---- if v <> VarsCache[i] then begin ! VarsCache[i] := v; VEVars.Values[VarNames(i)] := FloatToStr(v); //Format('%.6g', [v]); *************** *** 904,920 **** //else VEVars.RowHeights[i+1] := VEVars.DefaultRowHeight; if i >= NRLOCVAR then begin n := GetRegisteredVariation(i - NRLOCVAR).GetNrVariables; if n > 0 then begin j := GetRegisteredVariation(i - NRLOCVAR).firstVariableIndex; repeat - nonzero := (v <> 0); usedVarsChanged := usedVarsChanged or (VariableUsed[j] <> nonzero); VariableUsed[j] := nonzero; - Inc(j); Dec(n); until n = 0; end; end; end; --- 895,925 ---- //else VEVars.RowHeights[i+1] := VEVars.DefaultRowHeight; + nonzero := (v <> 0); + if nonzero then + VariationListTextColors[i] := IfThen(FavouriteVariations[i], clFavVariation, vleVariables.Font.Color) + else + VariationListTextColors[i] := IfThen(FavouriteVariations[i], clFavVarGreyed, clGrayText); + if i >= NRLOCVAR then begin n := GetRegisteredVariation(i - NRLOCVAR).GetNrVariables; if n > 0 then begin + k := GetRegisteredVariation(i - NRLOCVAR).firstVariableIndex; + for j := k to k+n-1 do begin + usedVarsChanged := usedVarsChanged or (VariableUsed[j] <> nonzero); + VariableUsed[j] := nonzero; + end; + end; + { + n := GetRegisteredVariation(i - NRLOCVAR).GetNrVariables; + if n > 0 then begin j := GetRegisteredVariation(i - NRLOCVAR).firstVariableIndex; repeat usedVarsChanged := usedVarsChanged or (VariableUsed[j] <> nonzero); VariableUsed[j] := nonzero; Inc(j); Dec(n); until n = 0; end; + } end; end; *************** *** 933,939 **** VariableListStrings.Add(varname + '=' + FloatToStr(v)); if i <= NumBuiltinVariations then ! VariableListColors[n] := ParametricVarColors[n and 1 xor 1] else ! VariableListColors[n] := PluginVarColors[n and 1 xor 1]; VariableListTextColors[n] := IfThen(FavouriteVariations[i], clFavVariation, vleVariables.Font.Color); Inc(n); --- 938,944 ---- VariableListStrings.Add(varname + '=' + FloatToStr(v)); if i <= NumBuiltinVariations then ! VariableListColors[n] := ParametricVarColors[n and 1] else ! VariableListColors[n] := PluginVarColors[n and 1]; VariableListTextColors[n] := IfThen(FavouriteVariations[i], clFavVariation, vleVariables.Font.Color); Inc(n); *************** *** 1782,1786 **** var i: integer; - j, n: integer; listBkgColor: TColor; begin --- 1787,1790 ---- *************** *** 1807,1812 **** --- 1811,1820 ---- TriangleView.OnMouseLeave := TriangleViewmouseLeave; + SetLength(VarsCache, NRVAR); + SetLength(VariationListColors, NRVAR); + SetLength(VariationListTextColors, NRVAR); for i := 0 to NRVAR-1 do begin VEVars.InsertRow(Varnames(i), '0', True); + VarsCache[i] := MinDouble; end; *************** *** 1867,1882 **** MemTriangle.y[2] := 1; - SetLength(VarsCache, NRVAR); - for i := 0 to NRVAR-1 do - VarsCache[i] := MinDouble; - listBkgColor := VEVars.Canvas.Brush.Color; ! NormalVarColors[0] := MixColor(listBkgColor, clNormalHilite); ! NormalVarColors[1] := listBkgColor; ! ParametricVarColors[0] := MixColor(listBkgColor, clParametricHilite); ! ParametricVarColors[1] := MixColor(listBkgColor, ParametricVarColors[0]); ! PluginVarColors[0] := MixColor(listBkgColor, clPluginsHilite); ! PluginVarColors[1] := MixColor(listBkgColor, PluginVarColors[0]); ChaosColors[0] := MixColor(listBkgColor, clChaosHilite); ChaosColors[1] := MixColor(listBkgColor, ChaosColors[0]); --- 1875,1893 ---- MemTriangle.y[2] := 1; listBkgColor := VEVars.Canvas.Brush.Color; ! NormalVarColors[1] := MixColor(listBkgColor, clNormalHilite); ! NormalVarColors[0] := listBkgColor; ! ParametricVarColors[1] := MixColor(listBkgColor, clParametricHilite); ! ParametricVarColors[0] := MixColor(listBkgColor, ParametricVarColors[1]); ! PluginVarColors[1] := MixColor(listBkgColor, clPluginsHilite); ! PluginVarColors[0] := MixColor(listBkgColor, PluginVarColors[1]); + for i := 0 to NrLocVar-1 do + VariationListColors[i] := NormalVarColors[i and 1]; + for i := NrLocVar to NumBuiltinVariations-1 do + VariationListColors[i] := ParametricVarColors[i and 1]; + for i := NumBuiltinVariations to NrVAR-1 do + VariationListColors[i] := PluginVarColors[i and 1]; + ChaosColors[0] := MixColor(listBkgColor, clChaosHilite); ChaosColors[1] := MixColor(listBkgColor, ChaosColors[0]); *************** *** 3204,3210 **** procedure TEditForm.txtSymmetrKeyPress(Sender: TObject; var Key: Char); - var - Allow: boolean; - NewVal, OldVal: double; begin if key = #13 then --- 3215,3218 ---- *************** *** 3297,3301 **** var cell: TGridCoord; - i, n: integer; begin if Button = mbLeft then begin --- 3305,3308 ---- *************** *** 4480,4483 **** --- 4487,4491 ---- begin if (ARow = 0) or (gdSelected in State) then exit; + { if (ARow <= NRLOCVAR) then VEVars.canvas.brush.Color := NormalVarColors[ARow and 1] *************** *** 4501,4504 **** --- 4509,4519 ---- VEVars.canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, VEVars.Cells[ACol,ARow]); + } + with VEVars.Canvas do begin + Brush.Color := VariationListColors[ARow-1]; + FillRect(Rect); + Font.Color := VariationListTextColors[ARow-1]; + TextRect(Rect, Rect.Left+2, Rect.Top+2, VEVars.Cells[ACol,ARow]); + end; end; *************** *** 5240,5260 **** editor := TEditorHacker(TGridHacker(sender).InplaceEditor); if Assigned(editor) then begin ! if (ARow <= NRLOCVAR) then ! editor.Color := NormalVarColors[ARow and 1] ! else ! begin ! if ARow <= NumBuiltinVariations then ! editor.Color := ParametricVarColors[ARow and 1] ! else ! editor.Color := PluginVarColors[ARow and 1]; ! end; ! if VEVars.Cells[1,Arow] = '0' then begin ! if FavouriteVariations[ARow-1] = true then ! editor.Font.Color := clFavVarGreyed ! else ! editor.Font.Color := clGrayText; end ! else if FavouriteVariations[ARow-1] = true then ! editor.Font.Color := clFavVariation; end; end; --- 5255,5268 ---- editor := TEditorHacker(TGridHacker(sender).InplaceEditor); if Assigned(editor) then begin ! editor.Color := VariationListColors[ARow-1]; ! //editor.Font.Color := VariationListTextColors[ARow-1]; ! ! if (VEVars.Cells[1, ARow] <> '0') or (value <> '0') then begin ! editor.Font.Color := IfThen(FavouriteVariations[ARow-1], clFavVariation, VEVars.Font.Color); end ! else begin ! editor.Font.Color := IfThen(FavouriteVariations[ARow-1], clFavVarGreyed, clGrayText); ! end; ! end; end; |
|
From: Peter S. <zu...@us...> - 2009-04-20 08:19:35
|
Update of /cvsroot/apophysis/2.10/Project/delphi6 In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv26121 Modified Files: Apophysis.cfg Apophysis.dof Log Message: project update Index: Apophysis.cfg =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.cfg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Apophysis.cfg 7 Aug 2008 06:19:50 -0000 1.2 --- Apophysis.cfg 20 Apr 2009 08:19:31 -0000 1.3 *************** *** 1,6 **** -$A8 -$B- ! -$C- ! -$D- -$E- -$F- --- 1,6 ---- -$A8 -$B- ! -$C+ ! -$D+ -$E- -$F- *************** *** 10,14 **** -$J- -$K- ! -$L- -$M- -$N+ --- 10,14 ---- -$J- -$K- ! -$L+ -$M- -$N+ *************** *** 23,27 **** -$W- -$X+ ! -$Y- -$Z1 -cg --- 23,27 ---- -$W- -$X+ ! -$Y+ -$Z1 -cg *************** *** 36,41 **** -LE"c:\program files\delphi\Projects\Bpl" -LN"c:\program files\delphi\Projects\Bpl" ! -U"..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" ! -O"..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" ! -I"..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" ! -R"..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" --- 36,41 ---- -LE"c:\program files\delphi\Projects\Bpl" -LN"c:\program files\delphi\Projects\Bpl" ! -U"c:\program files\delphi\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" ! -O"c:\program files\delphi\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" ! -I"c:\program files\delphi\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" ! -R"c:\program files\delphi\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage" Index: Apophysis.dof =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.dof,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Apophysis.dof 7 Aug 2008 06:19:50 -0000 1.2 --- Apophysis.dof 20 Apr 2009 08:19:31 -0000 1.3 *************** *** 4,9 **** A=8 B=0 ! C=0 ! D=0 E=0 F=0 --- 4,9 ---- A=8 B=0 ! C=1 ! D=1 E=0 F=0 *************** *** 13,17 **** J=0 K=0 ! L=0 M=0 N=1 --- 13,17 ---- J=0 K=0 ! L=1 M=0 N=1 *************** *** 26,30 **** W=0 X=1 ! Y=0 Z=1 ShowHints=1 --- 26,30 ---- W=0 X=1 ! Y=2 Z=1 ShowHints=1 *************** *** 95,102 **** PackageDLLOutputDir= PackageDCPOutputDir= ! SearchPath=..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage Packages=vcl;rtl;dbrtl;adortl;vcldb;vclx;bdertl;vcldbx;dsnap;cds;bdecds;teeui;teedb;tee;dss;visualclx;visualdbclx;dsnapcrba;dsnapcon;VclSmp;vclie;xmlrtl;inet;inetdbbde;inetdbxpress;inetdb;nmfast;webdsnap;websnap;soaprtl;dbexpress;dbxcds;dclOffice2k;FlatStyle_D6;S303_R60;RzLPDB60;RzLPND60;vclshlctrls;B302vr60;VirtualTreesD6;o403_r60;ibxpress;CSP20I60;Rz30Ctls60;Rz30DBCtls60;indy;Indy60 Conditionals= ! DebugSourceDirs=..\..\..\ApoLibStuff\pngimage\ UsePackages=0 [Parameters] --- 95,102 ---- PackageDLLOutputDir= PackageDCPOutputDir= ! SearchPath=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage Packages=vcl;rtl;dbrtl;adortl;vcldb;vclx;bdertl;vcldbx;dsnap;cds;bdecds;teeui;teedb;tee;dss;visualclx;visualdbclx;dsnapcrba;dsnapcon;VclSmp;vclie;xmlrtl;inet;inetdbbde;inetdbxpress;inetdb;nmfast;webdsnap;websnap;soaprtl;dbexpress;dbxcds;dclOffice2k;FlatStyle_D6;S303_R60;RzLPDB60;RzLPND60;vclshlctrls;B302vr60;VirtualTreesD6;o403_r60;ibxpress;CSP20I60;Rz30Ctls60;Rz30DBCtls60;indy;Indy60 Conditionals= ! DebugSourceDirs=..\..\..\ApoLibStuff\pngimage\;..\..\..\ApoLibStuff\libxml\ UsePackages=0 [Parameters] *************** *** 108,116 **** [Version Info] IncludeVerInfo=1 ! AutoIncBuild=1 MajorVer=2 MinorVer=0 Release=8 ! Build=1 Debug=0 PreRelease=0 --- 108,116 ---- [Version Info] IncludeVerInfo=1 ! AutoIncBuild=0 MajorVer=2 MinorVer=0 Release=8 ! Build=3 Debug=0 PreRelease=0 *************** *** 122,127 **** [Version Info Keys] CompanyName= ! FileDescription=Apophysis 2.0 ! FileVersion=2.0.8.1 InternalName= LegalCopyright=Copyright © 2005-2008 Apophysis Developers Team --- 122,127 ---- [Version Info Keys] CompanyName= ! FileDescription=Apophysis 2.08 beta ! FileVersion=2.0.8.3 InternalName= LegalCopyright=Copyright © 2005-2008 Apophysis Developers Team *************** *** 132,138 **** Comments= [HistoryLists\hlDebugSourcePath] ! Count=2 ! Item0=..\..\..\ApoLibStuff\pngimage\ Item1=..\..\..\ApoLibStuff\pngimage\ [HistoryLists\hlUnitAliases] Count=1 --- 132,139 ---- Comments= [HistoryLists\hlDebugSourcePath] ! Count=3 ! Item0=..\..\..\ApoLibStuff\pngimage\;..\..\..\ApoLibStuff\libxml\ Item1=..\..\..\ApoLibStuff\pngimage\ + Item2=..\..\..\ApoLibStuff\pngimage\ [HistoryLists\hlUnitAliases] Count=1 *************** *** 140,145 **** [HistoryLists\hlSearchPath] Count=3 ! Item0=..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage ! Item1=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage Item2=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage [HistoryLists\hlUnitOutputDirectory] --- 141,146 ---- [HistoryLists\hlSearchPath] Count=3 ! Item0=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage ! Item1=..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage Item2=$(DELPHI)\Lib\Debug;..\..\..\Apolibstuff\libxml;..\..\..\Apolibstuff\imglib;..\..\..\Apolibstuff\Scripter\Imports\Delphi7;..\..\..\Apolibstuff\Scripter;..\..\..\ApoLibStuff\pngimage [HistoryLists\hlUnitOutputDirectory] |
|
From: Peter S. <zu...@us...> - 2009-04-20 08:17:00
|
Update of /cvsroot/apophysis/2.10/Project/delphi6 In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv25957 Modified Files: Apophysis.dpr Apophysis.res Log Message: project update Index: Apophysis.res =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.res,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvs4Io7bw and /tmp/cvsM5L1eR differ Index: Apophysis.dpr =================================================================== RCS file: /cvsroot/apophysis/2.10/Project/delphi6/Apophysis.dpr,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Apophysis.dpr 7 Aug 2008 06:19:50 -0000 1.2 --- Apophysis.dpr 20 Apr 2009 08:16:56 -0000 1.3 *************** *** 52,56 **** FormFavorites in '..\..\Source\FormFavorites.pas' {FavoritesForm}, FormExport in '..\..\Source\FormExport.pas' {ExportDialog}, ! MsMultiPartFormData in '..\..\Source\MsMultiPartFormData.pas', XForm in '..\..\Source\XForm.pas', XFormMan in '..\..\Source\XFormMan.pas', --- 52,56 ---- FormFavorites in '..\..\Source\FormFavorites.pas' {FavoritesForm}, FormExport in '..\..\Source\FormExport.pas' {ExportDialog}, ! ValueReplacer in '..\..\Source\ValueReplacer.pas' {ValueReplacerForm}, XForm in '..\..\Source\XForm.pas', XFormMan in '..\..\Source\XFormMan.pas', *************** *** 76,81 **** Render48 in '..\..\Source\Render48.pas', Render48MT in '..\..\Source\Render48MT.pas', - Render64 in '..\..\Source\Render64.pas', - Render64MT in '..\..\Source\Render64MT.pas', FastMM4Messages in '..\..\Source\FastMM4Messages.pas', varRadialBlur in '..\..\Source\varRadialBlur.pas', --- 76,79 ---- *************** *** 94,98 **** begin ! if now >= EncodeDate(2048, 8, 8) then begin ShowMessage('This version has expired. Please go to http://sourceforge.net/project/apophysis and download the latest version.'); Halt --- 92,96 ---- begin ! if now >= EncodeDate(2009, 9, 9) then begin ShowMessage('This version has expired. Please go to http://sourceforge.net/project/apophysis and download the latest version.'); Halt *************** *** 121,124 **** --- 119,123 ---- Application.CreateForm(TfrmImageColoring, frmImageColoring); Application.CreateForm(TTraceForm, TraceForm); + Application.CreateForm(TValueReplacerForm, ValueReplacerForm); Application.UpdateFormatSettings := False; DecimalSeparator := '.'; |
|
From: Peter S. <zu...@us...> - 2009-04-20 08:15:35
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv25862 Removed Files: Render64.pas varSuperShape.pas Log Message: --- Render64.pas DELETED --- --- varSuperShape.pas DELETED --- |
|
From: Peter S. <zu...@us...> - 2009-04-20 08:15:13
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv25814 Modified Files: Editor.dfm Editor.pas Log Message: added alternating rows highlighting for vars,variables,xaos; added editor support for fav.variations, opacity, symmetry->color_speed; only used variables are displayed now (some weird hacks used) Index: Editor.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Editor.dfm,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** Editor.dfm 29 Sep 2008 07:33:47 -0000 1.54 --- Editor.dfm 20 Apr 2009 08:15:03 -0000 1.55 *************** *** 3,7 **** Top = 304 Width = 582 ! Height = 575 Caption = 'Transform Editor' Color = clBtnFace --- 3,7 ---- Top = 304 Width = 582 ! Height = 589 Caption = 'Transform Editor' Color = clBtnFace *************** *** 55,59 **** object StatusBar: TStatusBar Left = 0 ! Top = 527 Width = 574 Height = 15 --- 55,59 ---- object StatusBar: TStatusBar Left = 0 ! Top = 541 Width = 574 Height = 15 *************** *** 340,344 **** Top = 24 Width = 574 ! Height = 503 Align = alClient TabOrder = 1 --- 340,344 ---- Top = 24 Width = 574 ! Height = 517 Align = alClient TabOrder = 1 *************** *** 347,351 **** Top = 1 Width = 9 ! Height = 501 Align = alRight AutoSnap = False --- 347,351 ---- Top = 1 Width = 9 ! Height = 515 Align = alRight AutoSnap = False *************** *** 358,362 **** Top = 1 Width = 391 ! Height = 501 Align = alClient BevelOuter = bvNone --- 358,362 ---- Top = 1 Width = 391 ! Height = 515 Align = alClient BevelOuter = bvNone *************** *** 368,372 **** Top = 1 Width = 172 ! Height = 501 Align = alRight Alignment = taLeftJustify --- 368,372 ---- Top = 1 Width = 172 ! Height = 515 Align = alRight Alignment = taLeftJustify *************** *** 389,417 **** Top = 138 Width = 172 ! Height = 363 Align = alClient TabOrder = 0 - object lblTransform: TLabel - Left = 28 - Top = 10 - Width = 59 - Height = 13 - Caption = 'Transform' - Font.Charset = ANSI_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [fsBold] - ParentFont = False - end object cbTransforms: TComboBox Left = 92 ! Top = 8 ! Width = 57 ! Height = 19 Style = csOwnerDrawFixed Color = clBlack DropDownCount = 12 ! ItemHeight = 13 TabOrder = 0 OnChange = cbTransformsChange --- 389,404 ---- Top = 138 Width = 172 ! Height = 377 Align = alClient TabOrder = 0 object cbTransforms: TComboBox Left = 92 ! Top = 4 ! Width = 64 ! Height = 21 Style = csOwnerDrawFixed Color = clBlack DropDownCount = 12 ! ItemHeight = 15 TabOrder = 0 OnChange = cbTransformsChange *************** *** 420,426 **** object PageControl: TPageControl Left = 1 ! Top = 31 Width = 170 ! Height = 331 ActivePage = tabVariations Align = alBottom --- 407,413 ---- object PageControl: TPageControl Left = 1 ! Top = 48 Width = 170 ! Height = 328 ActivePage = tabVariations Align = alBottom *************** *** 435,439 **** Top = 0 Width = 162 ! Height = 285 HorzScrollBar.Visible = False VertScrollBar.Smooth = True --- 422,426 ---- Top = 0 Width = 162 ! Height = 282 HorzScrollBar.Visible = False VertScrollBar.Smooth = True *************** *** 1112,1116 **** object bvlPostCoefs: TBevel Left = 4 ! Top = 152 Width = 154 Height = 103 --- 1099,1103 ---- object bvlPostCoefs: TBevel Left = 4 ! Top = 128 Width = 154 Height = 103 *************** *** 1201,1205 **** object btnXpost: TSpeedButton Left = 8 ! Top = 180 Width = 25 Height = 21 --- 1188,1192 ---- object btnXpost: TSpeedButton Left = 8 ! Top = 156 Width = 25 Height = 21 *************** *** 1212,1216 **** object btnYpost: TSpeedButton Left = 8 ! Top = 204 Width = 25 Height = 21 --- 1199,1203 ---- object btnYpost: TSpeedButton Left = 8 ! Top = 180 Width = 25 Height = 21 *************** *** 1223,1227 **** object btnOpost: TSpeedButton Left = 8 ! Top = 228 Width = 25 Height = 21 --- 1210,1214 ---- object btnOpost: TSpeedButton Left = 8 ! Top = 204 Width = 25 Height = 21 *************** *** 1234,1238 **** object btnResetPostCoefs: TSpeedButton Left = 8 ! Top = 156 Width = 145 Height = 22 --- 1221,1225 ---- object btnResetPostCoefs: TSpeedButton Left = 8 ! Top = 132 Width = 145 Height = 22 *************** *** 1243,1264 **** OnClick = btnResetPostCoefsClick end - object pnlWeight: TPanel - Left = 8 - Top = 128 - Width = 88 - Height = 21 - Cursor = crHandPoint - Hint = 'Click and drag to change value' - Alignment = taLeftJustify - BevelOuter = bvLowered - Caption = ' Weight:' - ParentShowHint = False - ShowHint = True - TabOrder = 13 - OnDblClick = DragPanelDblClick - OnMouseDown = DragPanelMouseDown - OnMouseMove = DragPanelMouseMove - OnMouseUp = DragPanelMouseUp - end object txtA: TEdit Left = 36 --- 1230,1233 ---- *************** *** 1321,1341 **** OnKeyPress = CoefKeyPress end - object txtP: TEdit - Left = 96 - Top = 128 - Width = 57 - Height = 21 - Hint = '"Weight" is the probability of this transform to be applied' - TabOrder = 6 - Text = '0' - OnExit = txtPExit - OnKeyPress = txtPKeyPress - end object txtPost00: TEdit Left = 36 ! Top = 180 Width = 57 Height = 21 ! TabOrder = 7 Text = '0' OnExit = PostCoefValidate --- 1290,1299 ---- OnKeyPress = CoefKeyPress end object txtPost00: TEdit Left = 36 ! Top = 156 Width = 57 Height = 21 ! TabOrder = 6 Text = '0' OnExit = PostCoefValidate *************** *** 1344,1351 **** object txtPost01: TEdit Left = 96 ! Top = 180 Width = 57 Height = 21 ! TabOrder = 8 Text = '0' OnExit = PostCoefValidate --- 1302,1309 ---- object txtPost01: TEdit Left = 96 ! Top = 156 Width = 57 Height = 21 ! TabOrder = 7 Text = '0' OnExit = PostCoefValidate *************** *** 1354,1361 **** object txtPost10: TEdit Left = 36 ! Top = 204 Width = 57 Height = 21 ! TabOrder = 9 Text = '0' OnExit = PostCoefValidate --- 1312,1319 ---- object txtPost10: TEdit Left = 36 ! Top = 180 Width = 57 Height = 21 ! TabOrder = 8 Text = '0' OnExit = PostCoefValidate *************** *** 1364,1371 **** object txtPost11: TEdit Left = 96 ! Top = 204 Width = 57 Height = 21 ! TabOrder = 10 Text = '0' OnExit = PostCoefValidate --- 1322,1329 ---- object txtPost11: TEdit Left = 96 ! Top = 180 Width = 57 Height = 21 ! TabOrder = 9 Text = '0' OnExit = PostCoefValidate *************** *** 1374,1381 **** object txtPost20: TEdit Left = 36 ! Top = 228 Width = 57 Height = 21 ! TabOrder = 11 Text = '0' OnExit = PostCoefValidate --- 1332,1339 ---- object txtPost20: TEdit Left = 36 ! Top = 204 Width = 57 Height = 21 ! TabOrder = 10 Text = '0' OnExit = PostCoefValidate *************** *** 1384,1391 **** object txtPost21: TEdit Left = 96 ! Top = 228 Width = 57 Height = 21 ! TabOrder = 12 Text = '0' OnExit = PostCoefValidate --- 1342,1349 ---- object txtPost21: TEdit Left = 96 ! Top = 204 Width = 57 Height = 21 ! TabOrder = 11 Text = '0' OnExit = PostCoefValidate *************** *** 1406,1410 **** ShowHint = True State = cbChecked ! TabOrder = 14 Visible = False end --- 1364,1368 ---- ShowHint = True State = cbChecked ! TabOrder = 12 Visible = False end *************** *** 1420,1424 **** Caption = 'Transform color' TabOrder = 0 ! object pnlSymmetry: TPanel Left = 8 Top = 62 --- 1378,1382 ---- Caption = 'Transform color' TabOrder = 0 ! object pnlColorSpeed: TPanel Left = 8 Top = 62 *************** *** 1429,1433 **** Alignment = taLeftJustify BevelOuter = bvLowered ! Caption = ' Symmetry:' ParentShowHint = False ShowHint = True --- 1387,1391 ---- Alignment = taLeftJustify BevelOuter = bvLowered ! Caption = ' Color speed:' ParentShowHint = False ShowHint = True *************** *** 1475,1479 **** OnKeyPress = txtXFormColorKeyPress end ! object txtSymmetry: TEdit Left = 80 Top = 62 --- 1433,1437 ---- OnKeyPress = txtXFormColorKeyPress end ! object txtColorSpeed: TEdit Left = 80 Top = 62 *************** *** 1488,1492 **** object GroupBox2: TGroupBox Left = 8 ! Top = 168 Width = 145 Height = 77 --- 1446,1450 ---- object GroupBox2: TGroupBox Left = 8 ! Top = 176 Width = 145 Height = 77 *************** *** 1545,1568 **** Top = 104 Width = 145 ! Height = 57 Caption = 'Transform visibility' TabOrder = 2 ! object chkXformInvisible: TCheckBox Left = 8 ! Top = 16 Width = 129 Height = 17 ! Caption = 'Invisible' TabOrder = 0 ! OnClick = chkPlotModeClick end ! object chkXformSolo: TCheckBox Left = 8 ! Top = 32 ! Width = 129 ! Height = 17 ! Caption = 'Solo' TabOrder = 1 ! OnClick = chkXformSoloClick end end --- 1503,1545 ---- Top = 104 Width = 145 ! Height = 65 Caption = 'Transform visibility' TabOrder = 2 ! object chkXformSolo: TCheckBox Left = 8 ! Top = 42 Width = 129 Height = 17 ! Caption = 'Solo' TabOrder = 0 ! OnClick = chkXformSoloClick end ! object pnlOpacity: TPanel Left = 8 ! Top = 16 ! Width = 73 ! Height = 21 ! Cursor = crHandPoint ! Hint = 'Click and drag to change value' ! Alignment = taLeftJustify ! BevelOuter = bvLowered ! Caption = ' Opacity:' ! ParentShowHint = False ! ShowHint = True TabOrder = 1 ! OnDblClick = DragPanelDblClick ! OnMouseDown = DragPanelMouseDown ! OnMouseMove = DragPanelMouseMove ! OnMouseUp = DragPanelMouseUp ! end ! object txtOpacity: TEdit ! Left = 80 ! Top = 16 ! Width = 57 ! Height = 21 ! TabOrder = 2 ! Text = '0' ! OnExit = txtOpacitySet ! OnKeyPress = txtOpacityKeyPress end end *************** *** 1574,1578 **** Top = 0 Width = 162 ! Height = 285 Align = alClient ScrollBars = ssVertical --- 1551,1555 ---- Top = 0 Width = 162 ! Height = 282 Align = alClient ScrollBars = ssVertical *************** *** 1584,1587 **** --- 1561,1565 ---- OnDrawCell = VEVarsDrawCell OnExit = VEVarsChange + OnGetEditText = VEVarsGetEditText OnKeyPress = VEVarsKeyPress OnMouseDown = VEVarsMouseDown *************** *** 1590,1595 **** OnValidate = VEVarsValidate ColWidths = ( ! 93 ! 63) end end --- 1568,1573 ---- OnValidate = VEVarsValidate ColWidths = ( ! 91 ! 65) end end *************** *** 1601,1605 **** Top = 0 Width = 162 ! Height = 285 Align = alClient ScrollBars = ssVertical --- 1579,1583 ---- Top = 0 Width = 162 ! Height = 282 Align = alClient ScrollBars = ssVertical *************** *** 1609,1613 **** --- 1587,1593 ---- 'Value') OnDblClick = VEVarsDblClick + OnDrawCell = vleVariablesDrawCell OnExit = vleVariablesExit + OnGetEditText = vleVariablesGetEditText OnKeyPress = vleVariablesKeyPress OnMouseDown = VEVarsMouseDown *************** *** 1616,1621 **** OnValidate = vleVariablesValidate ColWidths = ( ! 93 ! 63) end end --- 1596,1601 ---- OnValidate = vleVariablesValidate ColWidths = ( ! 91 ! 65) end end *************** *** 1627,1631 **** Top = 0 Width = 162 ! Height = 285 Align = alClient PopupMenu = ChaosPopup --- 1607,1611 ---- Top = 0 Width = 162 ! Height = 282 Align = alClient PopupMenu = ChaosPopup *************** *** 1638,1641 **** --- 1618,1622 ---- OnDrawCell = VleChaosDrawCell OnExit = vleChaosExit + OnGetEditText = vleChaosGetEditText OnKeyPress = vleChaosKeyPress OnMouseDown = VEVarsMouseDown *************** *** 1644,1652 **** OnValidate = vleChaosValidate ColWidths = ( ! 65 ! 91) end end end end object PrevPnl: TPanel --- 1625,1679 ---- OnValidate = vleChaosValidate ColWidths = ( ! 58 ! 98) end end end + object pnlTransform: TPanel + Left = 16 + Top = 4 + Width = 76 + Height = 21 + Alignment = taLeftJustify + BevelOuter = bvNone + BorderWidth = 1 + Caption = ' Transform:' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + end + object pnlWeight: TPanel + Left = 16 + Top = 25 + Width = 76 + Height = 21 + Cursor = crHandPoint + Hint = 'Click and drag to change value' + Alignment = taLeftJustify + BevelOuter = bvLowered + Caption = ' Weight:' + ParentShowHint = False + ShowHint = True + TabOrder = 3 + OnDblClick = DragPanelDblClick + OnMouseDown = DragPanelMouseDown + OnMouseMove = DragPanelMouseMove + OnMouseUp = DragPanelMouseUp + end + object txtP: TEdit + Left = 92 + Top = 25 + Width = 64 + Height = 21 + Hint = '"Weight" is the probability of this transform to be applied' + TabOrder = 4 + Text = '0' + OnExit = txtPExit + OnKeyPress = txtPKeyPress + end end object PrevPnl: TPanel *************** *** 3089,3092 **** --- 3116,3120 ---- Checked = True Hint = 'Rebuild xaos links when deleting transforms' + Visible = False OnClick = mnuChaosRebuildClick end *************** *** 3106,3112 **** end object mnuLinkPostxform: TMenuItem ! Caption = 'Add linked xform' OnClick = mnuLinkPostxformClick end end end --- 3134,3144 ---- end object mnuLinkPostxform: TMenuItem ! Caption = 'Add linked xform after' OnClick = mnuLinkPostxformClick end + object mnuLinkPreXform: TMenuItem + Caption = 'Add linked xform before' + OnClick = mnuLinkPreXformClick + end end end Index: Editor.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Editor.pas,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** Editor.pas 29 Sep 2008 07:33:47 -0000 1.69 --- Editor.pas 20 Apr 2009 08:15:03 -0000 1.70 *************** *** 66,70 **** txtE: TEdit; txtF: TEdit; - txtP: TEdit; tabVariations: TTabSheet; VEVars: TValueListEditor; --- 66,69 ---- *************** *** 159,165 **** Rotatetriangle90CCW1: TMenuItem; Rotatetriangle90CCW2: TMenuItem; [...1577 lines suppressed...] + editor := TEditorHacker(TGridHacker(sender).InplaceEditor); + if Assigned(editor) then begin + editor.Color := VariableListColors[ARow-1]; + editor.Font.Color := VariableListTextColors[ARow-1]; + end; + end; + + procedure TEditForm.vleChaosGetEditText(Sender: TObject; ACol, + ARow: Integer; var Value: String); + var + editor: TEditorHacker; + begin + editor := TEditorHacker(TGridHacker(sender).InplaceEditor); + if Assigned(editor) then begin + editor.Color := ChaosColors[ARow and 1]; + end; + end; + end. |
|
From: Peter S. <zu...@us...> - 2009-04-20 08:11:35
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv25588 Modified Files: Main.dfm Main.pas Log Message: added checking XML for unrecognized variation/variable values, various fixes Index: Main.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.pas,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** Main.pas 7 Feb 2009 08:37:58 -0000 1.79 --- Main.pas 20 Apr 2009 08:11:31 -0000 1.80 *************** *** 43,47 **** RS_VO = 3; ! AppVersionString = 'Apophysis 2.08 beta 2'; randFilename = 'apophysis.rand'; --- 43,47 ---- RS_VO = 3; ! AppVersionString = 'Apophysis 2.09 pre-beta 1'; randFilename = 'apophysis.rand'; *************** *** 74,78 **** mnuEditor: TMenuItem; mnuRandom: TMenuItem; - mnuNormalWeights: TMenuItem; mnuEqualize: TMenuItem; mnuRWeights: TMenuItem; --- 74,77 ---- *************** *** 209,213 **** procedure mnuHelpTopicsClick(Sender: TObject); procedure mnuRefreshClick(Sender: TObject); - procedure mnuNormalWeightsClick(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure mnuCopyUPRClick(Sender: TObject); --- 208,211 ---- *************** *** 294,297 **** --- 292,299 ---- procedure ListViewInfoTip(Sender: TObject; Item: TListItem; var InfoTip: String); + procedure ListXmlScannerEmptyTag(Sender: TObject; TagName: String; + Attributes: TAttrList); + procedure ListViewSelectItem(Sender: TObject; Item: TListItem; + Selected: Boolean); private *************** *** 339,342 **** --- 341,345 ---- procedure LoadXMLFlame(filename, name: string); overload; procedure LoadXMLFlame(filename: string; index: integer); overload; + procedure CheckXMLFlame(filename: string; index: integer); overload; procedure DisableFavorites; procedure EnableFavorites; *************** *** 388,396 **** MainForm: TMainForm; pname, ptime: string; - nxform: integer; MainCp: TControlPoint; ParseCp: TControlPoint; - mainCPindex: integer; implementation --- 391,397 ---- *************** *** 398,411 **** uses {$IFDEF DEBUG} ! JclDebug, ExceptForm, {$ENDIF} Editor, Options, Regstry, Render, FullScreen, FormRender, Mutate, Adjust, Browser, Save, About, CmapData, ! HtmlHlp, ScriptForm, FormFavorites, FormExport, msMultiPartFormData, ! ImageColoring, RndFlame, Tracer, Types; {$R *.DFM} procedure NormalizeVariations(var cp1: TControlPoint); var --- 399,420 ---- uses {$IFDEF DEBUG} ! //JclDebug, ExceptForm, {$ENDIF} Editor, Options, Regstry, Render, FullScreen, FormRender, Mutate, Adjust, Browser, Save, About, CmapData, ! HtmlHlp, ScriptForm, FormFavorites, FormExport, RndFlame, ! {msMultiPartFormData,} ImageColoring, Tracer, Types; {$R *.DFM} + var + nxform: integer; + mainCPindex: integer; + + pxformnum: integer; + pversion: string; + xmlErrorsList: TStringList; + procedure NormalizeVariations(var cp1: TControlPoint); var *************** *** 615,622 **** repeat a := random(NRVAR); ! until Variations[a]; repeat b := random(NRVAR); ! until Variations[b]; if (a = b) then begin --- 624,631 ---- repeat a := random(NRVAR); ! until RandomVariations[a]; repeat b := random(NRVAR); ! until RandomVariations[b]; if (a = b) then begin *************** *** 1084,1088 **** e := cp.xform[i].c[2][0]; f := cp.xform[i].c[2][1]; ! p := cp.xform[i].density; Strings.Add(Format('%.6g %.6g %.6g %.6g %.6g %.6g %.6g', [a, b, c, d, e, f, p])); --- 1093,1097 ---- e := cp.xform[i].c[2][0]; f := cp.xform[i].c[2][1]; ! p := cp.xform[i].weight; Strings.Add(Format('%.6g %.6g %.6g %.6g %.6g %.6g %.6g', [a, b, c, d, e, f, p])); *************** *** 1188,1192 **** MainCp.xform[sTransforms].c[2][0] := e; MainCp.xform[sTransforms].c[2][1] := f; ! MainCp.xform[sTransforms].density := p; inc(sTransforms); end --- 1197,1201 ---- MainCp.xform[sTransforms].c[2][0] := e; MainCp.xform[sTransforms].c[2][1] := f; ! MainCp.xform[sTransforms].weight := p; inc(sTransforms); end *************** *** 1244,1248 **** e := cp.xform[m].c[2][0]; f := cp.xform[m].c[2][1]; ! p := cp.xform[m].density; Write(IFile, Format('%.6g %.6g %.6g %.6g %.6g %.6g %.6g', [a, b, c, d, e, f, p])); --- 1253,1257 ---- e := cp.xform[m].c[2][0]; f := cp.xform[m].c[2][1]; ! p := cp.xform[m].weight; Write(IFile, Format('%.6g %.6g %.6g %.6g %.6g %.6g %.6g', [a, b, c, d, e, f, p])); *************** *** 1357,1361 **** if cp1.FAngle <> 0 then ! parameters := parameters + format('angle="%g" ', [cp1.FAngle]) + format('rotate="%g" ', [-180 * cp1.FAngle/Pi]); if cp1.zoom <> 0 then --- 1366,1370 ---- if cp1.FAngle <> 0 then ! parameters := parameters + //format('angle="%g" ', [cp1.FAngle]) + format('rotate="%g" ', [-180 * cp1.FAngle/Pi]); if cp1.zoom <> 0 then *************** *** 1943,1947 **** OpenFile := AppPath + randFilename; ReWrite(F); ! WriteLn(F, '<random_batch>'); for i := 0 to BatchSize - 1 do begin --- 1952,1956 ---- OpenFile := AppPath + randFilename; ReWrite(F); ! WriteLn(F, '<flames name="random batch">'); for i := 0 to BatchSize - 1 do begin *************** *** 1964,1968 **** // WriteLn(F, ' '); end; ! Write(F, '</random_batch>'); CloseFile(F); except --- 1973,1977 ---- // WriteLn(F, ' '); end; ! Write(F, '</flames>'); CloseFile(F); except *************** *** 1978,2011 **** { List .flame file } var ! i, p: integer; Title: string; ListItem: TListItem; ! FStrings: TStringList; begin ! FStrings := TStringList.Create; ! FStrings.LoadFromFile(FileName); try MainForm.ListView.Items.BeginUpdate; MainForm.ListView.Items.Clear; ! if (Pos('<flame ', Lowercase(FStrings.Text)) <> 0) then begin ! for i := 0 to FStrings.Count - 1 do begin ! p := Pos('<flame ', LowerCase(FStrings[i])); if (p <> 0) then begin ! MainForm.ListXMLScanner.LoadFromBuffer(PCHAR(FSTrings[i])); MainForm.ListXMLScanner.Execute; ! if Trim(pname) = '' then ! Title := '*untitled ' + ptime ! else ! Title := Trim(pname); if Title <> '' then begin { Otherwise bad format } ListItem := MainForm.ListView.Items.Add; ! Listitem.Caption := Title; end; end; end; end; --- 1987,2039 ---- { List .flame file } var ! i, j, p: integer; Title: string; ListItem: TListItem; ! FileStrings: TStringList; ! ParamStrings: TStringList; begin ! FileStrings := TStringList.Create; ! FileStrings.LoadFromFile(FileName); ! ParamStrings := TStringList.Create; try MainForm.ListView.Items.BeginUpdate; MainForm.ListView.Items.Clear; ! if (Pos('<flame ', Lowercase(FileStrings.Text)) <> 0) then begin ! i := 0; ! while i < FileStrings.Count do begin ! p := Pos('<flame ', LowerCase(FileStrings[i])); if (p <> 0) then begin ! ParamStrings.Add(FileStrings[i]); ! repeat ! Inc(i); ! ParamStrings.Add(FileStrings[i]); ! until pos('</flame>', Lowercase(FileStrings[i])) <> 0; ! ! Assert(xmlErrorsList.Count = 0); ! pname := ''; ! ptime := ''; ! pversion := ''; ! MainForm.ListXMLScanner.LoadFromBuffer(PCHAR(ParamStrings.Text)); MainForm.ListXMLScanner.Execute; ! Title := Trim(pname); ! if Title = '' then ! Title := '*untitled ' + ptime; ! if Title <> '' then begin { Otherwise bad format } ListItem := MainForm.ListView.Items.Add; ! ListItem.Caption := Title; ! if xmlErrorsList.Count > 0 then begin ! ListItem.ImageIndex := 1; ! xmlErrorsList.Clear; ! end; end; + ParamStrings.Clear; end; + Inc(i); end; end; *************** *** 2016,2020 **** end; finally ! FStrings.Free; end; end; --- 2044,2049 ---- end; finally ! ParamStrings.Free; ! FileStrings.Free; end; end; *************** *** 2034,2038 **** mnuItemDelete.Enabled := True; OpenFile := OpenDialog.FileName; ! MainForm.Caption := AppVersionString + ' - ' + OpenFile; // --Z-- OpenFileType := ftXML; if UpperCase(ExtractFileExt(OpenDialog.FileName)) = '.IFS' then --- 2063,2067 ---- mnuItemDelete.Enabled := True; OpenFile := OpenDialog.FileName; ! MainForm.Caption := AppVersionString + ' - ' + OpenFile; OpenFileType := ftXML; if UpperCase(ExtractFileExt(OpenDialog.FileName)) = '.IFS' then *************** *** 2128,2141 **** end; - procedure TMainForm.mnuNormalWeightsClick(Sender: TObject); - begin - StopThread; - UpdateUndo; - // TODO: ...something - // ComputeWeights(MainCp, MainTriangles, transforms); - RedrawTimer.Enabled := True; - UpdateWindows; - end; - procedure TMainForm.mnuRWeightsClick(Sender: TObject); begin --- 2157,2160 ---- *************** *** 2240,2244 **** e := cp1.xform[m].c[2][0]; f := cp1.xform[m].c[2][1]; ! p := cp1.xform[m].Density; if m < Transforms then xf_str := 'p_xf' + inttostr(m) else begin --- 2259,2263 ---- e := cp1.xform[m].c[2][0]; f := cp1.xform[m].c[2][1]; ! p := cp1.xform[m].weight; if m < Transforms then xf_str := 'p_xf' + inttostr(m) else begin *************** *** 2248,2252 **** Strings.Add(' ' + xf_str + '_p=' + Format('%.6g ', [p])); Strings.Add(' ' + xf_str + '_c=' + floatTostr(cp1.xform[m].color)); ! Strings.Add(' ' + xf_str + '_sym=' + floatTostr(cp1.xform[m].symmetry)); Strings.Add(' ' + xf_str + '_cfa=' + Format('%.6g ', [a]) + xf_str + '_cfb=' + Format('%.6g ', [b]) + --- 2267,2271 ---- Strings.Add(' ' + xf_str + '_p=' + Format('%.6g ', [p])); Strings.Add(' ' + xf_str + '_c=' + floatTostr(cp1.xform[m].color)); ! Strings.Add(' ' + xf_str + '_sym=' + floatTostr(cp1.xform[m].color_speed)); Strings.Add(' ' + xf_str + '_cfa=' + Format('%.6g ', [a]) + xf_str + '_cfb=' + Format('%.6g ', [b]) + *************** *** 2544,2547 **** --- 2563,2567 ---- DrawSelection := true; FViewScale := 1; // prevent divide by zero (?) + xmlErrorsList := TStringList.Create; end; *************** *** 2609,2613 **** DeleteFile(AppPath + randFilename); ! // get filename from command line argument if ParamCount > 0 then openFile := ParamStr(1) else openFile := defFlameFile; --- 2629,2633 ---- DeleteFile(AppPath + randFilename); ! // get filename from command line argument if ParamCount > 0 then openFile := ParamStr(1) else openFile := defFlameFile; *************** *** 2714,2717 **** --- 2734,2738 ---- ParseCp.free; Favorites.Free; + xmlErrorsList.Free; end; *************** *** 2779,2782 **** --- 2800,2804 ---- pname := ''; ptime := ''; + pversion := ''; p := Pos('<flame ', LowerCase(FileStrings[i])); if (p <> 0) then *************** *** 2848,2852 **** FileStrings: TStringList; ParamStrings: TStringList; ! Tokens: TStringList; flameindex: integer; begin --- 2870,2874 ---- FileStrings: TStringList; ParamStrings: TStringList; ! // Tokens: TStringList; flameindex: integer; begin *************** *** 2861,2864 **** --- 2883,2887 ---- pname := ''; ptime := ''; + pversion := ''; p := Pos('<flame ', LowerCase(FileStrings[i])); if (p <> 0) then *************** *** 2915,2918 **** --- 2938,2985 ---- end; + procedure TMainForm.CheckXMLFlame(filename: string; index: integer); + var + i, p: integer; + FileStrings: TStringList; + ParamStrings: TStringList; + Tokens: TStringList; + flameindex: integer; + begin + FileStrings := TStringList.Create; + ParamStrings := TStringList.Create; + + try + FileStrings.LoadFromFile(filename); + flameindex := 0; + for i := 0 to FileStrings.Count - 1 do + begin + pname := ''; + ptime := ''; + pversion := ''; + p := Pos('<flame ', LowerCase(FileStrings[i])); + if (p <> 0) then + begin + if (flameIndex <> index) then begin + inc(flameIndex); + continue; + end; + ParamStrings.Add(FileStrings[i]); + Break; + end; + end; + repeat + inc(i); + ParamStrings.Add(FileStrings[i]); + until pos('</flame>', Lowercase(FileStrings[i])) <> 0; + + Assert(xmlErrorsList.Count = 0); + MainForm.ListXMLScanner.LoadFromBuffer(PCHAR(PAramStrings.Text)); + MainForm.ListXMLScanner.Execute; + finally + FileStrings.free; + ParamStrings.free; + end; + end; + procedure TMainForm.ResizeImage; var *************** *** 2962,2966 **** if OpenFileType = ftXML then begin ! LoadXMLFlame(OpenFile, ListView.Selected.Index); end else --- 3029,3033 ---- if OpenFileType = ftXML then begin ! LoadXMLFlame(OpenFile, {ListView.Selected.Index ?}Item.Index); end else *************** *** 3167,3171 **** begin for i := 0 to mainCP.NumXForms-1 do ! if mainCP.xform[i].noPlot = false then goto skip; exit; skip: --- 3234,3239 ---- begin for i := 0 to mainCP.NumXForms-1 do ! if mainCP.xform[i].opacity <> 0 then goto skip; ! // No visible xforms - exiting exit; skip: *************** *** 3925,3934 **** if FinalXformLoaded = false then begin cp1{MainCP}.xform[nxform].Clear; ! cp1{MainCP}.xform[nxform].symmetry := 1; end; if nxform < NXFORMS then for i := nxform to NXFORMS - 1 do ! cp1.xform[i].density := 0; // Check for symmetry parameter --- 3993,4002 ---- if FinalXformLoaded = false then begin cp1{MainCP}.xform[nxform].Clear; ! cp1{MainCP}.xform[nxform].color_speed := 1; end; if nxform < NXFORMS then for i := nxform to NXFORMS - 1 do ! cp1.xform[i].weight := 0; // Check for symmetry parameter *************** *** 4163,4168 **** TagName: string; Attributes: TAttrList); begin ! pname := Attributes.value('name'); ! ptime := Attributes.value('time'); end; --- 4231,4284 ---- TagName: string; Attributes: TAttrList); begin ! if (TagName = 'flame') then begin ! pname := Attributes.value('name'); ! ptime := Attributes.value('time'); ! pversion := Attributes.Value('version'); ! pxformnum := 1; // hacky ! end; ! end; ! ! procedure TMainForm.ListXmlScannerEmptyTag(Sender: TObject; ! TagName: String; Attributes: TAttrList); ! const ! ValidAttributes: array[0..9] of string = ( ! 'coefs', 'post', 'weight', 'color', ! 'symmetry', 'noplot', 'chaos', 'enabled', ! 'plotmode', 'opacity' ! ); ! var ! i, j: integer; ! found: boolean; ! attr: string; ! begin ! if (tagName = 'xform') or (tagName = 'finalxform') then begin ! for i := 0 to Attributes.Count-1 do begin ! attr := Attributes.Name(i); ! found := false; ! for j := 0 to High(ValidAttributes) do ! if attr = ValidAttributes[j] then begin ! found := true; ! break; ! end; ! if found then continue; ! ! for j := 0 to NRVAR-1 do ! if attr = Varnames(j) then begin ! found := true; ! break; ! end; ! if found then continue; ! ! for j := 0 to GetNrVariableNames-1 do ! if attr = GetVariableNameAt(j) then begin ! found := true; ! break; ! end; ! if found then continue; ! ! xmlErrorsList.Add('in xform #' + IntToStr(pxformnum) + ' "' + attr + '"'); ! end; ! Inc(pxformnum); ! end; end; *************** *** 4317,4321 **** Clear; v := Attributes.Value('weight'); ! if (v <> '') and (TagName = 'xform') then density := StrToFloat(v); if (TagName = 'finalxform') then begin --- 4433,4437 ---- Clear; v := Attributes.Value('weight'); ! if (v <> '') and (TagName = 'xform') then weight := StrToFloat(v); if (TagName = 'finalxform') then begin *************** *** 4325,4334 **** end; ! if activexformset > 0 then density := 0; // tmp... v := Attributes.Value('color'); if v <> '' then color := StrToFloat(v); v := Attributes.Value('symmetry'); ! if v <> '' then symmetry := StrToFloat(v); v := Attributes.Value('coefs'); GetTokens(v, tokens); --- 4441,4452 ---- end; ! if activexformset > 0 then weight := 0; // tmp... v := Attributes.Value('color'); if v <> '' then color := StrToFloat(v); v := Attributes.Value('symmetry'); ! if v <> '' then color_speed := StrToFloat(v); ! v := Attributes.Value('color_speed'); ! if v <> '' then color_speed := StrToFloat(v); v := Attributes.Value('coefs'); GetTokens(v, tokens); *************** *** 4364,4374 **** if v <> '' then begin if v = 'off' then begin ! noPlot := true; end else begin ! noPlot := false; end; end; for i := 0 to NRVAR - 1 do begin --- 4482,4495 ---- if v <> '' then begin if v = 'off' then begin ! opacity := 0; //noPlot := true; end else begin ! opacity := 1; //noPlot := false; end; end; + v := Attributes.Value('opacity'); + if v <> '' then opacity := StrToFloat(v); + for i := 0 to NRVAR - 1 do begin *************** *** 4617,4621 **** var scale: double; - rs: TSRect; begin case FMouseMoveState of --- 4738,4741 ---- *************** *** 4825,4829 **** var bkuPen: TPen; ! dx, dy, cx, cy: integer; l, r, t, b: integer; begin --- 4945,4949 ---- var bkuPen: TPen; ! dx, dy: integer; l, r, t, b: integer; begin *************** *** 4940,4944 **** NewMenuItem.RadioItem := True; VarMenus[i] := NewMenuItem; ! if i < NumBuiltinVars then mnuBuiltinVars.Add(NewMenuItem) else --- 5060,5064 ---- NewMenuItem.RadioItem := True; VarMenus[i] := NewMenuItem; ! if i < NumBuiltinVariations then mnuBuiltinVars.Add(NewMenuItem) else *************** *** 5075,5082 **** procedure TMainForm.ListViewInfoTip(Sender: TObject; Item: TListItem; var InfoTip: String); ! var ! Bitmap: TBitmap; ! lcp: TControlPoint; begin // flame preview in a tooltip... { --- 5195,5215 ---- procedure TMainForm.ListViewInfoTip(Sender: TObject; Item: TListItem; var InfoTip: String); ! //var ! //Bitmap: TBitmap; ! //lcp: TControlPoint; begin + { + // Show unrecognized variations/variables in the tooltip + + CheckXMLFlame(OpenFile, Item.Index); + + InfoTip := InfoTip + #13#10 + 'Created with: ' + pversion; + + if xmlErrorsList.Count > 0 then begin + InfoTip := InfoTip + #13#10 + 'Unrecognized values:' + #13#10 + xmlErrorsList.Text; + xmlErrorsList.Clear; + end; + } + // flame preview in a tooltip... { *************** *** 5121,5123 **** --- 5254,5275 ---- end; + procedure TMainForm.ListViewSelectItem(Sender: TObject; Item: TListItem; + Selected: Boolean); + var + i: integer; + str: string; + begin + { + CheckXMLFlame(OpenFile, Item.Index); + + if xmlErrorsList.Count > 0 then begin + str := 'Unrecognized values:' + #13#10 + xmlErrorsList.Text; + + InfoLabel.Caption := InfoLabel.Caption + #13#10 + str; + InfoLabel.Hint := str; + xmlErrorsList.Clear; + end + } + end; + end. Index: Main.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Main.dfm,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** Main.dfm 18 Dec 2008 08:00:27 -0000 1.47 --- Main.dfm 20 Apr 2009 08:11:31 -0000 1.48 *************** *** 44,48 **** ParentShowHint = False ShowHint = True ! TabOrder = 0 object btnOpen: TToolButton Left = 0 --- 44,48 ---- ParentShowHint = False ShowHint = True ! TabOrder = 1 object btnOpen: TToolButton Left = 0 *************** *** 313,316 **** --- 313,317 ---- Height = 430 Align = alLeft + BevelOuter = bvNone Columns = < item *************** *** 319,325 **** end> HideSelection = False PopupMenu = ListPopUp SmallImages = SmallImages ! TabOrder = 1 ViewStyle = vsReport OnChange = ListViewChange --- 320,328 ---- end> HideSelection = False + ParentShowHint = False PopupMenu = ListPopUp + ShowHint = True SmallImages = SmallImages ! TabOrder = 0 ViewStyle = vsReport OnChange = ListViewChange *************** *** 327,330 **** --- 330,334 ---- OnEdited = ListViewEdited OnInfoTip = ListViewInfoTip + OnSelectItem = ListViewSelectItem end object BackPanel: TPanel *************** *** 2366,2623 **** Top = 56 Bitmap = { ! 494C010101000500040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 ! 0000000000003600000028000000400000002000000001002000000000000020 ! 000000000000000000000000000000000000000000009C636300FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CECE ! CE0000000000000000000000000000000000FF6331000000000000000000FF63 ! 310000000000000000000000000000636300639C9C000063630000313100CECE ! CE00CEFFFF00FFFFFF009CCECE009CCECE009CCECE0031313100000000000000 ! 00000000000063636300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00CEFFFF00CEFFFF00CEFFFF00CEFFFF00CEFF ! FF009CFFFF000000000000000000000000009CCECE000063630031000000CEFF ! FF00CECECE00CECECE00CEFFFF00FF6331003131310000000000000000000000 ! 00000000000063636300FFFFFF003100FF003100FF0000006300FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEFFFF00CEFFFF00CEFF ! FF00CEFFFF000000000000000000000000000000000000000000000000000000 ! 00000000000000000000FFFFFF00636363006363630063636300636363006363 ! 6300636363006363630063636300636363006363630063636300636363006363 ! 630063636300000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 ! 000000000000FFFFFF00FF000000FF000000CEFFFF00CEFFFF00CEFFFF00FF00 ! 0000630000009CFFFF009CFFFF0000FFFF0000FFFF0000000000000000000000 ! 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000009C636300FFFFFF00FFFF ! FF00FF9C3100FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FF9C3100FF9C ! 3100FF9C3100FF9C3100FF633100FF633100FF633100FF633100FFFFFF00CECE ! CE0000000000000000000000000000000000FF63310000000000000000000000 ! 000000000000000000000000000000636300000000009C636300FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CECE ! CE0000000000000000000000000000000000FF63310000000000000000000000 ! 0000000000000000000000000000006363009CCECE00639C9C00006363000063 ! 6300CEFFFF00CEFFFF00CECECE009CCECE000000000000000000000000000000 ! 00000000000063636300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEFF ! FF00FFFFFF00000000000000000000000000006363009CCECE00639C9C00639C ! 9C0000636300CECECE00CEFFFF00CECECE003131310000000000000000000000 ! 0000000000006363630063636300636363006363630063636300636363006363 ! 6300636363006363630063636300636363006363630063636300636363006363 ! 6300636363000000000000000000000000000000000000000000000000000000 ! 00009C9C9C00FFFFFF00FFFFFF00FFFFFF0063000000FFFFFF00CEFFFF00CEFF ! FF00CEFFFF00FF0000009C0000009CFFFF0000FFFF0000000000000000000000 ! 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 ! 0000000000009C9C9C009C9C9C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CEFF ! FF00CEFFFF00CEFFFF00CEFFFF009CFFFF000000000000000000000000000000 ! 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000009C636300FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF009C636300FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CECE ! CE000000000000000000000000000000000000000000FF633100000000000000 ! 0000000000000000000000000000000000000000000063000000630000006300 ! 0000630000006300000063000000630000006300000063000000630000006300 ! 0000630000006300000063000000630000006300000063000000630000006300 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 000000000000000000000000000000000000006363009CCECE009CCECE00639C ! 9C00639C9C000063630000636300313131000063630000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000636300006363009CCE ! CE009CCECE00639C9C00639C9C00006363000063630000000000000000000000 ! 0000000000000000000000000000000000000000000000000000630000009C00 ! 00009C0000006300000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000009C9C9C009C9C9C00FFFFFF00FFFFFF00FFFF ! FF00CEFFFF00CEFFFF00CEFFFF00CEFFFF000000000000000000000000000000 ! 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 ! 000000000000000000000000000000000000000000009C9C9C009C9C9C00FFFF ! FF00FFFFFF00FFFFFF00CEFFFF00000000000000000000000000000000000000 ! 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FF000000FFFF3100FF9C ! 3100FF9C3100FF633100FF633100FF633100FF633100FF633100FF633100FF63 ! 3100FF633100FF633100FF633100FF633100FF633100FF633100FF633100FF63 ! 3100000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000000000000000000000000000FF000000FF000000FF00 ! 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 ! 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000063 ! 6300006363000063630000636300000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000006300 ! 0000CE0031009C00000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000FF6331000000000000000000FF000000CE00 ! 3100CE0031006300000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000009C9C ! 9C009C9C9C00FFFFFF00CEFFFF00000000000000000000000000000000000000 ! 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000009C9C9C0000000000000000000000000000000000000000000000 ! 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF ! FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 000000000000000000000000000000000000FF633100FF000000FF000000FF00 ! 0000000000009C00000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000084 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000FF0000FFFF000063FF00000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000636300CEFFFF0000CEFF0000CEFF00009CCE0000CE - FF00009CCE0000CEFF00009CCE00009CCE00639C9C00009CCE00639C9C00009C - CE0000000000000000000000000000000000000000000000000000009C000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 0000009C00000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CEEFFF00CEEF - FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEF - FF00CEEFFF00CEEFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000FFF7EF00FFF7E700FFF7EF00FFF7EF00FFF7 ! EF00FFF7F700FFFFF70000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CEEFFF00CEEF - FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEF - FF00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163 - 8C00000000000000000000000000000000000000000000000000DEDEDE00DEDE - DE000000000031638C0000000000000000000000000031638C0031638C000000 - 0000000000000000000000000000FFF7E700D6632100D6733100D6733100D663 - 1000D6632100FFF7EF0000000000000000000000000000000000FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000CEEFFF00CEEF - FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEF - FF00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163 - 8C00000000000000000000000000000000000000000000000000DEDEDE00DEDE - DE000000000031638C0000000000000000000000000031638C0031638C000000 - 0000000000000000000000000000FFEFE700E7A57B00FFFFE700FFF7E700FFAD - 6B00E7AD8400FFEFDE0000000000000000000000000000000000FFFFFF006BB5 - E700F7FFFF006BB5E7006BB5E7006BB5E700F7FFFF0000000000000000000000 - 0000000000000000000000000000000000000000000000000000CEEFFF00CEEF - FF00296BAD00296BAD00296BAD00296BAD00296BAD00296BAD00296BAD00296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163 - 8C00000000000000000000000000000000000000000000000000DEDEDE00DEDE - DE000000000031638C0000000000000000000000000031638C0031638C000000 - 0000000000000000000000000000FFE7DE00E7945A00FFF7EF00FFCEAD00FFCE - AD00E78C4A00FFE7D60000000000000000000000000000000000F7FFFF00EFFF - FF00E7F7FF000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000CEEFFF00CEEF - FF000000000008297B005A9CBD000000000008185A000000000000000000296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163 - 8C00000000000000000000000000000000000000000000000000000000000000 - 00000000000031638C0000000000000000000000000031638C0031638C000000 - 0000000000000000000000000000FFE7D600E7844200FFFFFF00FFB59400FFE7 - CE00E78C5200FFE7CE0000000000000000000000000000000000F7FFFF0063B5 - E70063B5E70000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF000000000000000000000000000000000000000000CEEFFF00CEEF - FF0000000000184A9C004A8CBD00185A9C00397BAD000000080000000000296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163 - 8C0031638C0031638C0031638C0031638C0031638C0031638C0031638C003163 - 8C0031638C0031638C0000000000000000000000000031638C0031638C003163 - 8C0031638C0031638C0000000000FFDECE00E7843900FFFFF700FFC69C00FFD6 - A500F7B58C00FFDECE0000000000000000000000000000000000EFFFFF00DEF7 - FF00CEEFFF0000000000FFFFFF006BB5E700F7FFFF006BB5E7006BB5E7006BB5 - E700F7FFFF000000000000000000000000000000000000000000CEEFFF00CEEF - FF0008185A00396BAD00296BAD00185A9C004A8CBD00295A9C0000000000296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C003163 - 8C00000000000000000000000000000000000000000000000000000000000000 - 000031638C0031638C0000000000000000000000000031638C0031638C000000 - 0000000000000000000000000000FFDEC600E78C4200FFFFFF00FFFFF7000000 - 0000000000000000000000000000000000000000000000000000EFFFFF005AB5 - E7005AADE70000000000F7FFFF00EFFFFF00E7F7FF00E7F7FF00E7F7FF00E7F7 - FF00E7F7FF000000000000000000000000000000000000000000CEEFFF00CEEF - FF005A9CCE00396BAD0008397B0000081800084A8C008CBDDE00296BAD00296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000 - 0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE - DE000000000031638C0000000000000000000000000031638C0000000000DEDE - DE00DEDEDE00DEDEDE0000000000FFDEC600D6631800D6733900E77B39000000 - 0000F7A57B000000000000000000000000000000000000000000EFF7FF00CEEF - FF00BDE7FF0000000000F7FFFF0063B5E70063B5E700DEF7FF0063B5E70063B5 - E700DEF7FF000000000000000000000000000000000000000000CEEFFF00CEEF - FF0000000000397BAD00296BAD00396BAD004A7BBD006BADCE0008083900296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000 - 0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE - DE000000000031638C0000000000000000000000000031638C0000000000DEDE - DE00DEDEDE00DEDEDE0000000000FFE7D600FFDEC600FFD6C600FFD6C6000000 - 0000000000000000000000000000000000000000000000000000EFFFFF0063B5 - E700C6EFFF0000000000EFFFFF00DEF7FF00CEEFFF00CEEFFF00CEEFFF00D6F7 - FF00DEF7FF000000000000000000000000000000000000000000CEEFFF00CEEF - FF00000000000000000008296B007BADCE007BADCE00184A9C0000082900296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000 - 0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE - DE000000000031638C0000000000000000000000000031638C0000000000DEDE - DE00DEDEDE00DEDEDE0000000000000000000000000000000000000000000000 - 000031638C000000000000000000000000000000000000000000F7FFFF00EFF7 - FF00E7F7FF0000000000EFFFFF005AB5E7005AADE700C6EFFF00CEEFFF0063B5 - E700EFF7FF000000000000000000000000000000000000000000CEEFFF00CEEF - FF0000000000000000000000000008185A00000818000008290000081800296B - AD00CEEFFF00CEEFFF000000000000000000000000000000000031638C000000 - 0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE - DE000000000031638C0000000000000000000000000031638C0000000000DEDE - DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000 - 000031638C000000000000000000000000000000000000000000000000000000 - 00000000000000000000EFF7FF00CEEFFF00BDE7FF00BDE7FF00000000000000 - 0000000000000000000000000000000000000000000000000000CEEFFF00CEEF - FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF000000 - 000000000000000000000000000000000000000000000000000031638C000000 - 0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE - DE00000000000000000000000000000000000000000031638C0000000000DEDE - DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000EFFFFF0063B5E700C6EFFF00C6EFFF0000000000C6EF - FF00000000000000000000000000000000000000000000000000CEEFFF00CEEF - FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF000000 - 0000ADCEEF00000000000000000000000000000000000000000031638C000000 - 0000DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE - DE00000000000000000000000000000000000000000031638C0000000000DEDE - DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000 0000000000000000000000000000000000000000000000000000000000000000 ! 00000000000000000000F7FFFF00EFF7FF00E7F7FF00E7F7FF00000000000000 ! 0000000000000000000000000000000000000000000000000000CEEFFF00CEEF ! FF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF00CEEFFF000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 --- 2370,2499 ---- Top = 56 Bitmap = { ! 494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 ! 0000000000003600000028000000400000001000000001002000000000000010 ! 0000000000000000000000000000000000000000000041414100464646004F4F ! 4F00585858005C5D5D005F5F5F005D5D5D005B5B5B00575757004F4F4F004444 ! 44003B3B3B000000000000000000000000000000000041414100464646004F4F ! 4F00585858005C5D5D00425562004A9BB60044869C0044869C0044869C004486 ! 9C0044869C0044869C003E718100000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000041414100E1E1E100DEDE + DE00DEDEDE00E4E4E400EAEAEA00F2F2F200F5F5F500F7F7F700F9F9F900F8F8 + F800454545000000000000000000000000000000000041414100E1E1E100DEDE + DE00DEDEDE00E4E4E40045859B00A9EEFF0089E7FF0089E7FF0089E7FF0089E7 + FF00A9EEFF00A9EEFF0044869C00000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 000000000000000000000000000000000000000000003F3F3F00DCDCDC00DADA ! DA00DBDBDB00DEDEDE00E6E6E600EEEEEE00F4F4F400F7F7F700F9F9F900F9F9 ! F90058585800000000000000000000000000000000003F3F3F00DCDCDC00DADA ! DA00DBDBDB00DEDEDE0042556200A9EEFF0089E7FF0089E7FF002D2D2D0089E7 ! FF0089E7FF00A9EEFF0042556200000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000042424200D5D5D500D3D3 + D3008E99A00092B6D20096B4C500778B9B007890AA00F4F4F400F7F7F700F8F8 + F8006A6A6A000000000000000000000000000000000042424200D5D5D500D3D3 + D3008E99A00092B6D20096B4C50048809600A9EEFF0089E7FF007BCBE00089E7 + FF0072E2FF0044869C0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000046464600CDCDCD00747D + 8700DFFFFF00B8C7CB006E8DB700EBFFFF007B8689007696B700F4F4F400F5F5 + F500747474000000000000000000000000000000000046464600CDCDCD00747D + 8700DFFFFF00B8C7CB006E8DB70042556200A9EEFF0089E7FF002D2D2D0089E7 + FF0072E2FF004255620000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004F4F4F00CBCBCB00C2EA + FB00B2CCDD009D95A100E6C5900063668600E9FFFF007C888B0072859700F1F1 + F10076767600000000000000000000000000000000004F4F4F00CBCBCB00C2EA + FB00B2CCDD009D95A100E6C59000636686004C7B9100A9EEFF002D2D2D0072E2 + FF0044869C000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005A5B5A00CFCFCF00A8D8 + EA00B6AEBB00F7E3C200FFFFFF00FFD8A10063657C00E0FFFF00747D8E00ECEC + EC0073737300000000000000000000000000000000005A5B5A00CFCFCF00A8D8 + EA00B6AEBB00F7E3C200FFFFFF00FFD8A10042556200A9EEFF0089E7FF0072E2 + FF00425562000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000062626200D8D8D80082A0 + B900E2E5DF00EABE9300FFFFFF00FFFFF900C18563007FA0C50099AFBA00E5E5 + E500686868000000000000000000000000000000000062626200D8D8D80082A0 + B900E2E5DF00EABE9300FFFFFF00FFFFF900C185630050758C00A9EEFF004486 + 9C00686868000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000068686800E3E3E3006F6F ! 6F00ACEEFF00FFC09600FFCFA600FDE7BA007C788A00C5E2EC0093B1CA00DDDD ! DD00585858000000000000000000000000000000000068686800E3E3E3006F6F ! 6F00ACEEFF00FFC09600FFCFA600FDE7BA007C788A004255620052748A004255 ! 6200585858000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006A6A6A00EDEDED00EAEA + EA0063636600B1E5FF00FFECCB00B7AEB800C5DDE900D7FFFF007F98A800D1D1 + D10049494900000000000000000000000000000000006A6A6A00EDEDED00EAEA + EA0063636600B1E5FF00FFECCB00B7AEB800C5DDE900D7FFFF007F98A800D1D1 + D100494949000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000067676700F4F4F400F2F2 + F200EEEEEE006F6F6F007198BC00CAEDF800AAD2E800868D9400CBCBCB00C0C0 + C0003E3E3E000000000000000000000000000000000067676700F4F4F400F2F2 + F200EEEEEE006F6F6F007198BC00CAEDF800AAD2E800868D9400CBCBCB00C0C0 + C0003E3E3E000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 000000000000000000000000000000000000000000005F5F5F00F7F7F700F5F5 ! F500F3F3F300F0F0F000ECECEC00E6E6E600DDDDDD00D1D1D100BFBFBF00ADAD ! AD003D3D3D00000000000000000000000000000000005F5F5F00F7F7F700F5F5 ! F500F3F3F300F0F0F000ECECEC00E6E6E600DDDDDD00D1D1D100BFBFBF00ADAD ! AD003D3D3D000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 ! 0000000000000000000000000000000000000000000050505000F9F9F900F8F8 ! F800F7F7F700F4F4F400F1F1F100ECECEC00E1E1E1003B3B3B003D3D3D004343 ! 43003F3F3F000000000000000000000000000000000050505000F9F9F900F8F8 ! F800F7F7F700F4F4F400F1F1F100ECECEC00E1E1E1003B3B3B003D3D3D004343 ! 43003F3F3F000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000041414100F9F9F900F7F7 + F700F7F7F700F6F6F600F3F3F300EEEEEE00E4E4E4004B4B4B00FFFFFF004545 + 4500000000000000000000000000000000000000000041414100F9F9F900F7F7 + F700F7F7F700F6F6F600F3F3F300EEEEEE00E4E4E4004B4B4B00FFFFFF004545 + 4500000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000037373700F7F7F700F7F7 + F700F6F6F600F4F4F400F1F1F100ECECEC00E0E0E000616161005B5B5B000000 + 0000000000000000000000000000000000000000000037373700F7F7F700F7F7 + F700F6F6F600F4F4F400F1F1F100ECECEC00E0E0E000616161005B5B5B000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000373737003E3E3E004949 + 4900525252005C5C5C0063636300696969006F6F6F0073737300000000000000 + 00000000000000000000000000000000000000000000373737003E3E3E004949 + 4900525252005C5C5C0063636300696969006F6F6F0073737300000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 *************** *** 2625,2638 **** 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000424D3E000000000000003E000000 ! 2800000040000000200000000100010000000000000100000000000000000000 ! 000000000000000000000000FFFFFF00DDE6EA00BBCCD500BBCCD500BBCCD500 ! BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500 ! 0000000000000000BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500 ! BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500BBCCD500 ! BBCCD500BBCCD500BBCCD500BBCCD5008001D500BBCCD5008001D500BBCCD500 ! 8001D500BBCCD5008001D500BBCCD5008001D500BBCCD5008001D500BBCCD500 ! 8001D500BBCCD5008001D500BBCCD5008001EA00BBCCD5008001EA00BBCCD500 ! 8001EA00BBCCD5008001EA00BBCCD5008001EA00BBCCD5008003EA00BBCCD500 ! 8007EA00BBCCD500800FEA00BBCCD50000000000000000000000000000000000 000000000000} end --- 2501,2510 ---- 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000424D3E000000000000003E000000 ! 2800000040000000100000000100010000000000800000000000000000000000 ! 000000000000000000000000FFFFFF0080078001000000008007800100000000 ! 8007800100000000800780030000000080078003000000008007800700000000 ! 8007800700000000800780070000000080078007000000008007800700000000 ! 800780070000000080078007000000008007800700000000800F800F00000000 ! 801F801F00000000803F803F0000000000000000000000000000000000000000 000000000000} end *************** *** 2864,2872 **** OnClick = mnuEqualizeClick end - object mnuNormalWeights: TMenuItem - Caption = 'Compute Weights' - Hint = 'Compute weights from triangle areas' - OnClick = mnuNormalWeightsClick - end object N7: TMenuItem Caption = '-' --- 2736,2739 ---- *************** *** 3101,3104 **** --- 2968,2972 ---- Normalize = True OnStartTag = ListXmlScannerStartTag + OnEmptyTag = ListXmlScannerEmptyTag Left = 40 Top = 120 |
|
From: Peter S. <zu...@us...> - 2009-04-20 08:05:32
|
Update of /cvsroot/apophysis/2.10/Source In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv25310 Modified Files: Mutate.pas Log Message: "symmetry" renamed to "color_speed" (almost...) Index: Mutate.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Mutate.pas,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Mutate.pas 25 Jul 2008 13:27:31 -0000 1.11 --- Mutate.pas 20 Apr 2009 08:05:29 -0000 1.12 *************** *** 293,297 **** for j := 0 to transforms - 1 do begin ! if cps[0].xform[j].Symmetry = 1 then begin mutants[i].xform[j].Assign(cps[0].xform[j]); --- 293,297 ---- for j := 0 to transforms - 1 do begin ! if cps[0].xform[j].color_speed = 1 then begin mutants[i].xform[j].Assign(cps[0].xform[j]); *************** *** 330,334 **** begin cps[i].xform[cps[i].NumXForms].Clear; ! cps[i].xform[cps[i].NumXForms].symmetry := 1; end; end; --- 330,334 ---- begin cps[i].xform[cps[i].NumXForms].Clear; ! cps[i].xform[cps[i].NumXForms].color_speed := 1; end; end; *************** *** 355,359 **** Registry.Free; end; ! if cps[0].xform[0].density <> 0 then begin // hmm...!? Interpolate; ShowMain; --- 355,359 ---- Registry.Free; end; ! if cps[0].xform[0].weight <> 0 then begin // hmm...!? Interpolate; ShowMain; *************** *** 485,489 **** for i := 0 to transforms - 1 do begin ! if cpt.xform[i].Symmetry = 1 then begin cps[0].xform[i].Assign(cpt.xform[i]); --- 485,489 ---- for i := 0 to transforms - 1 do begin ! if cpt.xform[i].color_speed = 1 then begin cps[0].xform[i].Assign(cpt.xform[i]); |