charts.lines: add flip-y-axis
parent
be999902fd
commit
467bc37137
|
@ -220,6 +220,17 @@ IN: charts.lines.tests
|
|||
drawable-chunks [ { } like ] map
|
||||
] unit-test
|
||||
|
||||
{ 0 } [ -10 10 middle ] unit-test
|
||||
{ 15 } [ 10 20 middle ] unit-test
|
||||
{ -81/2 } [ -50 -31 middle ] unit-test
|
||||
|
||||
{
|
||||
{ { { 0 300 } { 1 200 } { 2 150 } { 3 100 } { 4 0 } } }
|
||||
} [
|
||||
{ { { 0 0 } { 1 100 } { 2 150 } { 3 200 } { 4 300 } } }
|
||||
{ 0 300 } flip-y-axis
|
||||
] unit-test
|
||||
|
||||
{ { } }
|
||||
[ { } { } clip-data ] unit-test
|
||||
|
||||
|
|
|
@ -206,6 +206,11 @@ SYMBOL: elt
|
|||
monotonic-split-slice
|
||||
] 2keep (drawable-chunks) ;
|
||||
|
||||
: middle ( min max -- middle ) dupd swap - 2 / + ;
|
||||
|
||||
: flip-y-axis ( chunks ymin,ymax -- chunks )
|
||||
first2 middle 2 * '[ [ first2 _ swap - 2array ] map ] map ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: draw-line ( seq -- )
|
||||
|
@ -228,6 +233,6 @@ M: line draw-gadget*
|
|||
dup parent>> dup chart? [
|
||||
chart-axes swap
|
||||
[ color>> gl-color ] [ data>> ] bi
|
||||
dupd clip-data swap second drawable-chunks
|
||||
[ [ draw-line ] each ] unless-empty
|
||||
dupd clip-data swap second [ drawable-chunks ] keep
|
||||
flip-y-axis [ [ draw-line ] each ] unless-empty
|
||||
] [ 2drop ] if ;
|
||||
|
|
Loading…
Reference in New Issue