ui.gadgets.grid-lines: make it work with non-zero grid gap
parent
64bb5b45c4
commit
38ed0f477a
|
@ -1,9 +1,6 @@
|
|||
IN: ui.gadgets.grid-lines.tests
|
||||
USING: tools.test ui.gadgets.grid-lines ui.gadgets.grid-lines.tests colors ;
|
||||
|
||||
[ { 1 3 5 7 9 } ] [
|
||||
8 { 0 2 4 6 } horizontal { 2 2 } grid-line-offsets
|
||||
] unit-test
|
||||
USING: tools.test ui.gadgets ui.gadgets.grid-lines ui.gadgets.grid-lines.private
|
||||
ui.gadgets.grids.private accessors arrays ui.gadgets.grids sorting kernel ;
|
||||
|
||||
: 100x100 ( -- gadget ) <gadget> { 100 100 } >>dim ;
|
||||
|
||||
|
@ -22,6 +19,22 @@ USING: tools.test ui.gadgets.grid-lines ui.gadgets.grid-lines.tests colors ;
|
|||
compute-grid-lines natural-sort
|
||||
] unit-test
|
||||
|
||||
[
|
||||
{
|
||||
{ { 5 5 } { 5 115 } }
|
||||
{ { 5 5 } { 115 5 } }
|
||||
{ { 5 115 } { 115 115 } }
|
||||
{ { 115 5 } { 115 115 } }
|
||||
}
|
||||
] [
|
||||
100x100 1array
|
||||
1array
|
||||
<grid>
|
||||
{ 10 10 } >>gap
|
||||
dup prefer
|
||||
compute-grid-lines natural-sort
|
||||
] unit-test
|
||||
|
||||
[
|
||||
{
|
||||
{ { 0 0 } { 0 200 } }
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
USING: kernel accessors math namespaces opengl opengl.gl
|
||||
sequences math.vectors ui.gadgets ui.gadgets.grids
|
||||
ui.gadgets.grids.private ui.render math.rectangles
|
||||
fry locals arrays ;
|
||||
fry locals arrays assocs ;
|
||||
IN: ui.gadgets.grid-lines
|
||||
|
||||
TUPLE: grid-lines color ;
|
||||
|
@ -12,15 +12,11 @@ C: <grid-lines> grid-lines
|
|||
|
||||
<PRIVATE
|
||||
|
||||
: grid-line-offsets ( n ns orientation gap -- seq )
|
||||
[ swap suffix ] [ v. 2/ ] 2bi* '[ _ + ] map ;
|
||||
|
||||
:: (compute-grid-lines) ( grid n ns orientation -- seq )
|
||||
n ns orientation grid gap>> grid-line-offsets [
|
||||
[ orientation n*v ]
|
||||
[ dup 2array grid dim>> swap orientation set-axis ]
|
||||
bi 2array
|
||||
] map ;
|
||||
grid gap>> :> gap
|
||||
ns n suffix gap orientation v. '[ _ - orientation n*v ] map
|
||||
dup grid dim>> gap v- orientation reverse v* '[ _ v+ ] map
|
||||
[ [ gap [ 2/ ] map v+ ] map ] bi@ zip ;
|
||||
|
||||
: compute-grid-lines ( grid -- lines )
|
||||
dup <grid-layout>
|
||||
|
|
Loading…
Reference in New Issue