spedas/gui/display/
spd_ui_draw_object__define.pro
NAME: spd_ui_draw_object PURPOSE: This object generates an object graphics tree using the IDLgr* objects that are built into IDL. It generates this tree by querying the loaded data object and the window storage object to get the settings generated by the panel. This object also performs other utility operations related to drawing. These include animations of vertical bars and markers, updating the legend by performing a lookup in a hashed version of the plotted data, and reporting information about the current display.(Cursor segment selected, range of displayed data, etc...) There are a few major functions in this object. #1 'update': will update the draw area to correspond to new settings #2 'setCursor' : actually makes the draw object do all the animation updates #3 'draw' : use it to force the object to redraw the draw area.\ #4 'getInfo(panelIndex)' : get a struct with information about a panel in the currently drawn display This includes information like the actual range and scaling for each axis, the number of tics, etc... NOTES: 1. In almost all cases ranges will be stored and passed around as 2-element arrays. If they are on log scaled axis, the ranges will be in log space, this tends to make some calculations simpler(and others more complex) By log space, I mean, if scaling eq 1 then range = alog10(normalRange), if scaling eq 2 then range = alog(normalRange) 2. The codes used for different scaling values are consistent. 0 indicates linear scaling, 1 indicates base 10 logarithm, 2 indicates natural logarithm 3. Positions in this code are generally specified in one of three different coordinate systems. a. They are normalized to the draw area. So [.5,.5] is the center of the draw area. b. They are normalized to the panel. So [.5,.5] is the center of a panel. c. They are specified in pixels. Often when pixels are used, the value used may actually be 2x or 4x the actual number of screen pixels to prevent aliasing. Somewhat ambiguously, c. is sometimes called points(because it is a scaled number of pixels). This is not the same as the measurement in note 5. Rectangles(like panels) will normally be specified using two variables, which are each 2 element doubles. xpos = [xstart,xstop], ypos = [ystart,stop] These are absolute locations. The alternative representation [xstart,xsize],[ystart,ysize], is rarely, if ever, used as a parameter, although sizes are used for various computations throughout the code. 4. distances that aren't specified in the above coordinates are often specified in pts. This is a desktop publishing standard, that ideally is consistent across output devices. 1 pt should be 127/360 mm. The goal is to make all output consistent across output devices. $LastChangedBy: jimm $ $LastChangedDate: 2014-02-11 10:54:32 -0800 (Tue, 11 Feb 2014) $ $LastChangedRevision: 14326 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/spedas/gui/display/spd_ui_draw_object__define.pro $
Class description for spd_ui_draw_object
Fields
Fields in spd_ui_draw_object
- CURRENTMARKERS ptr_new()
- CURRENTPAGESIZE [0.00000, 0.00000]
- CURSORLOC [0.0000000D, 0.0000000D]
- DESTINATION obj_new()
- DYNAMICVIEWS obj_new()
- FANCOMPRESSIONFACTOR 0.0000000D
- HBARON 0S
- HISTORYWIN obj_new()
- LEGENDON 0S
- LINERES 0.0000000D
- MARKERIDX ptr_new()
- MARKERON 0S
- MARKERSTART [0.0000000D, 0.0000000D]
- MAXTICKNUM 0S
- NCOLS 0S
- NROWS 0S
- PAGEVIEW obj_new()
- PANELINFO ptr_new()
- PANELVIEWS obj_new()
- POINTMAX 0S
- POSTSCRIPT 0B
- RUBBERON 0S
- RUBBERSTART [0.0000000D, 0.0000000D]
- RUBBERVIEW obj_new()
- SCENE obj_new()
- SPECRES 0.0000000D
- STATICVIEWS obj_new()
- STATUSBAR obj_new()
- VBARON 0S
Routines
Routines from spd_ui_draw_object__define.pro
Routine details
top source spd_ui_draw_object::Init
result = spd_ui_draw_object::Init(destination, statusbar, historyWin)
Parameters
- destination
- statusbar
- historyWin
File attributes
Modification date: | Thu Feb 13 16:41:37 2014 |
Lines: | 63 |