The lines do not wrap on my Galaxy if I turn it sideways.

Not bad the otherway round either.
 On Dec 15, 2013 5:43 AM, "Raul Miller" <rauldmil...@gmail.com> wrote:

> Here's another draft. I do not know if anyone else has been able to
> run this code (needs j602 and opengl), or cares to, but this is as
> much an attempt on my part to resolve emailing issues as it is to
> explain or propagate the code.
>
> Steps I have taken here include making sure no lines are longer than
> 72 characters and making sure that @ is never followed by a letter (I
> use @: instead).
>
> Anyways, here's a draft. I think it looks ok with send/undo so lets
> see how the mailing list and archival system treats it:
>
> coclass 'colourchoice'
> require 'jzopengl'
> coinsert 'jzopengl'
>
> Note 'wd'
>   p - parent window
>   s - scrollbar -- S will be numeric value 0..255
>       repesents distance along white/black diagonal
>   c - color display
> )
>
> NB. object constructor
> create=:3 :0
>   ogl=: ''conew'jzopengl'
>   wd 'pc p;'
>   wd 'xywh 0 0 10 256; cc s scrollbarv bottommove;'
>   S=: 127
>   wd 'set s 0 ',(":S),' 255 39;'
>   wd 'xywh 10 0 256 256; cc c isigraph opengl rightmove bottommove;'
>   wd 'pas 0 0; pshow;'
> )
>
> NB. event handlers
> p_close=: destroy
>
> p_c_paint=: 3 :0
>   rc__ogl''
>   glClear GL_COLOR_BUFFER_BIT
>   draw L:0 S {:: IMAGES
>   show__ogl''
> )
>
> p_s_button=: 3 :0
>   S=: 0 ". s
>   wd 'setinvalid c'
> )
>
> p_c_mbldown=: 3 :0
>   trac 1
> )
>
> p_c_mmove=: 3 :0
>   trac TRACK
> )
>
> p_c_mblup=: 3 :0
>   trac 0
> )
>
> NB. implementation
>
> destroy=: 3 :0
>   destroy__ogl''
>   wd'pclose'
>   codestroy''
> )
>
> NB. projection onto plane tangent to white/black axis of colour cube
> X0=: 1 _1 1 * %: 1 5 1%6
> Y0=: _1 0 1 * %: %2
> coords=: +/ .*"1&(X0,:Y0)"1
>
> rms=: +/ &.: *:"1 NB. "root mean square"
>
> NB. use gift wrapping algorithm to find drawable order
> NB. http://en.wikipedia.org/wiki/Gift_wrapping_algorithm
> split1=: ,:@{. ; }.
> car=:  0 {:: [     NB. ordered on convex hull
> cdr=:  1 {:: [     NB. not ordered yet
> NB. pick next corner based on angle:
> choose=: cdr #~ [: (= >./) -@^.@:rms@(cdr -"1 {:@:car)
> giftwrap=: i. 0 {:: (((car,]) ; cdr-.]) choose)^:(#@:cdr)@:split1
>
> CORNERPAIRS=: (#:i.8) {~ ~./:"1~8 8#:I.,1=rms-"1/~#:i.8
> CORNERVERTS=: (([ +"1 (85%~i.86) */ -~)/)"2 CORNERPAIRS
> NB. 256 = 86+85+85
> COLOURSLICE=: (rms <@((giftwrap@:coords{])^:(2<#))@~./. ]),/CORNERVERTS
> PALETTES=: (,. coords)&.> COLOURSLICE
> NB. make white and black slices be non-empty to avoid errors:
> PALETTES=: (<1 1 1 __ __ >."1 >254{PALETTES) 255} PALETTES
> PALETTES=: (<0 0 0 _ _ <."1 >1{PALETTES) 0} PALETTES
>
> decorate=:3 :0
>   NB. add small rectangles of solid color on edges of color slices
>   cy=.3{."1 y
>   ey=.3 4{"1 y
>   vy=. ey-"1(+/%#)ey
>   vec=. -(*-/ .* vy)*0,.0,.0,.0.01*(%rms)(vy-1|.vy)+/ .*0 _1,:1 0
>   y;(y,"1 2 (vec+y),:"1 (1|.y));(vec+y),"1 2 (vec+1|.y),:"1 (1|.y)
> )
>
> NB. also: put white first ("on top")
> IMAGES=:  decorate&.> |.PALETTES
>
> corner=: 3 :0
>   glColor3d 3{.y
>   glVertex2d 3 4{y
> )
>
> draw=: 3 :0"2
>   glBegin GL_POLYGON
>     corner"1 y
>   glEnd''
> )
>
> TRACK=: 0
> trac=: 3 :0
>   if. y+.TRACK do.
>     smoutput y,TRACK,2 {. 0".sysdata
>   end.
>   TRACK=: y
> )
>
> smoutput ''conew'colourchoice'
>
> Thanks,
>
> --
> Raul
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to