Added triangle rotating pivot controls.

This commit is contained in:
utak3r
2005-07-03 21:18:07 +00:00
parent d0d40dc78b
commit 23a8768c97
2 changed files with 53 additions and 17 deletions

View File

@ -127,6 +127,7 @@ type
txtTrgScaleValue: TEdit;
btTrgScaleUp: TSpeedButton;
btTrgScaleDown: TSpeedButton;
rgPivot: TRadioGroup;
procedure FormCreate(Sender: TObject);
procedure GraphImageMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: integer);
@ -2045,7 +2046,16 @@ begin
end;
if offset <> 0 then
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;
UpdateFlame(true);
end;
@ -2063,7 +2073,16 @@ begin
end;
if offset <> 0 then
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;
UpdateFlame(true);
end;