new menu commands + some fixes
This commit is contained in:
parent
7fddbe82d1
commit
d85cf9e346
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user