+ Added triangle scale buttons in editor. + Shift-Alt-Ctrl mouse actions in editor are bound to the values on the triangle tab.
This commit is contained in:
parent
1a98ff484b
commit
701eab0270
@ -1,6 +1,6 @@
|
|||||||
object EditForm: TEditForm
|
object EditForm: TEditForm
|
||||||
Left = 392
|
Left = 398
|
||||||
Top = 208
|
Top = 205
|
||||||
Width = 582
|
Width = 582
|
||||||
Height = 471
|
Height = 471
|
||||||
Caption = 'Editor'
|
Caption = 'Editor'
|
||||||
@ -52,7 +52,7 @@ object EditForm: TEditForm
|
|||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 394
|
Width = 394
|
||||||
Height = 422
|
Height = 429
|
||||||
Align = alClient
|
Align = alClient
|
||||||
BevelOuter = bvLowered
|
BevelOuter = bvLowered
|
||||||
Color = clBlack
|
Color = clBlack
|
||||||
@ -72,7 +72,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object StatusBar: TStatusBar
|
object StatusBar: TStatusBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 422
|
Top = 429
|
||||||
Width = 574
|
Width = 574
|
||||||
Height = 15
|
Height = 15
|
||||||
Panels = <
|
Panels = <
|
||||||
@ -90,14 +90,14 @@ object EditForm: TEditForm
|
|||||||
Left = 394
|
Left = 394
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 180
|
Width = 180
|
||||||
Height = 422
|
Height = 429
|
||||||
Align = alRight
|
Align = alRight
|
||||||
Alignment = taLeftJustify
|
Alignment = taLeftJustify
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
180
|
180
|
||||||
422)
|
429)
|
||||||
object lblTransform: TLabel
|
object lblTransform: TLabel
|
||||||
Left = 10
|
Left = 10
|
||||||
Top = 128
|
Top = 128
|
||||||
@ -136,7 +136,7 @@ object EditForm: TEditForm
|
|||||||
Width = 57
|
Width = 57
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnChange = cbTransformsChange
|
OnChange = cbTransformsChange
|
||||||
end
|
end
|
||||||
@ -158,6 +158,7 @@ object EditForm: TEditForm
|
|||||||
Width = 159
|
Width = 159
|
||||||
Height = 231
|
Height = 231
|
||||||
HorzScrollBar.Visible = False
|
HorzScrollBar.Visible = False
|
||||||
|
VertScrollBar.Position = 121
|
||||||
VertScrollBar.Smooth = True
|
VertScrollBar.Smooth = True
|
||||||
VertScrollBar.Style = ssFlat
|
VertScrollBar.Style = ssFlat
|
||||||
VertScrollBar.Tracking = True
|
VertScrollBar.Tracking = True
|
||||||
@ -168,9 +169,9 @@ object EditForm: TEditForm
|
|||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object TrianglePanel: TPanel
|
object TrianglePanel: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = -121
|
||||||
Width = 155
|
Width = 155
|
||||||
Height = 302
|
Height = 352
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object Label9: TLabel
|
object Label9: TLabel
|
||||||
@ -220,6 +221,7 @@ object EditForm: TEditForm
|
|||||||
Top = 184
|
Top = 184
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
|
Hint = 'Rotate triangle clockwise around its center'
|
||||||
Flat = True
|
Flat = True
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
F6000000424DF600000000000000760000002800000010000000100000000100
|
F6000000424DF600000000000000760000002800000010000000100000000100
|
||||||
@ -230,6 +232,8 @@ object EditForm: TEditForm
|
|||||||
FFFF7007FFFFFFFFFFFFF0007FFFFF7FFFFFF7000788FF70FFFFF80000077770
|
FFFF7007FFFFFFFFFFFFF0007FFFFF7FFFFFF7000788FF70FFFFF80000077770
|
||||||
0FFFFF770000000000FFFFF770000000000FFFFF777000000078FFFFF8777770
|
0FFFFF770000000000FFFFF770000000000FFFFF777000000078FFFFF8777770
|
||||||
078FFFFFFFFF870078FFFFFFFFFFFF778FFFFFFFFFFFFF78FFFF}
|
078FFFFFFFFF870078FFFFFFFFFFFF778FFFFFFFFFFFFF78FFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
OnClick = btTrgRotateRightClick
|
OnClick = btTrgRotateRightClick
|
||||||
end
|
end
|
||||||
object btTrgRotateLeft: TSpeedButton
|
object btTrgRotateLeft: TSpeedButton
|
||||||
@ -237,6 +241,7 @@ object EditForm: TEditForm
|
|||||||
Top = 184
|
Top = 184
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
|
Hint = 'Rotate triangle counter clockwise around its center'
|
||||||
Flat = True
|
Flat = True
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36030000424D3603000000000000360000002800000010000000100000000100
|
36030000424D3603000000000000360000002800000010000000100000000100
|
||||||
@ -265,6 +270,8 @@ object EditForm: TEditForm
|
|||||||
FFFFFFC0C0C0808080404040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFC0C0C0808080404040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0808080FFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C0808080FFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
OnClick = btTrgRotateLeftClick
|
OnClick = btTrgRotateLeftClick
|
||||||
end
|
end
|
||||||
object btTrgMoveUp: TSpeedButton
|
object btTrgMoveUp: TSpeedButton
|
||||||
@ -272,6 +279,7 @@ object EditForm: TEditForm
|
|||||||
Top = 226
|
Top = 226
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
|
Hint = 'Move triangle up'
|
||||||
Flat = True
|
Flat = True
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36030000424D3603000000000000360000002800000010000000100000000100
|
36030000424D3603000000000000360000002800000010000000100000000100
|
||||||
@ -300,6 +308,8 @@ object EditForm: TEditForm
|
|||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080000000FFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080000000FFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
FFFF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
OnClick = btTrgMoveUpClick
|
OnClick = btTrgMoveUpClick
|
||||||
end
|
end
|
||||||
object btTrgMoveRight: TSpeedButton
|
object btTrgMoveRight: TSpeedButton
|
||||||
@ -307,6 +317,7 @@ object EditForm: TEditForm
|
|||||||
Top = 250
|
Top = 250
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
|
Hint = 'Move triangle right'
|
||||||
Flat = True
|
Flat = True
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36030000424D3603000000000000360000002800000010000000100000000100
|
36030000424D3603000000000000360000002800000010000000100000000100
|
||||||
@ -335,6 +346,8 @@ object EditForm: TEditForm
|
|||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
OnClick = btTrgMoveRightClick
|
OnClick = btTrgMoveRightClick
|
||||||
end
|
end
|
||||||
object btTrgMoveLeft: TSpeedButton
|
object btTrgMoveLeft: TSpeedButton
|
||||||
@ -342,6 +355,7 @@ object EditForm: TEditForm
|
|||||||
Top = 250
|
Top = 250
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
|
Hint = 'Move triangle left'
|
||||||
Flat = True
|
Flat = True
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36030000424D3603000000000000360000002800000010000000100000000100
|
36030000424D3603000000000000360000002800000010000000100000000100
|
||||||
@ -370,6 +384,8 @@ object EditForm: TEditForm
|
|||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
OnClick = btTrgMoveLeftClick
|
OnClick = btTrgMoveLeftClick
|
||||||
end
|
end
|
||||||
object btTrgMoveDown: TSpeedButton
|
object btTrgMoveDown: TSpeedButton
|
||||||
@ -377,6 +393,7 @@ object EditForm: TEditForm
|
|||||||
Top = 274
|
Top = 274
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
|
Hint = 'Move triangle down'
|
||||||
Flat = True
|
Flat = True
|
||||||
Glyph.Data = {
|
Glyph.Data = {
|
||||||
36030000424D3603000000000000360000002800000010000000100000000100
|
36030000424D3603000000000000360000002800000010000000100000000100
|
||||||
@ -405,13 +422,55 @@ object EditForm: TEditForm
|
|||||||
FFFFFFFFFFFFFFFFFFFFFFFF808080000000000000FFFFFFFFFFFFFFFFFFFFFF
|
FFFFFFFFFFFFFFFFFFFFFFFF808080000000000000FFFFFFFFFFFFFFFFFFFFFF
|
||||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C000
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0C0C000
|
||||||
0000404040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
0000404040FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
OnClick = btTrgMoveDownClick
|
OnClick = btTrgMoveDownClick
|
||||||
end
|
end
|
||||||
|
object btTrgScaleUp: TSpeedButton
|
||||||
|
Left = 90
|
||||||
|
Top = 318
|
||||||
|
Width = 33
|
||||||
|
Height = 24
|
||||||
|
Hint = 'Scale triangle up'
|
||||||
|
Flat = True
|
||||||
|
Glyph.Data = {
|
||||||
|
F6000000424DF600000000000000760000002800000010000000100000000100
|
||||||
|
0400000000008000000000000000000000001000000000000000000000000000
|
||||||
|
8000008000000080800080000000800080008080000080808000C0C0C0000000
|
||||||
|
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FFFFFFFFFFFF
|
||||||
|
FFFFF00000000000000FF00000000000000FFF000FFFFFFFF00FFFF000FFFFFF
|
||||||
|
F00FFFFF000FFFFFF00FFFFFF000FFFFF00FFFFFFF000FFFF00FFFFFFFF000FF
|
||||||
|
F00FFFFFFFFF000FF00FFFFFFFFFF000F00FFFFFFFFFFF00000FFFFFFFFFFFF0
|
||||||
|
000FFFFFFFFFFFFF000FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
OnClick = btTrgScaleUpClick
|
||||||
|
end
|
||||||
|
object btTrgScaleDown: TSpeedButton
|
||||||
|
Left = 22
|
||||||
|
Top = 318
|
||||||
|
Width = 33
|
||||||
|
Height = 24
|
||||||
|
Hint = 'Scale triangle down'
|
||||||
|
Flat = True
|
||||||
|
Glyph.Data = {
|
||||||
|
F6000000424DF600000000000000760000002800000010000000100000000100
|
||||||
|
0400000000008000000000000000000000001000000000000000000000000000
|
||||||
|
8000008000000080800080000000800080008080000080808000C0C0C0000000
|
||||||
|
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00FFFFFFFFFFFF
|
||||||
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000
|
||||||
|
0FFFF000000000000FFFFF0000FFFFF00FFFFFF0000FFFF00FFFFFFFF000FFF0
|
||||||
|
0FFFFFFFFF000FF00FFFFFFFFFF000000FFFFFFFFFFF00000FFFFFFFFFFFFF00
|
||||||
|
0FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
OnClick = btTrgScaleDownClick
|
||||||
|
end
|
||||||
object txtTrgRotateValue: TEdit
|
object txtTrgRotateValue: TEdit
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 184
|
Top = 184
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 21
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
Text = '5'
|
Text = '5'
|
||||||
end
|
end
|
||||||
@ -419,7 +478,7 @@ object EditForm: TEditForm
|
|||||||
Left = 56
|
Left = 56
|
||||||
Top = 250
|
Top = 250
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 21
|
||||||
TabOrder = 8
|
TabOrder = 8
|
||||||
Text = '0.05'
|
Text = '0.05'
|
||||||
end
|
end
|
||||||
@ -499,6 +558,14 @@ object EditForm: TEditForm
|
|||||||
State = cbChecked
|
State = cbChecked
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
end
|
end
|
||||||
|
object txtTrgScaleValue: TEdit
|
||||||
|
Left = 56
|
||||||
|
Top = 320
|
||||||
|
Width = 33
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 9
|
||||||
|
Text = '0.1'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -124,6 +124,9 @@ type
|
|||||||
btTrgMoveRight: TSpeedButton;
|
btTrgMoveRight: TSpeedButton;
|
||||||
btTrgMoveLeft: TSpeedButton;
|
btTrgMoveLeft: TSpeedButton;
|
||||||
btTrgMoveDown: TSpeedButton;
|
btTrgMoveDown: TSpeedButton;
|
||||||
|
txtTrgScaleValue: TEdit;
|
||||||
|
btTrgScaleUp: TSpeedButton;
|
||||||
|
btTrgScaleDown: TSpeedButton;
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure GraphImageMouseMove(Sender: TObject; Shift: TShiftState; X,
|
procedure GraphImageMouseMove(Sender: TObject; Shift: TShiftState; X,
|
||||||
Y: integer);
|
Y: integer);
|
||||||
@ -187,6 +190,8 @@ type
|
|||||||
procedure btTrgMoveRightClick(Sender: TObject);
|
procedure btTrgMoveRightClick(Sender: TObject);
|
||||||
procedure btTrgMoveUpClick(Sender: TObject);
|
procedure btTrgMoveUpClick(Sender: TObject);
|
||||||
procedure btTrgMoveDownClick(Sender: TObject);
|
procedure btTrgMoveDownClick(Sender: TObject);
|
||||||
|
procedure btTrgScaleUpClick(Sender: TObject);
|
||||||
|
procedure btTrgScaleDownClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
bm: TBitmap;
|
bm: TBitmap;
|
||||||
cmap: TColorMap;
|
cmap: TColorMap;
|
||||||
@ -980,6 +985,7 @@ procedure TEditForm.GraphImageMouseUp(Sender: TObject; Button: TMouseButton;
|
|||||||
var
|
var
|
||||||
fx, fy: double;
|
fx, fy: double;
|
||||||
i: integer;
|
i: integer;
|
||||||
|
transformvalue: double;
|
||||||
begin
|
begin
|
||||||
Scale(fx, fy, x, y, EditForm.GraphImage.Width, EditForm.GraphImage.Height);
|
Scale(fx, fy, x, y, EditForm.GraphImage.Width, EditForm.GraphImage.Height);
|
||||||
{ Mouse inside a triangle?}
|
{ Mouse inside a triangle?}
|
||||||
@ -1002,27 +1008,59 @@ begin
|
|||||||
else if Button = mbLeft then
|
else if Button = mbLeft then
|
||||||
if Shift = [ssAlt] then
|
if Shift = [ssAlt] then
|
||||||
begin
|
begin
|
||||||
MainTriangles[i] := RotateTriangleCenter(MainTriangles[i], -(PI / 20));
|
try
|
||||||
|
transformvalue := StrToFloat(txtTrgRotateValue.Text);
|
||||||
|
except
|
||||||
|
transformvalue := 0;
|
||||||
|
txtTrgRotateValue.Text := '0';
|
||||||
|
end;
|
||||||
|
if transformvalue <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[i] := RotateTriangleCenter(MainTriangles[i], -((PI/180) * transformvalue));
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(False);
|
end;
|
||||||
end
|
end
|
||||||
else if Shift = [ssCtrl, ssAlt] then
|
else if Shift = [ssCtrl, ssAlt] then
|
||||||
begin
|
begin
|
||||||
MainTriangles[i] := RotateTriangleCenter(MainTriangles[i], PI / 20);
|
try
|
||||||
|
transformvalue := StrToFloat(txtTrgRotateValue.Text);
|
||||||
|
except
|
||||||
|
transformvalue := 0;
|
||||||
|
txtTrgRotateValue.Text := '0';
|
||||||
|
end;
|
||||||
|
if transformvalue <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[i] := RotateTriangleCenter(MainTriangles[i], (PI/180) * transformvalue);
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(False);
|
end;
|
||||||
end
|
end
|
||||||
else if Shift = [ssShift] then
|
else if Shift = [ssShift] then
|
||||||
begin
|
begin
|
||||||
MainTriangles[i] := ScaleTriangleCenter(MainTriangles[i], 1.1);
|
try
|
||||||
|
transformvalue := StrToFloat(txtTrgScaleValue.Text);
|
||||||
|
except
|
||||||
|
transformvalue := 0.0;
|
||||||
|
txtTrgScaleValue.Text := '0.0';
|
||||||
|
end;
|
||||||
|
if transformvalue <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[i] := ScaleTriangleCenter(MainTriangles[i], transformvalue+1.0);
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(False);
|
end;
|
||||||
end
|
end
|
||||||
else if Shift = [ssCtrl, ssShift] then
|
else if Shift = [ssCtrl, ssShift] then
|
||||||
begin
|
begin
|
||||||
MainTriangles[i] := ScaleTriangleCenter(MainTriangles[i], 0.9);
|
try
|
||||||
|
transformvalue := StrToFloat(txtTrgScaleValue.Text);
|
||||||
|
except
|
||||||
|
transformvalue := 0.0;
|
||||||
|
txtTrgScaleValue.Text := '0.0';
|
||||||
|
end;
|
||||||
|
if transformvalue <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[i] := ScaleTriangleCenter(MainTriangles[i], 1.0-transformvalue);
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(False);
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
CornerCaught := False;
|
CornerCaught := False;
|
||||||
@ -1035,31 +1073,75 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TEditForm.mnuRotateRightClick(Sender: TObject);
|
procedure TEditForm.mnuRotateRightClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
offset: double;
|
||||||
begin
|
begin
|
||||||
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], -(PI / 20));
|
try
|
||||||
|
offset := StrToFloat(txtTrgRotateValue.Text);
|
||||||
|
except
|
||||||
|
offset := 0;
|
||||||
|
txtTrgRotateValue.Text := '0';
|
||||||
|
end;
|
||||||
|
if offset <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], -((PI/180) * offset));
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(true);
|
UpdateFlame(true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TEditForm.mnuRotateLeftClick(Sender: TObject);
|
procedure TEditForm.mnuRotateLeftClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
offset: double;
|
||||||
begin
|
begin
|
||||||
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], PI / 20);
|
try
|
||||||
|
offset := StrToFloat(txtTrgRotateValue.Text);
|
||||||
|
except
|
||||||
|
offset := 0;
|
||||||
|
txtTrgRotateValue.Text := '0';
|
||||||
|
end;
|
||||||
|
if offset <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], (PI/180) * offset);
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(true);
|
UpdateFlame(true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TEditForm.mnuScaleUpClick(Sender: TObject);
|
procedure TEditForm.mnuScaleUpClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
scale: double;
|
||||||
begin
|
begin
|
||||||
MainTriangles[SelectedTriangle] := ScaleTriangleCenter(MainTriangles[SelectedTriangle], 1.1);
|
try
|
||||||
|
scale := StrToFloat(txtTrgScaleValue.Text);
|
||||||
|
except
|
||||||
|
scale := 0.0;
|
||||||
|
txtTrgScaleValue.Text := '0.0';
|
||||||
|
end;
|
||||||
|
if scale <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[SelectedTriangle] := ScaleTriangleCenter(MainTriangles[SelectedTriangle], scale+1.0);
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(true);
|
UpdateFlame(true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TEditForm.mnuScaleDownClick(Sender: TObject);
|
procedure TEditForm.mnuScaleDownClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
scale: double;
|
||||||
begin
|
begin
|
||||||
MainTriangles[SelectedTriangle] := ScaleTriangleCenter(MainTriangles[SelectedTriangle], 0.9);
|
try
|
||||||
|
scale := StrToFloat(txtTrgScaleValue.Text);
|
||||||
|
except
|
||||||
|
scale := 0.0;
|
||||||
|
txtTrgScaleValue.Text := '0.0';
|
||||||
|
end;
|
||||||
|
if scale <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[SelectedTriangle] := ScaleTriangleCenter(MainTriangles[SelectedTriangle], 1.0-scale);
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(true);
|
UpdateFlame(true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TEditForm.FormShow(Sender: TObject);
|
procedure TEditForm.FormShow(Sender: TObject);
|
||||||
@ -1963,7 +2045,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
if offset <> 0 then
|
if offset <> 0 then
|
||||||
begin
|
begin
|
||||||
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], (PI/180) * offset); HasChanged := True;
|
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], (PI/180) * offset);
|
||||||
|
HasChanged := True;
|
||||||
UpdateFlame(true);
|
UpdateFlame(true);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -2070,5 +2153,41 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TEditForm.btTrgScaleUpClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
scale: double;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
scale := StrToFloat(txtTrgScaleValue.Text);
|
||||||
|
except
|
||||||
|
scale := 0.0;
|
||||||
|
txtTrgScaleValue.Text := '0.0';
|
||||||
|
end;
|
||||||
|
if scale <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[SelectedTriangle] := ScaleTriangleCenter(MainTriangles[SelectedTriangle], scale+1.0);
|
||||||
|
HasChanged := True;
|
||||||
|
UpdateFlame(true);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TEditForm.btTrgScaleDownClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
scale: double;
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
scale := StrToFloat(txtTrgScaleValue.Text);
|
||||||
|
except
|
||||||
|
scale := 0.0;
|
||||||
|
txtTrgScaleValue.Text := '0.0';
|
||||||
|
end;
|
||||||
|
if scale <> 0 then
|
||||||
|
begin
|
||||||
|
MainTriangles[SelectedTriangle] := ScaleTriangleCenter(MainTriangles[SelectedTriangle], 1.0-scale);
|
||||||
|
HasChanged := True;
|
||||||
|
UpdateFlame(true);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user