diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/ruby2d/image.rb | 4 | ||||
| -rw-r--r-- | lib/ruby2d/line.rb | 6 | ||||
| -rw-r--r-- | lib/ruby2d/rectangle.rb | 4 | ||||
| -rw-r--r-- | lib/ruby2d/renderable.rb | 4 | ||||
| -rw-r--r-- | lib/ruby2d/text.rb | 4 |
5 files changed, 5 insertions, 17 deletions
diff --git a/lib/ruby2d/image.rb b/lib/ruby2d/image.rb index 0516f4f..236df19 100644 --- a/lib/ruby2d/image.rb +++ b/lib/ruby2d/image.rb @@ -27,9 +27,5 @@ module Ruby2D @color = Color.new(c) end - def contains?(x, y) - @x < x and @x + @width > x and @y < y and @y + @height > y - end - end end diff --git a/lib/ruby2d/line.rb b/lib/ruby2d/line.rb index e817acb..8beb8ff 100644 --- a/lib/ruby2d/line.rb +++ b/lib/ruby2d/line.rb @@ -32,9 +32,9 @@ module Ruby2D # the width. For reference: # https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line def contains?(x, y) - points_distance(x1, y1, x, y) < length and - points_distance(x2, y2, x, y) < length and - (((@y2 - @y1) * x - (@x2 - @x1) * y + @x2 * @y1 - @y2 * @x1).abs / length) < 0.5 * @width + points_distance(x1, y1, x, y) <= length && + points_distance(x2, y2, x, y) <= length && + (((@y2 - @y1) * x - (@x2 - @x1) * y + @x2 * @y1 - @y2 * @x1).abs / length) <= 0.5 * @width end private diff --git a/lib/ruby2d/rectangle.rb b/lib/ruby2d/rectangle.rb index 43b0db5..07ee19b 100644 --- a/lib/ruby2d/rectangle.rb +++ b/lib/ruby2d/rectangle.rb @@ -40,10 +40,6 @@ module Ruby2D update_coords(@x, @y, @width, h) end - def contains?(x, y) - @x < x and @x + @width > x and @y < y and @y + @height > y - end - private def update_coords(x, y, w, h) diff --git a/lib/ruby2d/renderable.rb b/lib/ruby2d/renderable.rb index 0e5da50..2599bc4 100644 --- a/lib/ruby2d/renderable.rb +++ b/lib/ruby2d/renderable.rb @@ -42,9 +42,9 @@ module Ruby2D def colour; self.color end def colour=(c); self.color = c end - # Add a contains method stub + # Check if given point is within a rectangle, by default (unless overridden) def contains?(x, y) - raise Error, "\`#contains?\` not implemented for this class yet" + x > @x && x < (@x + @width) && y > @y && y < (@y + @height) end end diff --git a/lib/ruby2d/text.rb b/lib/ruby2d/text.rb index 796cdb6..ea9a2a9 100644 --- a/lib/ruby2d/text.rb +++ b/lib/ruby2d/text.rb @@ -32,9 +32,5 @@ module Ruby2D @color = Color.new(c) end - def contains?(x, y) - @x < x and @x + @width > x and @y < y and @y + @height > y - end - end end |
