Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TStandartShape.ChangeSize(X: integer; Y: integer; Cube: integer;
- SP, EP: TPoint);
- procedure IncStartX;
- begin
- PointStart.X := PointStart.X + X / Zoomer.zoom;
- end;
- procedure IncStartY;
- begin
- PointStart.Y := PointStart.Y + Y / Zoomer.zoom;
- end;
- procedure IncEndX;
- begin
- PointEnd.X := PointEnd.X + X / Zoomer.zoom;
- end;
- procedure IncEndY;
- begin
- PointEnd.Y := PointEnd.Y + Y / Zoomer.zoom;
- end;
- begin
- if MoveDirect = 0 then
- begin
- if (PointStart.X <= PointEnd.X) and (PointStart.Y <= PointEnd.Y) then
- MoveDirect := 1
- else if (PointStart.X >= PointEnd.X) and (PointStart.Y <= PointEnd.Y) then
- MoveDirect := 2
- else if (PointStart.X <= PointEnd.X) and (PointStart.Y >= PointEnd.Y) then
- MoveDirect := 3
- else if (PointStart.X >= PointEnd.X) and (PointStart.Y >= PointEnd.Y) then
- MoveDirect := 4;
- end;
- case Cube of
- 1:
- begin
- case MoveDirect of
- 1:
- begin
- IncStartX;
- IncStartY;
- end;
- 2:
- begin
- IncEndX;
- IncStartY;
- end;
- 3:
- begin
- IncEndY;
- IncStartX;
- end;
- 4:
- begin
- IncEndX;
- IncEndY;
- end;
- end;
- end;
- 2:
- begin
- case MoveDirect of
- 1:
- begin
- IncEndX;
- IncStartY;
- end;
- 2:
- begin
- IncStartX;
- IncStartY;
- end;
- 3:
- begin
- IncEndX;
- IncEndY;
- end;
- 4:
- begin
- IncStartX;
- IncEndY;
- end;
- end;
- end;
- 3:
- begin
- case MoveDirect of
- 1:
- begin
- IncEndX;
- IncEndY;
- end;
- 2:
- begin
- IncStartX;
- IncEndY;
- end;
- 3:
- begin
- IncEndX;
- IncStartY;
- end;
- 4:
- begin
- IncStartX;
- IncStartY;
- end;
- end;
- end;
- 4:
- begin
- case MoveDirect of
- 1:
- begin
- IncStartX;
- IncEndY;
- end;
- 2:
- begin
- IncEndX;
- IncEndY;
- end;
- 3:
- begin
- IncStartX;
- IncStartY;
- end;
- 4:
- begin
- IncEndX;
- IncStartY;
- end;
- end;
- end;
- end;
- end;
Add Comment
Please, Sign In to add comment