new menu commands + some fixes

This commit is contained in:
zueuk 2006-04-05 10:59:31 +00:00
parent 7fddbe82d1
commit d85cf9e346
2 changed files with 555 additions and 175 deletions

View File

@ -81,7 +81,7 @@ object EditForm: TEditForm
object EditorToolBar: TToolBar
Left = 1
Top = 1
Width = 408
Width = 432
Height = 22
Align = alLeft
ButtonWidth = 25
@ -179,13 +179,25 @@ object EditForm: TEditForm
ShowHint = True
OnClick = tbSelectClick
end
object tbMove: TToolButton
object tbAutoEditMode: TToolButton
Left = 191
Top = 0
Hint = 'Move Triangle'
Caption = 'Move'
Hint = 'Auto edit mode'
Caption = 'Auto'
Down = True
Grouped = True
ImageIndex = 19
ParentShowHint = False
ShowHint = True
Style = tbsCheck
OnClick = tbEditModeClick
end
object tbMove: TToolButton
Left = 216
Top = 0
Hint = 'Move triangle'
Caption = 'Move'
Grouped = True
ImageIndex = 7
ParentShowHint = False
ShowHint = True
@ -193,7 +205,7 @@ object EditForm: TEditForm
OnClick = tbEditModeClick
end
object tbRotate: TToolButton
Left = 216
Left = 241
Top = 0
Hint = 'Rotate triangle'
Caption = 'Rotate'
@ -205,7 +217,7 @@ object EditForm: TEditForm
OnClick = tbEditModeClick
end
object tbScale: TToolButton
Left = 241
Left = 266
Top = 0
Hint = 'Scale triangle'
Caption = 'Scale'
@ -217,7 +229,7 @@ object EditForm: TEditForm
OnClick = tbEditModeClick
end
object ToolButton5: TToolButton
Left = 266
Left = 291
Top = 0
Width = 8
Caption = 'ToolButton5'
@ -225,7 +237,7 @@ object EditForm: TEditForm
Style = tbsSeparator
end
object tbFlipHorz: TToolButton
Left = 274
Left = 299
Top = 0
Hint = 'Flip triangle horizontal'
Caption = 'Flip Horizontal'
@ -235,7 +247,7 @@ object EditForm: TEditForm
OnClick = mnuFlipHorizontalClick
end
object tbFlipVert: TToolButton
Left = 299
Left = 324
Top = 0
Hint = 'Flip triangle vertical'
Caption = 'Flip Vertical'
@ -245,7 +257,7 @@ object EditForm: TEditForm
OnClick = mnuFlipVerticalClick
end
object ToolButton2: TToolButton
Left = 324
Left = 349
Top = 0
Width = 8
Caption = 'ToolButton2'
@ -253,7 +265,7 @@ object EditForm: TEditForm
Style = tbsSeparator
end
object tbVarPreview: TToolButton
Left = 332
Left = 357
Top = 0
Hint = 'Show/hide variation preview'
Caption = 'Variation Preview'
@ -264,7 +276,7 @@ object EditForm: TEditForm
OnClick = tbVarPreviewClick
end
object ToolButton3: TToolButton
Left = 357
Left = 382
Top = 0
Width = 8
Caption = 'ToolButton3'
@ -272,7 +284,7 @@ object EditForm: TEditForm
Style = tbsSeparator
end
object tbEnableFinalXform: TToolButton
Left = 365
Left = 390
Top = 0
Hint = 'Enable final transform'
Caption = 'Show Final Xform'
@ -1777,8 +1789,8 @@ object EditForm: TEditForm
Left = 313
Top = 40
Bitmap = {
494C010115001800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000006000000001002000000000000060
494C010118001D00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000008000000001002000000000000080
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@ -1828,32 +1840,333 @@ object EditForm: TEditForm
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
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
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
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
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
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
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
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
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000600000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000600000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000600000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000600000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000600000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000600000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000006000000000000000600000000000000060000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000600000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000060000000600000006000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000600000000000
0000600000000000000060000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000006000
0000000000000000000000000000600000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000006000
0000600000006000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000054545400000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00006000000000000000FFFFFF00FFFFFF00FFFFFF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000600000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000005454540000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000006000000060000000600000006000
00006000000060000000FFFFFF0000000000FFFFFF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000545454000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000005454
5400000000000000000000000000000000000000000000000000000000000000
00006000000000000000FFFFFF00FFFFFF00FFFFFF0000000000000000005454
5400000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000005454
5400000000000000000000000000000000000000000000000000000000000000
0000000000000000000054545400000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000545454000000
0000000000000000000000000000000000000000000000000000000000006000
0000000000000000000000000000000000000000000000000000545454000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000545454000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000054545400000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000054545400000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000600000000000000000000000000000000000000054545400000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000005454540000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000005454540000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000006000000000000000000000005454540000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000006000000060000000600000006000
0000600000006000000060000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000006000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000600000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@ -1868,86 +2181,41 @@ object EditForm: TEditForm
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
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF000000
0000000000000000000000000000000000000000000060000000000000006000
0000000000006000000060000000600000000000000060000000000000000000
0000600000006000000060000000000000000000000000000000FFFFFF000000
00000000000000000000000000000000000000000000FFFFFF00000000000000
000000000000FFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000002424
2400242424002424240000000000000000000000000000000000242424002424
2400242424000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF000000
0000000000000000000000000000000000000000000060000000000000006000
0000000000006000000000000000600000000000000060000000000000000000
0000600000000000000060000000000000000000000000000000FFFFFF000000
00000000000000000000000000000000000000000000FFFFFF00000000000000
000000000000FFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000002424
2400000000002424240000000000000000000000000000000000242424000000
0000242424000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF000000
0000000000000000000000000000000000000000000060000000600000006000
0000000000006000000000000000600000000000000060000000000000000000
0000600000000000000060000000000000000000000000000000FFFFFF000000
0000000000000000000000000000000000000000000000000000FFFFFF000000
0000FFFFFF000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000002424
2400000000002424240000000000000000000000000000000000242424000000
0000242424000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
0000000000000000000000000000000000000000000060000000000000006000
0000000000006000000000000000600000000000000060000000000000000000
0000600000000000000060000000000000000000000000000000FFFFFF00FFFF
FF00FFFFFF00000000000000000000000000000000000000000000000000FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000024242400000000000000000000000000000000002424
2400000000002424240000000000000000000000000000000000242424000000
0000242424000000000000000000000000000000000024242400000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFF000000
0000000000000000000000000000000000000000000000000000600000006000
0000000000006000000000000000000000006000000060000000600000000000
0000600000006000000060000000000000000000000000000000FFFFFF000000
0000000000000000000000000000000000000000000000000000FFFFFF000000
0000FFFFFF000000000000000000000000000000000000000000000000000000
0000000000002424240024242400000000000000000000000000000000002424
@ -1969,32 +2237,32 @@ object EditForm: TEditForm
2400242424000000000024242400000000000000000000000000000000002424
2400000000002424240000000000000000000000000000000000242424000000
0000242424000000000000000000000000000000000024242400000000002424
2400242424000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
24002424240000000000000000000000000000000000000000005C5C5C000000
0000000000000000000000000000000000000000000000000000000000000000
00005C5C5C000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000242424002424
2400000000000000000024242400242424002424240024242400242424002424
2400000000002424240000000000000000000000000000000000242424000000
0000242424002424240024242400242424002424240024242400000000000000
0000242424002424240000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000005454
5400000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000024242400242424000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000002424240000000000000000000000000000000000242424000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000002424240024242400000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000545454000000
00000000000024242400242424000000000000000000000000005C5C5C000000
0000000000000000000000000000000000000000000000000000000000000000
00005C5C5C000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000242424002424
2400000000000000000024242400242424002424240024242400242424002424
2400242424002424240000000000000000000000000000000000242424002424
2400242424002424240024242400242424002424240024242400000000000000
0000242424002424240000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000054545400000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFF00C0C0C000C0C0C000FFFFFF00000000000000
0000000000000000000000000000000000000000000000000000000000002424
@ -2002,7 +2270,7 @@ object EditForm: TEditForm
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000024242400000000002424
2400242424000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000005454540000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000000000000000000000000000000000
@ -2018,7 +2286,7 @@ object EditForm: TEditForm
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000024242400242424000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000005C5C5C00000000005C5C5C0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFF00C0C0C000C0C0C000FFFFFF00000000000000
0000000000000000000000000000000000000000000000000000000000000000
@ -2548,16 +2816,24 @@ object EditForm: TEditForm
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000600000000100010000000000000300000000000000000000
000000000000000000000000FFFFFF00FFFF000000000000AAAB000000000000
FFFD000000000000BFFF000000000000FFFD000000000000B80F000000000000
FB9D000000000000BB3F000000000000FA7D000000000000B8FF000000000000
F9FD000000000000BBFF000000000000FFFD000000000000BFFF000000000000
D555000000000000FFFF0000000000008F11FFFFFFFFFFFF8F11FFE3C7FFFEFF
8F11FFE3C7FFFFFF8383FFE3C7FFFEFF83C7FDE3C7BFFFFF8383F9E3C79FFEFF
8111F1E3C78FFFFF8111E1E3C787AA028111C003C003FEE7FFFF8003C001FECF
FC3FC003C003FE9FF00FE1FFFF87FE3FE007F1FFFF8FFE7FE007F9FFFF9FFEFF
F00FFDFFFFBFFFFFFC3FFFFFFFFFFEFFFF7FFFFFFFFF8F11FF7FFFFFFDBF8F11
2800000040000000800000000100010000000000000400000000000000000000
000000000000000000000000FFFFFF0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FFFFFFFFFEFFFFF7AAABFEFFFEFFFEF7
FFFDFFFFFEFFFFF7BFFFFEFFFABFFEF7FFFDFFFFFC7FFFD5B80FFEFFEEFFFEE3
FB9DFFFFF47FFFF7BB3FAA020002AA02FA7DFEE7F467FEE7B8FFFECFEECFFECF
F9FDFE9FFE9FF69FBBFFFE3FFE3FFA3FFFFDFE7FFE7F007FBFFFFEFFFEFFFAFF
D555FFFFFFFFF7FFFFFFFEFFFEFFFEFF8F11FFFFFFFFA8B18F11FFE3C7FFAAB5
8F11FFE3C7FF8AB58383FFE3C7FFAAB583C7FDE3C7BFCB118383F9E3C79FFFFF
8111F1E3C78FDEF78111E1E3C7879EF38111C003C0030001FFFF8003C0019EF3
FC3FC003C003DEF7F00FE1FFFF87FEFFE007F1FFFF8FFEFFE007F9FFFF9FF83F
F00FFDFFFFBFFC7FFC3FFFFFFFFFFEFFFF7FFFFFFFFF8F11FF7FFFFFFDBF8F11
FF7FFFFFEFF78F11E00FF3E77DBE8383E007E1E7F7EF83C7FF63C0E7DC3B8383
FF73F3E7700E8111FF73F3E7E0078111FB730000E0078111F363F3E7700EFFFF
E007F3E7DC3BFE7FE00FF1C7F7EFFE7FF37FF80F7DBEF81FFB7FFC1FEFF7F81F
@ -2582,11 +2858,21 @@ object EditForm: TEditForm
Left = 353
Top = 73
object mnuReset: TMenuItem
Caption = 'Reset'
Hint = 'Reset triangle position'
ImageIndex = 19
Caption = 'Reset triangle'
Hint = 'Reset triangle'
ImageIndex = 21
OnClick = mnuResetClick
end
object mnuResetTrgPosition: TMenuItem
Caption = 'Reset position'
ImageIndex = 22
OnClick = btnOcoefsClick
end
object mnuResetTrgRotation: TMenuItem
Caption = 'Reset rotation'
ImageIndex = 23
OnClick = mnuResetTrgRotationClick
end
object N6: TMenuItem
Caption = '-'
end

View File

@ -174,6 +174,9 @@ type
txtSymmetry: TEdit;
pnlWeight: TPanel;
pnlSymmetry: TPanel;
tbAutoEditMode: TToolButton;
mnuResetTrgRotation: TMenuItem;
mnuResetTrgPosition: TMenuItem;
procedure ValidateVariable;
procedure vleVariablesValidate(Sender: TObject; ACol, ARow: Integer; const KeyName, KeyValue: string);
procedure vleVariablesKeyPress(Sender: TObject; var Key: Char);
@ -310,6 +313,7 @@ type
procedure DragPanelMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DragPanelDblClick(Sender: TObject);
procedure mnuResetTrgRotationClick(Sender: TObject);
private
TriangleView: TCustomDrawControl;
@ -487,7 +491,8 @@ end;
function ScaleTrianglePoint(t: TTriangle; x, y, scale: double): TTriangle;
begin
assert(scale <> 0);
//assert(scale <> 0);
if scale = 0 then scale := 1e-64;
Result.y[0] := scale * (t.y[0] - y) + y;
Result.y[1] := scale * (t.y[1] - y) + y;
@ -605,7 +610,7 @@ begin
}
cp.copy(MainCp);
if SelectedTriangle > LastTriangle{???} then//NumXForms(cp) then
if SelectedTriangle > LastTriangle{???} then
begin
SelectedTriangle := cp.NumXForms-1;
mouseOverTriangle := -1;
@ -881,11 +886,11 @@ begin
Dec(Transforms);
assert(cp.xform[transforms].density = 0); // cp.xform[transforms].density := 0;
end;
UpdateFlame(True);
cbTransforms.clear;
for i := 1 to Transforms do cbTransforms.Items.Add(IntToStr(i));
if cp.HasFinalXForm then cbTransforms.Items.Add('Final');
if EnableFinalXform or (cp.HasFinalXForm = true) then cbTransforms.Items.Add('Final');
cbTransforms.ItemIndex := SelectedTriangle;
UpdateFlame(True);
end;
function TEditForm.InsideTriangle(x, y: double): integer;
@ -967,6 +972,10 @@ var
end;
end;
end;
var
xx, xy, yx, yy: double;
var
i, n, tc, tn: integer;
d, d1: double;
@ -1097,7 +1106,15 @@ end;
a := ToScreen(MainTriangles[i].x[0], MainTriangles[i].y[0]);
b := ToScreen(MainTriangles[i].x[1], MainTriangles[i].y[1]);
c := ToScreen(MainTriangles[i].x[2], MainTriangles[i].y[2]);
Polyline([a, b, c, a]);
if pen.Style <> psSolid then
Polyline([a, b, c, a])
else begin
Polyline([a, b, c]);
Pen.Style := psDot;
brush.Color := pen.color shr 1 and $7f7f7f;
Polyline([c, a]);
brush.Color := EditorBkgColor;
end;
Pen.Style := psSolid;
Ellipse(a.x - 4, a.y - 4, a.x + 4, a.y + 4);
@ -1110,6 +1127,41 @@ end;
TextOut(b.x+2, b.y+1, 'O');
end;
//if showTriangleCorners then
with MainTriangles[SelectedTriangle] do
begin
xx := x[0] - x[1];
xy := y[0] - y[1];
yx := x[2] - x[1];
yy := y[2] - y[1];
Pen.Color := GetTriangleColor(SelectedTriangle) shr 1 and $7f7f7f;
Pen.Mode := pmMerge;
a:=toscreen(x[1] + 0.8*xx + yx, y[1] + 0.8*xy + yy);
b:=toscreen(x[1] + xx + yx, y[1] + xy + yy);
c:=toscreen(x[1] + xx + 0.8*yx, y[1] + xy + 0.8*yy);
moveto(a.x, a.y);
lineto(b.x, b.y);
lineto(c.x, c.y);
a:=toscreen(x[1] - 0.8*xx + yx, y[1] - 0.8*xy + yy);
b:=toscreen(x[1] - xx + yx, y[1] - xy + yy);
c:=toscreen(x[1] - xx + 0.8*yx, y[1] - xy + 0.8*yy);
moveto(a.x, a.y);
lineto(b.x, b.y);
lineto(c.x, c.y);
a:=toscreen(x[1] - 0.8*xx - yx, y[1] - 0.8*xy - yy);
b:=toscreen(x[1] - xx - yx, y[1] - xy - yy);
c:=toscreen(x[1] - xx - 0.8*yx, y[1] - xy - 0.8*yy);
moveto(a.x, a.y);
lineto(b.x, b.y);
lineto(c.x, c.y);
a:=toscreen(x[1] + 0.8*xx - yx, y[1] + 0.8*xy - yy);
b:=toscreen(x[1] + xx - yx, y[1] + xy - yy);
c:=toscreen(x[1] + xx - 0.8*yx, y[1] + xy - 0.8*yy);
moveto(a.x, a.y);
lineto(b.x, b.y);
lineto(c.x, c.y);
end;
if showVarPreview then
begin
assert(trkVarPreviewRange.position > 0);
@ -1183,7 +1235,7 @@ end;
b := ToScreen(Pivot.x + dy, Pivot.y - dx);
c := ToScreen(Pivot.x, Pivot.y);
MoveTo(a.x, a.y);
LineTo(c.X, c.y); // not necessary but it looks better with it...
LineTo(c.X, c.y);
LineTo(b.X, b.y);
end;
@ -1230,9 +1282,11 @@ end;
if (mouseOverTriangle >= 0) then // highlight triangle under cursor
begin
a := ToScreen(MainTriangles[mouseOverTriangle].x[0], MainTriangles[mouseOverTriangle].y[0]);
b := ToScreen(MainTriangles[mouseOverTriangle].x[1], MainTriangles[mouseOverTriangle].y[1]);
c := ToScreen(MainTriangles[mouseOverTriangle].x[2], MainTriangles[mouseOverTriangle].y[2]);
with MainTriangles[mouseOverTriangle] do begin
a := ToScreen(x[0], y[0]);
b := ToScreen(x[1], y[1]);
c := ToScreen(x[2], y[2]);
end;
pen.Width:=2;
Pen.Color:=GetTriangleColor(mouseOverTriangle) shr 1 and $7f7f7f;
@ -1309,13 +1363,13 @@ end;
end;
end;
end;
if (mouseOverTriangle>=0) and (mouseOverEdge >= 0) then // highlight edge under cursor
if (mouseOverEdge >= 0) then // highlight edge under cursor
begin
i := (mouseOverEdge + 1) mod 3;
a := ToScreen(MainTriangles[mouseOverTriangle].x[mouseOverEdge], MainTriangles[mouseOverTriangle].y[mouseOverEdge]);
b := ToScreen(MainTriangles[mouseOverTriangle].x[i], MainTriangles[mouseOverTriangle].y[i]);
pen.Width:=4;
pen.Width:=5;
Pen.Color:=GetTriangleColor(mouseOverTriangle) shr 1 and $7f7f7f;
Pen.Mode:=pmMerge;
@ -1486,8 +1540,9 @@ begin
d := dist(fx, fy, MainTriangles[i].x[j], MainTriangles[i].y[j]);
if (d * GraphZoom * 50) < 4 then
begin
mouseOverTriangle:=i;
mouseOverCorner:=j;
mouseOverTriangle := i;
mouseOverCorner := j;
mouseOverEdge := -1;
// -- from MouseDown -- for highlighting:
// TODO: optimize...
@ -1520,12 +1575,16 @@ begin
goto FoundCorner;
end;
end;
end;
if oldMode = modeNone then {hmm} for j := 0 to 2 do // -- detect edge hit
if AutoEditMode and (oldMode = modeNone) then
for i := i1 downto i0 do
begin
for j := 0 to 2 do // -- detect edge hit
begin
if abs(line_dist(fx, fy, MainTriangles[i].x[j], MainTriangles[i].y[j],
MainTriangles[i].x[(j+1) mod 3], MainTriangles[i].y[(j+1) mod 3])
) * GraphZoom * 50 < 2 then
MainTriangles[i].x[(j+1) mod 3], MainTriangles[i].y[(j+1) mod 3])
) * GraphZoom * 50 < 3 then
begin
mouseOverTriangle:=i;
mouseOverEdge := j;
@ -1860,17 +1919,23 @@ begin
oldy := MainTriangles[SelectedTriangle].y[j] - Pivot.Y;
olddist := sqrt(oldx*oldx + oldy*oldy);
MainForm.UpdateUndo;
HasChanged := false;
//MainForm.UpdateUndo;
ShowSelectedInfo;
TriangleView.Invalidate;
exit;
end;
end;
if oldMode = modeNone then {hmm} for j := 0 to 2 do // -- detect edge hit
end;
if AutoEditMode and (oldMode = modeNone) then
for i := i1 downto i0 do
begin
for j := 0 to 2 do // -- detect edge hit
begin
if abs(line_dist(fx, fy, MainTriangles[i].x[j], MainTriangles[i].y[j],
MainTriangles[i].x[(j+1) mod 3], MainTriangles[i].y[(j+1) mod 3])
) * GraphZoom * 50 < 2 then
MainTriangles[i].x[(j+1) mod 3], MainTriangles[i].y[(j+1) mod 3])
) * GraphZoom * 50 < 3 then
begin
SelectedTriangle := i;
modeHack := true;
@ -1898,7 +1963,8 @@ FoundTriangle:
TriangleCaught := True;
OldTriangle := MainTriangles[SelectedTriangle];
MainForm.UpdateUndo;
//MainForm.UpdateUndo;
HasChanged := false;
Pivot := GetPivot;
oldx := fx-Pivot.X;
@ -1938,6 +2004,7 @@ begin
TriangleCaught := False;
if HasChanged then
begin
MainForm.UpdateUndo;
UpdateFlame(true);
HasChanged := False;
end
@ -1997,13 +2064,9 @@ begin
else mnuResetLoc.checked := true;
//tbResetLoc.Down := mnuResetLoc.checked;
if Registry.ValueExists('HelpersEnabled') then
begin
HelpersEnabled := Registry.ReadBool('HelpersEnabled');
end
HelpersEnabled := Registry.ReadBool('HelpersEnabled')
else
begin
HelpersEnabled := true;
end;
if Registry.ValueExists('VariationPreview') then
begin
@ -2014,6 +2077,7 @@ begin
showVarPreview := false;
tbVarPreview.Down := false;
end;
if Registry.ValueExists('VariationPreviewRange') then
trkVarPreviewRange.Position := Registry.ReadInteger('VariationPreviewRange');
if Registry.ValueExists('VariationPreviewDensity') then
@ -2031,12 +2095,14 @@ begin
Registry.Free;
end;
chkUseXFormColor.checked := UseTransformColors;
if AutoEditMode then tbAutoEditMode.Down := true
else tbMove.Down := true;
UpdateDisplay;
end;
procedure TEditForm.mnuDeleteClick(Sender: TObject);
begin
if (SelectedTriangle > -1) then DeleteTriangle(SelectedTriangle);
if (SelectedTriangle >= 0) then DeleteTriangle(SelectedTriangle);
end;
procedure TEditForm.mnuAddClick(Sender: TObject);
@ -2050,10 +2116,10 @@ begin
cp.xform[Transforms+1].Assign(cp.xform[Transforms]);
MainTriangles[Transforms] := MainTriangles[-1];
SelectedTriangle := Transforms;
cp.xform[Transforms].Clear;
cp.xform[Transforms].density := 0.5;
cp.xform[Transforms].vars[0] := 1;
for i := 1 to NRVAR - 1 do
cp.xform[Transforms].vars[i] := 0;
// for i := 1 to NRVAR - 1 do cp.xform[Transforms].vars[i] := 0;
Inc(Transforms);
cbTransforms.clear;
for i := 1 to Transforms do cbTransforms.Items.Add(IntToStr(i));
@ -2586,7 +2652,7 @@ end;
procedure TEditForm.scrlXFormColorScroll(Sender: TObject;
ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
if ScrollCode = scEndScroll then begin
if (ScrollCode = scEndScroll) and HasChanged then begin
MainForm.UpdateUndo;
UpdateFlame(True);
end;
@ -2599,12 +2665,16 @@ begin
if updating then exit;
v := (scrlXFormColor.Position) / scrlXFormColor.Max;
cp.xform[SelectedTriangle].color := v;
pnlXFormColor.color := ColorValToColor(MainCp.cmap, v);
txtXFormColor.Text := Format('%1.3f', [v]);
txtXFormColor.Refresh;
if v <> cp.xform[SelectedTriangle].color then
begin
cp.xform[SelectedTriangle].color := v;
pnlXFormColor.color := ColorValToColor(MainCp.cmap, v);
txtXFormColor.Text := Format('%1.3f', [v]);
txtXFormColor.Refresh;
DrawPreview;
HasChanged := true;
DrawPreview;
end;
end;
procedure TEditForm.chkUseXFormColorClick(Sender: TObject);
@ -2635,7 +2705,11 @@ begin
if v < 0 then v := 0;
if v <> cp.xform[SelectedTriangle].color then
begin
updating := true;
scrlXFormColor.Position := round(v * scrlXFormColor.Max);
MainForm.UpdateUndo;
cp.xform[SelectedTriangle].color := v;
updating := false;
UpdateFlame(true);
end;
end;
@ -2647,21 +2721,7 @@ begin
if key = #13 then
begin
key := #0;
try
v := StrToFloat(txtXFormColor.Text);
except on EConvertError do
begin
txtXformColor.text := Format('%1.3f', [cp.xform[SelectedTriangle].color]);
exit;
end;
end;
if v > 1 then v := 1;
if v < 0 then v := 0;
if v <> cp.xform[SelectedTriangle].color then
begin
scrlXFormColor.Position := round(v * scrlXFormColor.Max);
UpdateFlame(true);
end;
txtXFormColorExit(Sender);
end;
end;
@ -2830,13 +2890,14 @@ begin
if Button = mbLeft then begin
varDragOld:=x;
cell := TValueListEditor(Sender).MouseCoord(x, y);
varDragIndex := cell.Y-1;
if (cell.y < 1) or (cell.y >= TValueListEditor(Sender).RowCount) or
(cell.x <> 0) then exit;
TValueListEditor(Sender).Row := cell.Y;
varDragIndex := cell.Y-1;
Screen.Cursor := crHSplit;
GetCursorPos(mousepos); // hmmm
@ -2923,21 +2984,25 @@ begin
end;
procedure TEditForm.VEVarsDblClick(Sender: TObject);
//var
// v: double;
var
n: integer;
begin
if (TValueListEditor(Sender).Values[VarNames(varDragIndex)] = '0') or
(varDragOld >= TValueListEditor(Sender).ColWidths[0]) then exit;
n := TValueListEditor(Sender).Row - 1;
assert(n >= 0);
assert(n < TValueListEditor(Sender).rowCount);
if {(varDragOld >= TValueListEditor(Sender).ColWidths[0]) or}
(TValueListEditor(Sender).Values[VarNames(n)] = '0') then exit;
MainForm.UpdateUndo;
if Sender = VEVars then
begin
cp.xform[SelectedTriangle].vars[varDragIndex] := 0;
VEVars.Values[VarNames(varDragIndex)] := '0';
cp.xform[SelectedTriangle].vars[n] := 0;
VEVars.Values[VarNames(n)] := '0';
end
else begin
//v := 0; // hmm
cp.xform[SelectedTriangle].ResetVariable(vleVariables.Keys[varDragIndex+1]);
cp.xform[SelectedTriangle].ResetVariable(vleVariables.Keys[n + 1]);
//vleVariables.Values[vleVariables.Keys[varDragIndex+1]] := '0';
end;
@ -3103,7 +3168,7 @@ begin
txtTrgScaleValue.ItemIndex := 1;
exit;
end;
assert(scale <> 0);
if scale = 0 then scale := 1e-6; //assert(scale <> 0);
if GetKeyState(VK_CONTROL) < 0 then scale := sqrt(scale)
else if GetKeyState(VK_SHIFT) < 0 then scale := scale*scale;
@ -3355,20 +3420,22 @@ begin
tbRotate.Down := (editMode = modeRotate);
tbScale.Down := (editMode = modeScale);
}
AutoEditMode := (Sender = tbAutoEditMode);
if Sender = tbRotate then
begin
editMode := modeRotate;
tbRotate.Down := true;
//tbRotate.Down := true;
end
else if Sender = tbScale then
begin
editMode := modeScale;
tbScale.Down := true;
//tbScale.Down := true;
end
else begin
editMode := modeMove;
tbMove.Down := true;
//tbMove.Down := true;
end;
TToolButton(Sender).Down := true;
end;
procedure TEditForm.tbFullViewClick(Sender: TObject);
@ -3472,8 +3539,9 @@ begin
SelectedTriangle := 1;
MainTriangles[0] := MainTriangles[-1];
MainTriangles[1] := MainTriangles[-1];
MainTriangles[2] := MainTriangles[-1];
MainTriangles[2] := MainTriangles[-1]; // kinda reset finalxform
EnableFinalXform := false;
assert(cp.HasFinalXForm = false);
cbTransforms.clear;
@ -3912,8 +3980,8 @@ begin
updating := false;
end
else assert(false);
pEdit^.Text := FloatToStr(v); // Format('%.6g', [v])
//pEdit.Refresh;
pEdit^.Text := FloatToStr(v);
pEdit.Refresh;
HasChanged := True;
DrawPreview;
end;
@ -3957,8 +4025,14 @@ begin
else if (Sender = pnlSymmetry) then
begin
pValue := @cp.xform[SelectedTriangle].symmetry;
if pValue^ = 0 then exit;
pValue^ := 0;
if SelectedTriangle = Transforms then begin
if pValue^ = 1 then exit;
pValue^ := 1;
end
else begin
if pValue^ = 0 then exit;
pValue^ := 0;
end;
pEdit := @txtSymmetry;
end
else if (Sender = pnlXformColor) then
@ -3975,5 +4049,25 @@ begin
UpdateFlame(true);
end;
procedure TEditForm.mnuResetTrgRotationClick(Sender: TObject);
var
nx, ny: double;
begin
with MainTriangles[SelectedTriangle] do
begin
nx := x[1] + Hypot(x[0] - x[1], y[0] - y[1]);
ny := y[1] + Hypot(x[2] - x[1], y[2] - y[1]);
if (x[0] = nx) and (y[0] = y[1]) and (x[2] = x[1]) and (y[2] = ny) then exit;
MainForm.UpdateUndo;
x[0] := nx;
y[0] := y[1];
x[2] := x[1];
y[2] := ny;
UpdateFlame(True);
end;
end;
end.