From d186f10f5282adde73d06986bdcf75fb74dffcc2 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Fri, 13 Feb 2009 19:16:37 -0600 Subject: [PATCH] Don't position popups at negative x co-ordinates --- basis/math/rectangles/positioning/positioning-tests.factor | 7 +++++++ basis/math/rectangles/positioning/positioning.factor | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/basis/math/rectangles/positioning/positioning-tests.factor b/basis/math/rectangles/positioning/positioning-tests.factor index 0a17d70a12..42ebe9d7c7 100644 --- a/basis/math/rectangles/positioning/positioning-tests.factor +++ b/basis/math/rectangles/positioning/positioning-tests.factor @@ -36,4 +36,11 @@ IN: math.rectangles.positioning.tests { 50 50 } { 100 100 } popup-loc +] unit-test + +[ { 0 20 } ] [ + { -50 70 } { 0 0 } <rect> + { 50 50 } + { 100 100 } + popup-loc ] unit-test \ No newline at end of file diff --git a/basis/math/rectangles/positioning/positioning.factor b/basis/math/rectangles/positioning/positioning.factor index 1af8b6e14e..37b10b357d 100644 --- a/basis/math/rectangles/positioning/positioning.factor +++ b/basis/math/rectangles/positioning/positioning.factor @@ -7,7 +7,7 @@ IN: math.rectangles.positioning ! in a semi-intelligent manner : popup-x ( visible-rect popup-dim screen-dim -- x ) - [ loc>> first ] 2dip swap [ first ] bi@ - min ; + [ loc>> first ] 2dip swap [ first ] bi@ - min 0 max ; : preferred-y ( visible-rect -- y ) [ loc>> ] [ dim>> ] bi [ second ] bi@ + ;