ANY FILL_RECTANGLE LABEL LINE NONE RECTANGLE
class interface DRAW_STYLE
   -- DRAW_STYLE is low-level service who describe drawing attributes
   -- (color, line width, font...)

creation
   default_create
      -- Default creation method. It is used when no creation
      -- method is specified if allowed. Note it may be renamed.

feature(s) from MEMORY
   -- Garbage collector information and tuning:

   collecting: BOOLEAN
      -- Is garbage collection enabled?

   collection_off
      -- Disable garbage collection.

   collection_on
      -- Enable garbage collection.

   full_collect
      -- Force a full collection cycle if garbage collection is
      -- enabled (i.e. collecting is True); do nothing otherwise.

   collector_counter: INTEGER
      -- The number of collections actually performed or -1 when the
      -- system is not using the SmartEiffel garbage collector (i.e. when
      -- the system is compiled using the -no_gc flag).
      ensure
         Result >= -1

feature(s) from MEMORY
   -- SmartEiffel Garbage collector information and tuning:

   smart_eiffel_collector: BOOLEAN
      -- Is the SmartEiffel garbage collector really used?
      ensure
         Result = (collector_counter >= 0)

   low_memory_strategy: BOOLEAN
      -- Is the low memory strategy in use? When this strategy is used,
      -- the garbage collector try to use as few memory as possible.
      require
         smart_eiffel_collector

   set_low_memory_strategy
      require
         smart_eiffel_collector
      ensure
         low_memory_strategy

   high_memory_strategy: BOOLEAN
      -- Is the high memory strategy in use? When this strategy is used,
      -- the garbage collector assume that more memory can be allocated
      -- if necessary.
      require
         smart_eiffel_collector

   set_high_memory_strategy
      require
         smart_eiffel_collector
      ensure
         high_memory_strategy

   default_memory_strategy: BOOLEAN
      -- Is the default memory strategy in use? This is the default initial
      -- mode for the garbage collector (somewhere between low_memory_strategy
      -- and high_memory_strategy).
      require
         smart_eiffel_collector

   set_default_memory_strategy
      require
         smart_eiffel_collector
      ensure
         default_memory_strategy

   allocated_bytes: INTEGER
      -- Total number of allocated bytes of memory in the heap.
      require
         collector_counter >= 0

feature(s) from DRAW_STYLE
   color: COLOR

   set_color (c: COLOR)
      require
         c /= Void

   line_width: INTEGER

   set_line_width (w: INTEGER)
      require
         w > 0

feature(s) from DRAW_STYLE
   draw_line (d: POINTER; x1, y1, x2, y2: INTEGER)
      require
         d /= default_pointer



end of DRAW_STYLE