Section Header
  
  
    + name    := CLIP;
  
  
    - comment := "Clip structure (Use for AREA).";
  
  
    - version := 1;
  
Section Inherit
  
    - parent_object:OBJECT := 
  
Section Public  
  
  
                 top
  
                  /\ 
  
 (x_min,y_min) X--||----------+
  
               |              |
  
         left <=              |
  
               |              |
  
               |     CLIP     |
  
               |              |
  
               |              => right
  
               |              |
  
               +----------||--X (x_max,y_max)
  
                          \/
  
                        bottom
    
  
 Coord. abs clip.
  
    + x_min:INTEGER;
  
    + y_min:INTEGER;
  
    + x_max:INTEGER;
  
    + y_max:INTEGER;
  
  
    + window:AREA;
  
  
 Four clip links. 
  
    + left:CLIP;
  
    + right:CLIP;
  
    + top:CLIP;
  
    + bottom:CLIP;
  
Section Public  
  
  
    - make win:AREA at (x0,y0:INTEGER) to (x1,y1:INTEGER) <-
      
  
    - create win:AREA at (x0,y0:INTEGER) to (x1,y1:INTEGER) :CLIP <-
      
  
    - set_left new_link:CLIP <-
  
  
    - set_right new_link:CLIP <-
    
  
    - set_top new_link:CLIP <-
  
  
    - set_bottom new_link:CLIP <-
  
  
    - set_x_min new:INTEGER <-
  
  
    - set_x_max new:INTEGER <-
    
  
    - set_y_min new:INTEGER <-
  
  
    - set_y_max new:INTEGER <-
  
  
    - display win:AREA <-