diff options
| author | danhealy <[email protected]> | 2020-11-15 17:25:38 -0800 |
|---|---|---|
| committer | danhealy <[email protected]> | 2020-11-15 17:25:38 -0800 |
| commit | c5cf8071fc0788022e72ff4e56cd9d96e3cda0ab (patch) | |
| tree | d18256890aedc8caebfa79788213c9c216d6e9d3 /dragon | |
| parent | 128fa1d90cea6289605a49daf56a0cbb72e2dd28 (diff) | |
| download | dragonruby-game-toolkit-contrib-c5cf8071fc0788022e72ff4e56cd9d96e3cda0ab.tar.gz dragonruby-game-toolkit-contrib-c5cf8071fc0788022e72ff4e56cd9d96e3cda0ab.zip | |
Allow #inside_rect? to receive a tolerance arg like #intersect_rect?
Diffstat (limited to 'dragon')
| -rw-r--r-- | dragon/geometry.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/dragon/geometry.rb b/dragon/geometry.rb index b16c5b7..db3ebfc 100644 --- a/dragon/geometry.rb +++ b/dragon/geometry.rb @@ -26,8 +26,8 @@ module GTK # Returns true if a primitive's rectangle is entirely inside another primitive's rectangle. # @gtk - def inside_rect? outer - Geometry.inside_rect? self, outer + def inside_rect? outer, tolerance = 0.0 + Geometry.inside_rect? self, outer, tolerance end # Returns true if a primitive's rectangle overlaps another primitive's rectangle. @@ -308,11 +308,11 @@ S end # @gtk - def self.inside_rect? inner_rect, outer_rect - inner_rect.x >= outer_rect.x && - inner_rect.right <= outer_rect.right && - inner_rect.y >= outer_rect.y && - inner_rect.top <= outer_rect.top + def self.inside_rect? inner_rect, outer_rect, tolerance = 0.0 + inner_rect.x + tolerance >= outer_rect.x - tolerance && + inner_rect.right - tolerance <= outer_rect.right + tolerance && + inner_rect.y + tolerance >= outer_rect.y - tolerance && + inner_rect.top - tolerance <= outer_rect.top + tolerance rescue Exception => e raise e, ":inside_rect? failed for inner_rect: #{inner_rect} outer_rect: #{outer_rect}." end |
