DEFINE Circle_center_lines
  LOCAL P
  LOCAL R
  LOCAL C
  LOCAL L
  END
  INQ_ENV 3
  LET C (INQ 201)
  LET L (INQ 301)
  LOOP
    LINE
    RGB_COLOR C
    LINETYPE L
    END
    LOOP
      READ PNT 'Identify circle' P
      INQ_ELEM P
    EXIT_IF (INQ 403=
      CIRCLE)
      BEEP
    END_LOOP
    LET P (INQ 101)
    LET R (1.1*INQ 3)
    LINE
    YELLOW
    DOT_CENTER (P - PNT_XY R 0) (P+PNT_XY R 0) (P - PNT_XY 0 R) (P+PNT_XY 0
    R)
    END
  END_LOOP
END_DEFINE

DEFINE Execute
  PARAMETER Statement
  LET Statement (VAL Statement) Statement
END_DEFINE

DEFINE Format_fit
  LOCAL F
  LOCAL Ll
  LOCAL Ce
  LOCAL Hf
  LOCAL Df
  READ STRING 'Enter format name' F
  LET F (UPC F)
  INQ_ENV 7
  LET Ll (INQ 101)
  LET Hf ((INQ 102 - Ll)/2)
  LET Ce (Ll+Hf)
  INQ_ENV 6
  IF (F='A4')
    LET Df 297,210
  ELSE_IF (F='A3')
    LET Df 420,297
  ELSE_IF (F='A2')
    LET Df 594,420
  ELSE_IF (F='A1')
    LET Df 841,594
  ELSE_IF (F='A0')
    LET Df 1189,841
  ELSE_IF (F='A')
    LET Df 279.4,215.19
  ELSE_IF (F='B')
    LET Df 431.8,279.4
  ELSE_IF (F='C')
    LET Df 558.8,431.8
  ELSE_IF (F='D')
    LET Df 863.6,558.8
  ELSE_IF (F='E')
    LET Df 1117.6,863.6
  ELSE
    LET Df (Hf*1.1*INQ 4*2)
  END_IF
  LET Df (Df/INQ 2/INQ 4/2)
  WINDOW (Ce - Df) (Ce+Df)
END_DEFINE

DEFINE T_rot
  LOCAL T
  LOCAL Cp
  LOCAL Sp
  LOCAL A
  LOCAL N
  LOCAL Da
  READ STRING 'Enter text' T
  READ PNT 'Enter center point' Cp
  READ PNT 'Enter start point' Sp
  READ NUMBER 'Enter angle' A
  LET N (LEN T)
  LET Da (A/N)
  LET A (ANG (Sp - Cp))
  LET N 1
  WHILE (N<=LEN T)
    TEXT_ANGLE (A - 90)
    TEXT (SUBSTR T N 1) Sp
    LET A (A - Da)
    LET Sp (Cp+PNT_RA (LEN (Sp - Cp)) A)
    LET N (N+1)
  END_WHILE
  END
  TEXT_ANGLE 0
END_DEFINE

DEFINE Window_move
  LOCAL N
  LOCAL Ll
  LOCAL X
  LOCAL Y
  READ NUMBER 'Enter number (1..9)' N
  INQ_ENV 2
  LET Ll (INQ 101)
  LET X (X_OF (INQ 102 - INQ 101))
  LET Y (Y_OF (INQ 102 - INQ 101))
  WINDOW
  IF (N=1)
    (Ll - PNT_XY X Y) Ll
  ELSE_IF (N=2)
    (Ll - PNT_XY 0 Y) (Ll+PNT_XY X 0)
  ELSE_IF (N=3)
    (Ll+PNT_XY X (- Y)) (Ll+PNT_XY (2*X) 0)
  ELSE_IF (N=4)
    (Ll+PNT_XY (- X) 0) (Ll+PNT_XY 0 Y)
  ELSE_IF (N=6)
    (Ll+PNT_XY X 0) (Ll+PNT_XY (2*X) Y)
  ELSE_IF (N=7)
    (Ll+PNT_XY (- X) Y) (Ll+PNT_XY 0 (2*Y))
  ELSE_IF (N=8)
    (Ll+PNT_XY 0 Y) (Ll+PNT_XY X (2*Y))
  ELSE_IF (N=9)
    (Ll+PNT_XY X Y) (Ll+PNT_XY (2*X) (2*Y))
  ELSE
    END
  END_IF
END_DEFINE

