charts.lines: add flip-y-axis
parent
be999902fd
commit
467bc37137
|
@ -220,6 +220,17 @@ IN: charts.lines.tests
|
||||||
drawable-chunks [ { } like ] map
|
drawable-chunks [ { } like ] map
|
||||||
] unit-test
|
] 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
|
[ { } { } clip-data ] unit-test
|
||||||
|
|
||||||
|
|
|
@ -206,6 +206,11 @@ SYMBOL: elt
|
||||||
monotonic-split-slice
|
monotonic-split-slice
|
||||||
] 2keep (drawable-chunks) ;
|
] 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>
|
PRIVATE>
|
||||||
|
|
||||||
: draw-line ( seq -- )
|
: draw-line ( seq -- )
|
||||||
|
@ -228,6 +233,6 @@ M: line draw-gadget*
|
||||||
dup parent>> dup chart? [
|
dup parent>> dup chart? [
|
||||||
chart-axes swap
|
chart-axes swap
|
||||||
[ color>> gl-color ] [ data>> ] bi
|
[ color>> gl-color ] [ data>> ] bi
|
||||||
dupd clip-data swap second drawable-chunks
|
dupd clip-data swap second [ drawable-chunks ] keep
|
||||||
[ [ draw-line ] each ] unless-empty
|
flip-y-axis [ [ draw-line ] each ] unless-empty
|
||||||
] [ 2drop ] if ;
|
] [ 2drop ] if ;
|
||||||
|
|
Loading…
Reference in New Issue