def contains?(col, row = nil)
      return contains_point?(col) if col.respond_to? :x

      col.between?(left, left + width - 1) &&
        row.between?(top, top + height - 1)
    end
def contains?(col, row = nil)
      return contains_point?(col) if col.respond_to? :x

      col.between?(left, left + width - 1) &&
        row.between?(top, top + height - 1)
    end
Create a new region with specified +pos+ as top left corner and +size+
 as width and height. The stored positions are copies of the passed
 position and size to avoid aliasing.

 Alternatively, can be initialized with 2 +Point+s.
 Return whether the region contains the specified +row+ and +col+
 Alternatively, can be passed a +Point+