class interface SIMPLE_PEN

creation
   make
      --  Create default pen.


feature(s) from BASIC_PEN
   --  Colour

   set_color (cl: COLOR)
      --  Set pen colour.

      require
         valid_color: cl /= Void
      ensure
         keep_reference: color = cl

feature(s) from BASIC_PEN
   --  Line style

   set_line_solid
      --  Set line style: solid (default).


   set_line_solid_inside_frame
      --  Set line style: solid, kept inside rectangles.


   set_line_invisible
      --  Set line style: no line (invisible).


   set_line_dash
      --  Set line style: - - - -


   set_line_dot
      --  Set line style: .......


   set_line_dash_dot
      --  Set line style: -.-.-.-


   set_line_dash_dot_dot
      --  Set line style: -..-..-


feature(s) from SIMPLE_PEN
   --  Width

   set_width (wi: INTEGER)
      --  Set pen width in _logical_ units. If width is zero 
      --  the pen is one _pixel_ width. Only line of solid style 
      --  (set_line_solid) support proper widths. Non-solid lines 
      --  width is one pixel. Geometric pens must be used for properly 
      --  scalable pens.

      require
         valid_width: wi >= 0

invariant
   valid_color: color /= Void;
   valid_width: width >= 0;

end of SIMPLE_PEN