diff --git a/2.10/Source/Editor.dfm b/2.10/Source/Editor.dfm index a2d3284..9a134b7 100644 --- a/2.10/Source/Editor.dfm +++ b/2.10/Source/Editor.dfm @@ -1,8 +1,8 @@ object EditForm: TEditForm - Left = 379 - Top = 303 - Width = 584 - Height = 573 + Left = 380 + Top = 304 + Width = 582 + Height = 575 Caption = 'Transform Editor' Color = clBtnFace Constraints.MinHeight = 400 @@ -54,8 +54,8 @@ object EditForm: TEditForm TextHeight = 13 object StatusBar: TStatusBar Left = 0 - Top = 530 - Width = 576 + Top = 532 + Width = 574 Height = 15 Panels = < item @@ -71,7 +71,7 @@ object EditForm: TEditForm object topPnl: TPanel Left = 0 Top = 0 - Width = 576 + Width = 574 Height = 24 Align = alTop BevelOuter = bvSpace @@ -338,15 +338,15 @@ object EditForm: TEditForm object EditPnl: TPanel Left = 0 Top = 24 - Width = 576 - Height = 506 + Width = 574 + Height = 508 Align = alClient TabOrder = 1 object Splitter1: TSplitter - Left = 394 + Left = 392 Top = 1 Width = 9 - Height = 504 + Height = 506 Align = alRight AutoSnap = False Beveled = True @@ -356,18 +356,18 @@ object EditForm: TEditForm object GrphPnl: TPanel Left = 1 Top = 1 - Width = 393 - Height = 504 + Width = 391 + Height = 506 Align = alClient BevelOuter = bvNone Color = clAppWorkSpace TabOrder = 0 end object RightPanel: TPanel - Left = 403 + Left = 401 Top = 1 Width = 172 - Height = 504 + Height = 506 Align = alRight Alignment = taLeftJustify BevelOuter = bvNone @@ -407,7 +407,7 @@ object EditForm: TEditForm Left = 0 Top = 138 Width = 172 - Height = 366 + Height = 368 Align = alClient TabOrder = 0 object lblTransform: TLabel @@ -438,9 +438,9 @@ object EditForm: TEditForm end object PageControl: TPageControl Left = 1 - Top = 32 + Top = 36 Width = 170 - Height = 333 + Height = 331 ActivePage = TriangleTab Align = alBottom Anchors = [akLeft, akTop, akRight, akBottom] @@ -453,7 +453,7 @@ object EditForm: TEditForm Left = 0 Top = 0 Width = 162 - Height = 287 + Height = 285 HorzScrollBar.Visible = False VertScrollBar.Smooth = True VertScrollBar.Style = ssFlat @@ -855,7 +855,7 @@ object EditForm: TEditForm Width = 65 Height = 21 AutoSelect = False - TabOrder = 5 + TabOrder = 3 Text = '0' OnExit = CornerEditExit OnKeyPress = CornerEditKeyPress @@ -866,7 +866,7 @@ object EditForm: TEditForm Width = 65 Height = 21 AutoSelect = False - TabOrder = 4 + TabOrder = 2 Text = '0' OnExit = CornerEditExit OnKeyPress = CornerEditKeyPress @@ -877,7 +877,7 @@ object EditForm: TEditForm Width = 65 Height = 21 AutoSelect = False - TabOrder = 3 + TabOrder = 5 Text = '0' OnExit = CornerEditExit OnKeyPress = CornerEditKeyPress @@ -888,7 +888,7 @@ object EditForm: TEditForm Width = 65 Height = 21 AutoSelect = False - TabOrder = 2 + TabOrder = 4 Text = '0' OnExit = CornerEditExit OnKeyPress = CornerEditKeyPress @@ -1151,7 +1151,7 @@ object EditForm: TEditForm Caption = 'Reset transform' ParentShowHint = False ShowHint = True - OnClick = mnuResetClick + OnClick = btnResetCoefsClick end object btnXcoefs: TSpeedButton Left = 8 @@ -1160,6 +1160,12 @@ object EditForm: TEditForm Height = 21 Hint = 'Reset vector X' Caption = 'X' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False ParentShowHint = False ShowHint = True OnClick = btnXcoefsClick @@ -1726,7 +1732,7 @@ object EditForm: TEditForm Left = 313 Top = 40 Bitmap = { - 494C01011E002200040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 494C01011F002200040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 0000000000003600000028000000400000009000000001002000000000000090 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1866,57 +1872,57 @@ object EditForm: TEditForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFFFF000000 + 00000000000000000000000000000000000000000000FFFFFF00000000000000 + 000000000000FFFFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFFFF000000 + 00000000000000000000000000000000000000000000FFFFFF00000000000000 + 000000000000FFFFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000FFFFFF000000 + 0000FFFFFF000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF + FF00FFFFFF00000000000000000000000000000000000000000000000000FFFF + FF00000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFFFF000000 + 000000000000FFFFFF0000000000000000000000000000000000FFFFFF000000 + 0000FFFFFF000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFFFF000000 + 000000000000FFFFFF00000000000000000000000000FFFFFF00000000000000 + 000000000000FFFFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF + FF00FFFFFF0000000000000000000000000000000000FFFFFF00000000000000 + 000000000000FFFFFF0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1932,36 +1938,38 @@ object EditForm: TEditForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 0000A1A1A1000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000005C5C5C00000000005C5C 5C00000000000000000000000000000000000000000000000000000000005C5C 5C00000000005C5C5C0000000000000000000000000000000000000000000000 + 0000000000008000000080000000800000008000000080000000800000000000 + 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000A1A1 A100000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008000000080000000800000008000000080000000800000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000A1A1A1000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000005C5C5C000000 0000000000000000000000000000000000000000000000000000000000000000 00005C5C5C000000000000000000000000000000000000000000000000000000 + 0000000000008000000080000000000000008000000080000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000A1A1A100000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008000000080000000800000008000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000A1A1A10000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1969,6 +1977,7 @@ object EditForm: TEditForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008000000080000000800000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -1976,10 +1985,7 @@ object EditForm: TEditForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008000000080000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2886,11 +2892,11 @@ object EditForm: TEditForm 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 00000000000000000000000000000000FFFFFFFF00000000FFFF2AA900000000 - F01F7EFD00000000F83FFEFF00000000FEFF7EFD000000008EE3FEFF00000000 - 06C17EFD00000000FEFFFEFF0000000076DD000100000000FEFFFEF300000000 - AEEB7EE500000000FEFFFECF00000000DEF77E9D00000000E00FFE3F00000000 - FEFF7E7D00000000FFFF2AA9000000008F11FFFFFC01FC018F110EE1FC01FC01 + 00000000000000000000000000000000FFFF8F11FFFF0000FFFF8F112AA90000 + F01F8F117EFD0000F83F8383FEFF0000FEFF81C77EFD00008EE38183FEFF0000 + 06C181117EFD0000FEFF8111FEFF000076DD831100010000FEFFFFFFFEF30000 + AEEBF81F7EE50000FEFFF81FFECF0000DEF7F93F7E9D0000E00FF87FFE3F0000 + FEFFF8FF7E7D0000FFFFF9FF2AA900008F11FFFFFC01FC018F110EE1FC01FC01 8F117C7DFC0180018383783DFC01000183C77EFDFC0100018383FEFF00010001 8111DEF70001000181119EF3000300038111000100070003FFFF9EF3000F0003 FE7FDEF700FF0003FE7FFEFF00FF0003F81F7EFD00FF0FC3F81F783D01FF0003 @@ -2930,7 +2936,7 @@ object EditForm: TEditForm Caption = 'Reset triangle' Hint = 'Reset triangle' ImageIndex = 20 - OnClick = mnuResetClick + OnClick = mnuResetTriangleClick end object N6: TMenuItem Caption = '-' diff --git a/2.10/Source/Editor.pas b/2.10/Source/Editor.pas index d66f7cc..fa330e0 100644 --- a/2.10/Source/Editor.pas +++ b/2.10/Source/Editor.pas @@ -285,7 +285,7 @@ type Shift: TShiftState); procedure txtValidateValue(Sender: TObject); procedure txtValKeyPress(Sender: TObject; var Key: Char); - procedure mnuResetClick(Sender: TObject); + procedure mnuResetTriangleClick(Sender: TObject); procedure mnuResetAllClick(Sender: TObject); procedure btnXcoefsClick(Sender: TObject); procedure btnYcoefsClick(Sender: TObject); @@ -300,6 +300,7 @@ type procedure btnOpostClick(Sender: TObject); procedure PostCoefValidate(Sender: TObject); procedure PostCoefKeypress(Sender: TObject; var Key: Char); + procedure btnResetCoefsClick(Sender: TObject); procedure btnResetPostCoefsClick(Sender: TObject); procedure btnPivotModeClick(Sender: TObject); procedure PivotValidate(Sender: TObject); @@ -738,6 +739,29 @@ begin tb2PostXswap.Down := postXswap; bvlPostCoefs.Visible := postXswap; + bvlCoefs.Visible := not postXswap; + + if postXswap then begin + btnXcoefs.Font.Style := []; + btnYcoefs.Font.Style := []; + btnOcoefs.Font.Style := []; + btnXpost.Font.Style := [fsBold]; + btnYpost.Font.Style := [fsBold]; + btnOpost.Font.Style := [fsBold]; + btnResetCoefs.Font.Style := []; + btnResetPostCoefs.Font.Style := [fsBold]; + end + else begin + btnXcoefs.Font.Style := [fsBold]; + btnYcoefs.Font.Style := [fsBold]; + btnOcoefs.Font.Style := [fsBold]; + btnXpost.Font.Style := []; + btnYpost.Font.Style := []; + btnOpost.Font.Style := []; + btnResetCoefs.Font.Style := [fsBold]; + btnResetPostCoefs.Font.Style := []; + end; +{ btnXpost.Enabled := postXswap; btnYpost.Enabled := postXswap; btnOpost.Enabled := postXswap; @@ -749,7 +773,6 @@ begin txtPost21.Enabled := postXswap; btnResetPostCoefs.Enabled := postXswap; - bvlCoefs.Visible := not postXswap; btnXcoefs.Enabled := not postXswap; btnYcoefs.Enabled := not postXswap; btnOcoefs.Enabled := not postXswap; @@ -760,6 +783,7 @@ begin txtE.Enabled := not postXswap; txtF.Enabled := not postXswap; btnResetCoefs.Enabled := not postXswap; +} if SelectedTriangle < Transforms then begin @@ -1172,9 +1196,10 @@ begin with cp.xform[i] do // draw post-triangle if postXswap or + ((ShowAllXforms or (i = SelectedTriangle)) and ( (p[0,0]<>1) or (p[0,1]<>0) or (p[1,0]<>0) or (p[1,1]<>1) or - (p[2,0]<>0) or (p[2,1]<>0) then + (p[2,0]<>0) or (p[2,1]<>0) )) then begin Pen.Color := GetTriangleColor(i) shr 1 and $7f7f7f; tps := Pen.Style; @@ -1198,7 +1223,8 @@ begin f := ToScreen(tT.x[1] - tyx, tT.y[1] - tyy); Polyline([a, b, e, f]); - if postXswap then begin + if postXswap and ((i = SelectedTriangle) or ShowAllXforms) then + begin Pen.Style := psDot; cp.GetTriangle(tT, i); @@ -1228,7 +1254,7 @@ begin brush.Color := pen.color shr 1 and $7f7f7f; Polyline([c, a]); brush.Color := EditorBkgColor; - end; + end; Pen.Style := psSolid; Ellipse(a.x - 4, a.y - 4, a.x + 4, a.y + 4); @@ -3806,13 +3832,20 @@ begin txtValidateValue(Sender); end; -procedure TEditForm.mnuResetClick(Sender: TObject); +procedure TEditForm.mnuResetTriangleClick(Sender: TObject); begin -{ + if (MainTriangles[SelectedTriangle].x[0] = MainTriangles[-1].x[0]) and + (MainTriangles[SelectedTriangle].x[1] = MainTriangles[-1].x[1]) and + (MainTriangles[SelectedTriangle].x[2] = MainTriangles[-1].x[2]) and + (MainTriangles[SelectedTriangle].y[0] = MainTriangles[-1].y[0]) and + (MainTriangles[SelectedTriangle].y[1] = MainTriangles[-1].y[1]) and + (MainTriangles[SelectedTriangle].y[2] = MainTriangles[-1].y[2]) + then exit; + MainForm.UpdateUndo; MainTriangles[SelectedTriangle] := MainTriangles[-1]; UpdateFlame(True); -} +{ with cp.xform[SelectedTriangle] do begin if (c[0,0]<>1) or (c[0,1]<>0) or(c[1,0]<>0) or (c[1,1]<>1) or (c[2,0]<>0) or (c[2,1]<>0) then @@ -3829,6 +3862,7 @@ begin UpdateFlame(True); end; end; +} end; procedure TEditForm.mnuResetAllClick(Sender: TObject); @@ -4063,6 +4097,26 @@ begin UpdateFlame(true); end; +procedure TEditForm.btnResetCoefsClick(Sender: TObject); +begin + with cp.xform[SelectedTriangle] do + begin + if (c[0,0]<>1) or (c[0,1]<>0) or(c[1,0]<>0) or (c[1,1]<>1) or (c[2,0]<>0) or (c[2,1]<>0) then + begin + MainForm.UpdateUndo; + c[0, 0] := 1; + c[0, 1] := 0; + c[1, 0] := 0; + c[1, 1] := 1; + c[2, 0] := 0; + c[2, 1] := 0; + ShowSelectedInfo; + cp.TrianglesFromCP(MainTriangles); + UpdateFlame(True); + end; + end; +end; + procedure TEditForm.btnResetPostCoefsClick(Sender: TObject); begin with cp.xform[SelectedTriangle] do diff --git a/2.10/Source/Global.pas b/2.10/Source/Global.pas index 457e915..9cd4918 100644 --- a/2.10/Source/Global.pas +++ b/2.10/Source/Global.pas @@ -97,6 +97,7 @@ var GridColor1, GridColor2, HelpersColor: integer; ExtEditEnabled, TransformAxisLock: boolean; DoubleClickSetVars: boolean; + ShowAllXforms: boolean; { Display } diff --git a/2.10/Source/Main.pas b/2.10/Source/Main.pas index 5b3cca5..49f7a68 100644 --- a/2.10/Source/Main.pas +++ b/2.10/Source/Main.pas @@ -41,7 +41,7 @@ const RS_XO = 2; RS_VO = 3; - AppVersionString = 'Apophysis 2.05 post-release 2'; + AppVersionString = 'Apophysis 2.05 beta 2 rc3'; type TMouseMoveState = (msUsual, msZoomWindow, msZoomOutWindow, msZoomWindowMove, @@ -1808,7 +1808,7 @@ begin if not Assigned(Renderer) then begin if EditForm.Visible and ((MainCP.Width / MainCP.Height) <> (EditForm.cp.Width / EditForm.cp.Height)) - then EditForm.UpdateDisplay{(true)}; // preview only? + then EditForm.UpdateDisplay(true); // preview only? if AdjustForm.Visible then AdjustForm.UpdateDisplay(true); // preview only! RenderCP := MainCP.Clone; @@ -1938,6 +1938,7 @@ begin on EInOutError do Application.MessageBox('Error creating batch', PChar(APP_NAME), 16); end; RandFile := AppPath + 'apophysis.rand'; + MainCp.name := ''; end; { ******************************** Menu ************************************ } diff --git a/2.10/Source/Options.dfm b/2.10/Source/Options.dfm index f30d101..e6f4c6c 100644 --- a/2.10/Source/Options.dfm +++ b/2.10/Source/Options.dfm @@ -258,40 +258,40 @@ object OptionsForm: TOptionsForm Left = 8 Top = 4 Width = 145 - Height = 138 + Height = 173 Caption = 'Editor Graph' TabOrder = 0 object Label40: TLabel Left = 8 - Top = 56 + Top = 88 Width = 56 Height = 13 Caption = 'Background' end object Label41: TLabel Left = 8 - Top = 96 + Top = 128 Width = 50 Height = 13 Caption = 'Reference' end object Label42: TLabel Left = 75 - Top = 56 + Top = 88 Width = 50 Height = 13 Caption = 'Grid colors' end object Label43: TLabel Left = 75 - Top = 96 + Top = 128 Width = 36 Height = 13 Caption = 'Helpers' end object pnlBackColor: TPanel Left = 8 - Top = 72 + Top = 104 Width = 62 Height = 17 Cursor = crHandPoint @@ -320,7 +320,7 @@ object OptionsForm: TOptionsForm end object pnlReference: TPanel Left = 8 - Top = 112 + Top = 144 Width = 62 Height = 17 Cursor = crHandPoint @@ -331,7 +331,7 @@ object OptionsForm: TOptionsForm end object pnlGridColor1: TPanel Left = 75 - Top = 72 + Top = 104 Width = 29 Height = 17 Cursor = crHandPoint @@ -342,7 +342,7 @@ object OptionsForm: TOptionsForm end object pnlGridColor2: TPanel Left = 108 - Top = 72 + Top = 104 Width = 29 Height = 17 Cursor = crHandPoint @@ -353,7 +353,7 @@ object OptionsForm: TOptionsForm end object pnlHelpersColor: TPanel Left = 75 - Top = 112 + Top = 144 Width = 62 Height = 17 Cursor = crHandPoint @@ -362,6 +362,17 @@ object OptionsForm: TOptionsForm TabOrder = 5 OnClick = pnlHelpersColorClick end + object chkShowAllXforms: TCheckBox + Left = 8 + Top = 56 + Width = 129 + Height = 25 + Caption = 'Always show both type of transforms' + Checked = True + State = cbChecked + TabOrder = 7 + WordWrap = True + end end object rgReferenceMode: TRadioGroup Left = 160 @@ -405,9 +416,9 @@ object OptionsForm: TOptionsForm end end object rgDoubleClickVars: TRadioGroup - Left = 8 + Left = 160 Top = 144 - Width = 297 + Width = 273 Height = 57 Caption = 'Double-click on variation' Items.Strings = ( diff --git a/2.10/Source/Options.pas b/2.10/Source/Options.pas index cd5efa0..04c9926 100644 --- a/2.10/Source/Options.pas +++ b/2.10/Source/Options.pas @@ -216,6 +216,7 @@ type rgDoubleClickVars: TRadioGroup; chkOldPaletteFormat: TCheckBox; rgZoomingMode: TRadioGroup; + chkShowAllXforms: TCheckBox; procedure btnCancelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure btnOKClick(Sender: TObject); @@ -326,6 +327,7 @@ begin chkAxisLock.Checked := TransformAxisLock; if DoubleClickSetVars then rgDoubleClickVars.ItemIndex := 1 else rgDoubleClickVars.ItemIndex := 0; + chkShowAllXforms.Checked := ShowAllXforms; { Display tab } txtSampleDensity.Text := FloatToStr(defSampleDensity); @@ -454,6 +456,7 @@ begin ReferenceMode := rgReferenceMode.ItemIndex; UseTransformColors := chkUseXFormColor.checked; HelpersEnabled := chkHelpers.Checked; + ShowAllXforms := chkShowAllXforms.Checked; ExtEditEnabled := chkExtendedEdit.Checked; TransformAxisLock := chkAxisLock.Checked; diff --git a/2.10/Source/Regstry.pas b/2.10/Source/Regstry.pas index a5647b6..be2af3e 100644 --- a/2.10/Source/Regstry.pas +++ b/2.10/Source/Regstry.pas @@ -661,6 +661,10 @@ begin HelpersEnabled := Registry.ReadBool('HelpersEnabled') else HelpersEnabled := true; + if Registry.ValueExists('ShowAllXforms') then + ShowAllXforms := Registry.ReadBool('ShowAllXforms') + else + ShowAllXforms := true; if Registry.ValueExists('BackgroundColor') then EditorBkgColor := Registry.ReadInteger('BackgroundColor') @@ -695,6 +699,7 @@ begin else begin UseTransformColors := false; HelpersEnabled := true; + ShowAllXforms := true; EditorBkgColor := $000000; GridColor1 := $444444; GridColor2 := $333333; @@ -1075,6 +1080,7 @@ begin begin Registry.WriteBool('UseTransformColors', UseTransformColors); Registry.WriteBool('HelpersEnabled', HelpersEnabled); + Registry.WriteBool('ShowAllXforms', ShowAllXforms); Registry.WriteInteger('BackgroundColor', EditorBkgColor); Registry.WriteInteger('GridColor1', GridColor1); Registry.WriteInteger('GridColor2', GridColor2); diff --git a/2.10/Source/Render.pas b/2.10/Source/Render.pas index 0e32657..aeacdcd 100644 --- a/2.10/Source/Render.pas +++ b/2.10/Source/Render.pas @@ -282,6 +282,8 @@ procedure TBaseRenderer.ShowBigStats; var Stats: TBucketStats; TotalSamples: int64; + + Rbits, Gbits, Bbits, Abits: double; begin if not assigned(strOutput) then exit; @@ -299,10 +301,14 @@ begin strOutput.Add(Format(' Max possible bits: %2.3f', [8 + log2(TotalSamples)])); FImageMaker.GetBucketStats(Stats); with Stats do begin - strOutput.Add(Format(' Max Red: %2.3f bits', [log2(MaxR)])); - strOutput.Add(Format(' Max Green: %2.3f bits', [log2(MaxG)])); - strOutput.Add(Format(' Max Blue: %2.3f bits', [log2(MaxB)])); - strOutput.Add(Format(' Max Count: %2.3f bits', [log2(MaxA)])); + if MaxR > 0 then Rbits := log2(MaxR) else Rbits := 0; + if MaxG > 0 then Gbits := log2(MaxG) else Gbits := 0; + if MaxB > 0 then Bbits := log2(MaxB) else Bbits := 0; + if MaxA > 0 then Abits := log2(MaxA) else Abits := 0; + strOutput.Add(Format(' Max Red: %2.3f bits', [Rbits])); + strOutput.Add(Format(' Max Green: %2.3f bits', [Gbits])); + strOutput.Add(Format(' Max Blue: %2.3f bits', [Bbits])); + strOutput.Add(Format(' Max Count: %2.3f bits', [Abits])); strOutput.Add(Format(' Point hit ratio: %2.2f%%', [100.0*(TotalA/TotalSamples)])); if RenderTime > 0 then // hmm strOutput.Add(Format(' Average speed: %n points per second', [TotalSamples / (RenderTime * 24 * 60 * 60)]));