class interface TICTACTOE_ICON

creation
   make
      --  Create from source.


feature(s) from MEMORY
   --  Removal :

   dispose

   full_collect
      --  Force a full collection cycle if garbage collection is
      --  enabled; do nothing otherwise.


feature(s) from ICON
   --  (Optional) position

   set_position (pt: POINT)
      --  Set position (used when drawn in a GRAPHIC_DEVICE).

      require
         valid_point: pt /= Void

feature(s) from CONSTANT_ICON
   --  Definition

   width: INTEGER
      --  Icon width.

      ensure
         positive: width > 0

   height: INTEGER
      --  Icon height.

      ensure
         positive: height > 0

   color_count: INTEGER
      --  Color count.

      ensure
         allowed: Result = 2 or Result = 16 --  or Result = 256, not supported yet

   xor_bitmap: ARRAY[STRING]
      --  XOR bitmap.

      ensure
         not_void: Result /= Void; -- not_has_void: not Result.has (Void)
         valid: valid_bitmap(Result,color_count)

   and_bitmap: ARRAY[STRING]
      --  AND bitmap.

      ensure
         not_void: Result /= Void; -- not_has_void: not Result.has (Void)
         valid: valid_bitmap(Result,2)

feature(s) from CONSTANT_ICON
   --  Status

   valid_bitmap (an_array: ARRAY[STRING]; a_color_count: INTEGER): BOOLEAN
      --  Valid bitmap representation?


invariant
   valid_position: position /= Void;

end of TICTACTOE_ICON