PRO set_large_image_dimensions, group, xysize=xys ; not used yet ; provides little widget to set size of off screen render images ; Tom Abel: 2/00 ; ON_ERROR, 2 ;Return to caller if an error occurs. ; set defaults if noe value were provided IF (N_ELEMENTS(xys) EQ 0) THEN xys = 2000 state = {xysize:0} state.xysize = xys ; create my own base base = widget_base(title="x & y size for images", /COLUMN, UVALUE=state, $ GROUP_LEADER=group) wid_id = base X_VALUE = CW_FIELD(BASE, UVALUE = 'XSIZE', TITLE='Width and height', $ VALUE=xys, /INTEGER, /ALL_EVENTS) val = ['Set', 'Reset', 'Cancel'] DONE_BUTTON = CW_BGROUP( BASE, val, BUTTON_UVALUE=['SET','RESET','CANCEL'], COLUMN=3, UVALUE='BGROUP') WIDGET_CONTROL, base, /REALIZE XMANAGER, 'set_large_image_event', BASE, EVENT_HANDLER='SET_large_image_event' RETURN END PRO set_large_image_event, event @common_blocks.inc WIDGET_CONTROL, event.top, GET_UVALUE = state xs = state.xysize WIDGET_CONTROL, event.id, GET_UVALUE = eventuval eventval = event.value CASE 1 OF eventuval eq "XSIZE": widget_control, event.id, GET_VALUE = xs eventval eq "SET": BEGIN xy_sl_size = xs widget_control, draw_area, draw_xsize=xs, draw_ysize=xs WIDGET_CONTROL, DRAW_AREA, $ SET_DRAW_VIEW=[(xy_sl_size-wxysize)/2, (xy_sl_size-wxysize)/2] WIDGET_CONTROL, event.top, /DESTROY return END eventval eq "RESET": BEGIN xy_sl_size = wxysize widget_control, draw_area, draw_xsize=wxysize, draw_ysize=wxysize WIDGET_CONTROL, event.top, /DESTROY return END eventval eq "CANCEL": BEGIN WIDGET_CONTROL, event.top, /DESTROY return END ELSE: ENDCASE state.xysize = xs WIDGET_CONTROL, event.top, SET_UVALUE = state RETURN END