hogan@bisco.kodak.com (Patrick Hogan) (02/26/91)
Fellow readers, This is my first time posting, so please forgive me if I'm posting this in the wrong news group. By chance if I am posting in the wrong place, please direct me to the correct news group !! Anyway, I'm attempting to do some NeWS programming and meeting some resistence. I create a class, ColorCanvas from ClassCanvas, which is later instanciated later into another class. (This is bound to get confusing, at the end I have an example) I attempt to read a sunraster file via readcanvas in to the ColorCanvas Canvas entry in its dictionary. Note that the Canvas entry is actually in its parents dictionary, ClassCanvas. I also have a button that is "Next" with will determine the next raster file I'm attempting to view on the canvas from an array. The delema is that nothing is displayed on the canvas, * the canvas is mapped * retained is false * no error message is displayed. I'm a bit confused, since I looked through all kinds of books, as well as the examples in $OPENWINHOME/demo (specifically "imagedemo") but to no avail. Any ideas on what is happening would be GREATLY appreciated. Thanks in advance for any input you may have. Also If I can elaborate on any thing just let me know. Example:****************************************** /SimpleBag Classbag [] classbegin /newinit { /newinit super send } ..... /PaintCanvas nullproc def classend /ColorCanvas ClassCanvas dictbegin /ImageArray null def /ImageName null def /TheImage null def /ImageExt (.im8) def /ImageWidth 0 def /ImageHeight 0 def /ImageIndex -1 def dictend classbegin %% A couple procedures to set up an array - no biggie. /newinit { %% Call routines to build image array /newinit super send } def /UpdatePicture { /TheImage { ImageArray ImageIndex get ImageExt append imagedirectory (/) append exch append readcanvas } store gsave %%% Is ther something else I need to be doing, is there another variable %%% I need set, or have I declared something wrong. Canvas setcanvas TheImage imagecanvas grestore }def /viewraster { console (Reading Canvas: %\n) [ ImageArray ImageIndex get ImageExt append imagedirectory (/) append exch append ] fprintf /UpdatePicture self send }def /nextrast { ImageIndex 1 add dup 10 lt { /ImageIndex exch def } { pop /ImageIndex 0 def} ifelse /viewraster self send } def classend def /ControlArea FlexBag [] classbegin /PaintCanvas nullproc def /RegisterClient { 0 0 /preferredsize 3 index send /reshape 5 index send /RegisterClient super send }def classend def /cc framebuffer /new ColorCanvas send def /next (Next) { /nextrast /sendtarget 3 -1 roll send} framebuffer /new OpenLookButton send def /fb framebuffer /new ControlArea send def null [/nw {/nw self POSITION 10 -10 XYADD} next] /addclient fb send 10 10 /setpadding fb send /win [fb cc SimpleBag] [/Footer false] framebuffer /new OpenLookBaseFrame send def /place win send /activate win send /map win send newprocessgroup ************************************************************************ Patrick Hogan hogan@bisco.Kodak.Com Voice: (716) 726-7291 -- ----------------------------------------------------------- Patrick Hogan