comment and tests

This commit is contained in:
Will McGugan
2022-05-06 16:39:03 +01:00
parent 4a2588068c
commit 580edb4f4b
2 changed files with 15 additions and 0 deletions

View File

@@ -423,8 +423,11 @@ class Widget(DOMNode):
container_region = self.content_region + container_geometry.region.origin container_region = self.content_region + container_geometry.region.origin
if widget_region in container_region: if widget_region in container_region:
# Widget is visible, nothing to do
return False return False
# We can either scroll so the widget is at the top of the container, or so that
# it is at the bottom. We want to pick which has the shortest distance
top_delta = widget_region.origin - container_region.origin top_delta = widget_region.origin - container_region.origin
bottom_delta = widget_region.origin - ( bottom_delta = widget_region.origin - (
container_region.origin container_region.origin

View File

@@ -132,6 +132,18 @@ def test_region_origin():
assert Region(1, 2, 3, 4).origin == Offset(1, 2) assert Region(1, 2, 3, 4).origin == Offset(1, 2)
def test_region_bottom_left():
assert Region(1, 2, 3, 4).bottom_left == Offset(1, 6)
def test_region_top_right():
assert Region(1, 2, 3, 4).top_right == Offset(4, 2)
def test_region_bottom_right():
assert Region(1, 2, 3, 4).bottom_right == Offset(4, 6)
def test_region_add(): def test_region_add():
assert Region(1, 2, 3, 4) + (10, 20) == Region(11, 22, 3, 4) assert Region(1, 2, 3, 4) + (10, 20) == Region(11, 22, 3, 4)
with pytest.raises(TypeError): with pytest.raises(TypeError):