From eb54b95b373c900de44bc38c042abddb4fddb774 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 17 Feb 2009 22:42:48 -0600 Subject: [PATCH] Fix grid-lines rendering --- .../grid-lines/grid-lines-tests.factor | 42 ++++++++++++------- basis/ui/gadgets/grid-lines/grid-lines.factor | 2 +- basis/ui/gadgets/tables/tables.factor | 2 +- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/basis/ui/gadgets/grid-lines/grid-lines-tests.factor b/basis/ui/gadgets/grid-lines/grid-lines-tests.factor index 55feed04df..4cbbffd4b0 100644 --- a/basis/ui/gadgets/grid-lines/grid-lines-tests.factor +++ b/basis/ui/gadgets/grid-lines/grid-lines-tests.factor @@ -6,10 +6,10 @@ ui.gadgets.grids.private accessors arrays ui.gadgets.grids sorting kernel ; [ { - { { 0 0 } { 0 100 } } - { { 0 0 } { 100 0 } } - { { 0 100 } { 100 100 } } - { { 100 0 } { 100 100 } } + { { 0 0 } { 0 101 } } + { { 0 0 } { 101 0 } } + { { 0 100 } { 101 100 } } + { { 100 0 } { 100 101 } } } ] [ 100x100 1array @@ -21,10 +21,10 @@ ui.gadgets.grids.private accessors arrays ui.gadgets.grids sorting kernel ; [ { - { { 5 5 } { 5 115 } } - { { 5 5 } { 115 5 } } - { { 5 115 } { 115 115 } } - { { 115 5 } { 115 115 } } + { { 5 5 } { 5 116 } } + { { 5 5 } { 116 5 } } + { { 5 115 } { 116 115 } } + { { 115 5 } { 115 116 } } } ] [ 100x100 1array @@ -37,12 +37,12 @@ ui.gadgets.grids.private accessors arrays ui.gadgets.grids sorting kernel ; [ { - { { 0 0 } { 0 200 } } - { { 0 0 } { 200 0 } } - { { 0 100 } { 200 100 } } - { { 0 200 } { 200 200 } } - { { 100 0 } { 100 200 } } - { { 200 0 } { 200 200 } } + { { 0 0 } { 0 201 } } + { { 0 0 } { 201 0 } } + { { 0 100 } { 201 100 } } + { { 0 200 } { 201 200 } } + { { 100 0 } { 100 201 } } + { { 200 0 } { 200 201 } } } ] [ 100x100 100x100 2array @@ -51,4 +51,18 @@ ui.gadgets.grids.private accessors arrays ui.gadgets.grids sorting kernel ; { 200 200 } >>dim compute-grid-lines natural-sort +] unit-test + +[ + { + { { 0 0 } { 0 3 } } + { { 2 0 } { 2 3 } } + { { 0 0 } { 3 0 } } + { { 0 2 } { 3 2 } } + } +] [ + { 1 1 } >>dim + 1array 1array { 1 1 } >>gap + dup prefer + compute-grid-lines ] unit-test \ No newline at end of file diff --git a/basis/ui/gadgets/grid-lines/grid-lines.factor b/basis/ui/gadgets/grid-lines/grid-lines.factor index ef9264668b..4ba97e3e3a 100755 --- a/basis/ui/gadgets/grid-lines/grid-lines.factor +++ b/basis/ui/gadgets/grid-lines/grid-lines.factor @@ -15,7 +15,7 @@ C: grid-lines :: (compute-grid-lines) ( grid n ns orientation -- seq ) grid gap>> :> gap ns n suffix gap orientation v. '[ _ - orientation n*v ] map - dup grid dim>> gap v- orientation reverse v* '[ _ v+ ] map + dup grid dim>> gap v- orientation reverse [ v* ] keep '[ _ _ v+ v+ ] map [ [ gap [ 2/ ] map v+ ] map ] bi@ zip ; : compute-grid-lines ( grid -- lines ) diff --git a/basis/ui/gadgets/tables/tables.factor b/basis/ui/gadgets/tables/tables.factor index c8c4d7c762..073268e58d 100644 --- a/basis/ui/gadgets/tables/tables.factor +++ b/basis/ui/gadgets/tables/tables.factor @@ -162,7 +162,7 @@ M: table layout* : column-loc ( font column width align -- loc ) [ [ cell-width ] dip swap - ] dip - * 0 2array ; + * >integer 0 2array ; : translate-column ( width gap -- ) + 0 2array gl-translate ;