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