; SDW : See the file VERSION.sdw for version and date information. pro sdw,image,extver=extver,extnam=extnam,size=size,printer=printer common sdwcom,c_image,c_extver,c_extnam,c_zoom,c_size,c_printer,doexit,pressed common sdwcom1, im, him, ptr, drawfield_id, maxdim, mask, maskim, newimage common sdwcom2, ixdim, iydim, plotmin, plotmax, goodmaskval, fix0, fiy0 common sdwcom3, logscale, oldplotmin, oldplotmax, immin, immax, boxx0, boxy0 common sdwcom5, intmask common sdwsave1, maskfile, maskext, maskeori, maskgoodval if xregistered('sdw_widget') then return ; Don't allow more than one SDW. tmp = size(image) if (tmp(1) ne 0) then begin c_image = image endif else begin c_image = 'default' endelse if (keyword_set(extver)) then begin c_extver = extver endif else begin c_extver = -1 endelse if (keyword_set(extnam)) then begin c_extnam = extnam endif else begin c_extnam = 'xyzzx' endelse if (keyword_set(size)) then begin c_size = size endif else begin c_size = 800 endelse if (keyword_set(printer)) then begin c_printer = printer endif else begin c_printer = getenv('PRINTER') endelse fix0 = -1 fiy0 = -1 c_zoom = 1 mask = 0 newimage = 1 goodmaskval = 0 logscale = 0 oldplotmin = 0.0 oldplotmax = 1.0 plotmin = 0.0 plotmax = 1.0 intmask = -1 sdw_savepar ; Main loop ; Send the image off to be displayed, or the logo image. ; When it gets back check for zoom changes, image changes, etc. ; If its a terminate command, then terminate, otherwise, redisplay. doexit = 0 doit: sdw_widget if (doexit ne 1) then goto, doit end