class interface GRAPHICS_ROUTINES

feature(s) from GRAPHICS_ROUTINES
   --  Stock brush

   void_pen: PEN
      --  Invisible pen.


   void_brush: BRUSH
      --  Invisible brush.


feature(s) from GRAPHICS_ROUTINES
   --  Simple settings

   color_pen (col: COLOR): PEN
      --  Create a basic colour pen.

      require
         col_ok: col /= Void
      ensure
         is_copy: Result /= Void

   color_brush (col: COLOR): BRUSH
      --  Create a solid colour brush.

      require
         col_ok: col /= Void
      ensure
         is_copy: Result /= Void

feature(s) from GRAPHICS_ROUTINES
   --  Device setup

   set_pen (device: GRAPHIC_DEVICE; col: COLOR)
      --  Set the pen of the device to a color_pen (col). 

      require
         dev_ok: device /= Void;
         col_ok: col /= Void

   set_brush (device: GRAPHIC_DEVICE; col: COLOR)
      --  Set the brush of the device to a color_brush (col).

      require
         dev_ok: device /= Void;
         col_ok: col /= Void

   set_pen_and_brush (device: GRAPHIC_DEVICE; col: COLOR)
      --  Set the pen and brush of the device.

      require
         dev_ok: device /= Void;
         col_ok: col /= Void

feature(s) from GRAPHICS_ROUTINES
   --  Vector conversion

   device_to_logical_size (device: GRAPHIC_DEVICE; pt: POINT): POINT
      --  Convert width/height (instead of actual point).

      require
         dev_ok: device /= Void;
         dev_ready: device.is_ready;
         point_ok: pt /= Void

   logical_to_device_size (device: GRAPHIC_DEVICE; pt: POINT): POINT
      --  Convert width/height (instead of actual point).

      require
         dev_ok: device /= Void;
         dev_ready: device.is_ready;
         point_ok: pt /= Void


end of GRAPHICS_ROUTINES