Added triangle rotating pivot controls.
This commit is contained in:
parent
d0d40dc78b
commit
23a8768c97
@ -158,7 +158,7 @@ object EditForm: TEditForm
|
|||||||
Width = 159
|
Width = 159
|
||||||
Height = 231
|
Height = 231
|
||||||
HorzScrollBar.Visible = False
|
HorzScrollBar.Visible = False
|
||||||
VertScrollBar.Position = 121
|
VertScrollBar.Position = 127
|
||||||
VertScrollBar.Smooth = True
|
VertScrollBar.Smooth = True
|
||||||
VertScrollBar.Style = ssFlat
|
VertScrollBar.Style = ssFlat
|
||||||
VertScrollBar.Tracking = True
|
VertScrollBar.Tracking = True
|
||||||
@ -169,9 +169,9 @@ object EditForm: TEditForm
|
|||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object TrianglePanel: TPanel
|
object TrianglePanel: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = -121
|
Top = -127
|
||||||
Width = 155
|
Width = 155
|
||||||
Height = 352
|
Height = 400
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object Label9: TLabel
|
object Label9: TLabel
|
||||||
@ -218,7 +218,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgRotateRight: TSpeedButton
|
object btTrgRotateRight: TSpeedButton
|
||||||
Left = 90
|
Left = 90
|
||||||
Top = 184
|
Top = 240
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Rotate triangle clockwise around its center'
|
Hint = 'Rotate triangle clockwise around its center'
|
||||||
@ -238,7 +238,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgRotateLeft: TSpeedButton
|
object btTrgRotateLeft: TSpeedButton
|
||||||
Left = 22
|
Left = 22
|
||||||
Top = 184
|
Top = 240
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Rotate triangle counter clockwise around its center'
|
Hint = 'Rotate triangle counter clockwise around its center'
|
||||||
@ -276,7 +276,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgMoveUp: TSpeedButton
|
object btTrgMoveUp: TSpeedButton
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 226
|
Top = 282
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Move triangle up'
|
Hint = 'Move triangle up'
|
||||||
@ -314,7 +314,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgMoveRight: TSpeedButton
|
object btTrgMoveRight: TSpeedButton
|
||||||
Left = 90
|
Left = 90
|
||||||
Top = 250
|
Top = 306
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Move triangle right'
|
Hint = 'Move triangle right'
|
||||||
@ -352,7 +352,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgMoveLeft: TSpeedButton
|
object btTrgMoveLeft: TSpeedButton
|
||||||
Left = 22
|
Left = 22
|
||||||
Top = 250
|
Top = 306
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Move triangle left'
|
Hint = 'Move triangle left'
|
||||||
@ -390,7 +390,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgMoveDown: TSpeedButton
|
object btTrgMoveDown: TSpeedButton
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 274
|
Top = 330
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Move triangle down'
|
Hint = 'Move triangle down'
|
||||||
@ -428,7 +428,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgScaleUp: TSpeedButton
|
object btTrgScaleUp: TSpeedButton
|
||||||
Left = 90
|
Left = 90
|
||||||
Top = 318
|
Top = 374
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Scale triangle up'
|
Hint = 'Scale triangle up'
|
||||||
@ -448,7 +448,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object btTrgScaleDown: TSpeedButton
|
object btTrgScaleDown: TSpeedButton
|
||||||
Left = 22
|
Left = 22
|
||||||
Top = 318
|
Top = 374
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 24
|
Height = 24
|
||||||
Hint = 'Scale triangle down'
|
Hint = 'Scale triangle down'
|
||||||
@ -468,7 +468,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object txtTrgRotateValue: TEdit
|
object txtTrgRotateValue: TEdit
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 184
|
Top = 240
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
@ -476,7 +476,7 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object txtTrgMoveValue: TEdit
|
object txtTrgMoveValue: TEdit
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 250
|
Top = 306
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 8
|
TabOrder = 8
|
||||||
@ -549,7 +549,7 @@ object EditForm: TEditForm
|
|||||||
OnKeyPress = CornerEditKeyPress
|
OnKeyPress = CornerEditKeyPress
|
||||||
end
|
end
|
||||||
object chkPreserve: TCheckBox
|
object chkPreserve: TCheckBox
|
||||||
Left = 28
|
Left = 8
|
||||||
Top = 152
|
Top = 152
|
||||||
Width = 105
|
Width = 105
|
||||||
Height = 17
|
Height = 17
|
||||||
@ -560,12 +560,29 @@ object EditForm: TEditForm
|
|||||||
end
|
end
|
||||||
object txtTrgScaleValue: TEdit
|
object txtTrgScaleValue: TEdit
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 320
|
Top = 376
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 9
|
TabOrder = 9
|
||||||
Text = '0.1'
|
Text = '0.1'
|
||||||
end
|
end
|
||||||
|
object rgPivot: TRadioGroup
|
||||||
|
Left = 8
|
||||||
|
Top = 176
|
||||||
|
Width = 129
|
||||||
|
Height = 49
|
||||||
|
Caption = ' Rotating pivot : '
|
||||||
|
Columns = 2
|
||||||
|
Ctl3D = True
|
||||||
|
ItemIndex = 3
|
||||||
|
Items.Strings = (
|
||||||
|
'A'
|
||||||
|
'B'
|
||||||
|
'C'
|
||||||
|
'Center')
|
||||||
|
ParentCtl3D = False
|
||||||
|
TabOrder = 10
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -127,6 +127,7 @@ type
|
|||||||
txtTrgScaleValue: TEdit;
|
txtTrgScaleValue: TEdit;
|
||||||
btTrgScaleUp: TSpeedButton;
|
btTrgScaleUp: TSpeedButton;
|
||||||
btTrgScaleDown: TSpeedButton;
|
btTrgScaleDown: TSpeedButton;
|
||||||
|
rgPivot: TRadioGroup;
|
||||||
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);
|
||||||
@ -2045,7 +2046,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
if offset <> 0 then
|
if offset <> 0 then
|
||||||
begin
|
begin
|
||||||
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], (PI/180) * offset);
|
case (rgPivot.ItemIndex) of
|
||||||
|
0: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTrianglePoint(MainTriangles[SelectedTriangle], MainTriangles[SelectedTriangle].x[0], MainTriangles[SelectedTriangle].y[0], (PI/180) * offset);
|
||||||
|
1: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTrianglePoint(MainTriangles[SelectedTriangle], MainTriangles[SelectedTriangle].x[1], MainTriangles[SelectedTriangle].y[1], (PI/180) * offset);
|
||||||
|
2: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTrianglePoint(MainTriangles[SelectedTriangle], MainTriangles[SelectedTriangle].x[2], MainTriangles[SelectedTriangle].y[2], (PI/180) * offset);
|
||||||
|
3: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTriangleCenter(MainTriangles[SelectedTriangle], (PI/180) * offset);
|
||||||
|
end;
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(true);
|
UpdateFlame(true);
|
||||||
end;
|
end;
|
||||||
@ -2063,7 +2073,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
if offset <> 0 then
|
if offset <> 0 then
|
||||||
begin
|
begin
|
||||||
MainTriangles[SelectedTriangle] := RotateTriangleCenter(MainTriangles[SelectedTriangle], -((PI/180) * offset));
|
case (rgPivot.ItemIndex) of
|
||||||
|
0: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTrianglePoint(MainTriangles[SelectedTriangle], MainTriangles[SelectedTriangle].x[0], MainTriangles[SelectedTriangle].y[0], -((PI/180) * offset));
|
||||||
|
1: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTrianglePoint(MainTriangles[SelectedTriangle], MainTriangles[SelectedTriangle].x[1], MainTriangles[SelectedTriangle].y[1], -((PI/180) * offset));
|
||||||
|
2: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTrianglePoint(MainTriangles[SelectedTriangle], MainTriangles[SelectedTriangle].x[2], MainTriangles[SelectedTriangle].y[2], -((PI/180) * offset));
|
||||||
|
3: MainTriangles[SelectedTriangle] :=
|
||||||
|
RotateTriangleCenter(MainTriangles[SelectedTriangle], -((PI/180) * offset));
|
||||||
|
end;
|
||||||
HasChanged := True;
|
HasChanged := True;
|
||||||
UpdateFlame(true);
|
UpdateFlame(true);
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user