All pastes #374026 Raw Edit

Unnamed

public text v1 · immutable
#374026 ·published 2007-02-27 04:57 UTC
rendered paste body
: 4rot { a b c d }
  b c d a ;

: 4swap { a b c d e f g h }
  e f g h a b c d ;

: 4dup { a b c d }
  a b c d a b c d ;

: 4drop 
  2drop 2drop ;

: 4over { a b c d e f g h }
  a b c d e f g h a b c d ;

: 8dup
  4over 4over ;

: gradify-rgba-deltas { r1 g1 b1 a1  r2 g2 b2 a2 }
  r2 r1 - 
  g2 g1 -
  b2 b1 -
  a2 a1 - ;


: gradify-rgba ( rgba-addr -- r g b a )
  dup c@ swap ( r addr )
  1 + dup c@ swap ( r g addr )
  1 + dup c@ swap ( r g b addr )
  1 + c@ ;
  

: gradify-line ( r1 g1 b1 a1 ) { addr width rdelta gdelta bdelta adelta }
  width 0 ?do 
    4dup
    \ red
    4rot ( g b a r )

    i rdelta width */ + addr c!
    addr 1 + to addr

    rot ( b a g )
    i gdelta width */ + addr c!
    addr 1 + to addr

    swap ( a b )
    i bdelta width */ + addr c!
    addr 1 + to addr

    ( a )
    i adelta width */ + addr c!
    addr 1 + to addr
  loop 
  4drop ;