Guest User

Untitled

a guest
Apr 16th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.67 KB | None | 0 0
  1. procedure TStandartShape.ChangeSize(X: integer; Y: integer; Cube: integer;
  2.   SP, EP: TPoint);
  3.   procedure IncStartX;
  4.   begin
  5.     PointStart.X := PointStart.X + X / Zoomer.zoom;
  6.   end;
  7.   procedure IncStartY;
  8.   begin
  9.     PointStart.Y := PointStart.Y + Y / Zoomer.zoom;
  10.   end;
  11.   procedure IncEndX;
  12.   begin
  13.     PointEnd.X := PointEnd.X + X / Zoomer.zoom;
  14.   end;
  15.   procedure IncEndY;
  16.   begin
  17.     PointEnd.Y := PointEnd.Y + Y / Zoomer.zoom;
  18.   end;
  19.  
  20. begin
  21.   if MoveDirect = 0 then
  22.   begin
  23.     if (PointStart.X <= PointEnd.X) and (PointStart.Y <= PointEnd.Y) then
  24.       MoveDirect := 1
  25.     else if (PointStart.X >= PointEnd.X) and (PointStart.Y <= PointEnd.Y) then
  26.       MoveDirect := 2
  27.     else if (PointStart.X <= PointEnd.X) and (PointStart.Y >= PointEnd.Y) then
  28.       MoveDirect := 3
  29.     else if (PointStart.X >= PointEnd.X) and (PointStart.Y >= PointEnd.Y) then
  30.       MoveDirect := 4;
  31.   end;
  32.   case Cube of
  33.     1:
  34.       begin
  35.         case MoveDirect of
  36.           1:
  37.             begin
  38.               IncStartX;
  39.               IncStartY;
  40.             end;
  41.           2:
  42.             begin
  43.               IncEndX;
  44.               IncStartY;
  45.             end;
  46.           3:
  47.             begin
  48.               IncEndY;
  49.               IncStartX;
  50.             end;
  51.           4:
  52.             begin
  53.               IncEndX;
  54.               IncEndY;
  55.             end;
  56.         end;
  57.       end;
  58.     2:
  59.       begin
  60.         case MoveDirect of
  61.           1:
  62.             begin
  63.               IncEndX;
  64.               IncStartY;
  65.             end;
  66.           2:
  67.             begin
  68.               IncStartX;
  69.               IncStartY;
  70.             end;
  71.           3:
  72.             begin
  73.               IncEndX;
  74.               IncEndY;
  75.             end;
  76.           4:
  77.             begin
  78.               IncStartX;
  79.               IncEndY;
  80.             end;
  81.         end;
  82.       end;
  83.     3:
  84.       begin
  85.         case MoveDirect of
  86.           1:
  87.             begin
  88.               IncEndX;
  89.               IncEndY;
  90.             end;
  91.           2:
  92.             begin
  93.               IncStartX;
  94.               IncEndY;
  95.             end;
  96.           3:
  97.             begin
  98.               IncEndX;
  99.               IncStartY;
  100.             end;
  101.           4:
  102.             begin
  103.               IncStartX;
  104.               IncStartY;
  105.             end;
  106.         end;
  107.       end;
  108.     4:
  109.       begin
  110.         case MoveDirect of
  111.           1:
  112.             begin
  113.               IncStartX;
  114.               IncEndY;
  115.             end;
  116.           2:
  117.             begin
  118.               IncEndX;
  119.               IncEndY;
  120.             end;
  121.           3:
  122.             begin
  123.               IncStartX;
  124.               IncStartY;
  125.             end;
  126.           4:
  127.             begin
  128.               IncEndX;
  129.               IncStartY;
  130.             end;
  131.         end;
  132.       end;
  133.   end;
  134. end;
Add Comment
Please, Sign In to add comment