mrzoom__define.pro


Name:
mrZoom
Methods:
Constructor
mrZoom::init                : constructor, part II

Event handling
mrZoom::selfregister        : register with a display object
mrZoom::unregister          : unregister

Private
mrZoom::mrDisplayEvtHandler : the event handler and broker for mr*display
mrZoom::buttonDblClickEvt   : handling of double clicks
mrZoom::buttonPressEvt      : handling of button presses
mrZoom::buttonReleaseEvt    : handling of button release
mrZoom::buttonMotionEvt     : handling of motion while button pressed
mrZoom::update              : get scaling and update text
mrZoom__define              : the constructor
mrZoom::cleanup             : the destructor
Description:
A plugin object for mrdisplay to provide zoom functionality
Example code:
The following code snippet creates a mrdisplay and a zoom object, then
registers the zoom with mrdisplay on left mouse button events.
< >
display = obj_new('MRdisplay', baseid, 256, 256, 256, 256 )
zoom    = obj_new('mrZoom')
zoom->selfregister( display, button=1 )  ; register on left mouse button
display->setImg, imgpointer              ; set the image
display->display                         ; display image
display->activate                        ; so mrdisplay creates events

Name:
mrZoom::init
Syntax:
x = obj_new('mrZoom', /inscreen, sensitivity=float)
Arguments:
inscreen
flag - display zoom factor in display window if set (=default)
sensitivity
float: sensitivity to mouse movements, default = 0. (=automatic)
Description:
The constructor
Resonable values for sensitivity are around 1./canvas size in pixels
If unset or set to '0.', mrZoom automatically sets the sensitivity
depending on the canvas size

Name:
mrZoom::cleanup
Description:
cleanup at object destruction

Name:
mrZoom::selfregister
Syntax:
obj->selfregister, display, button=int, /border
Arguments:
display
The mrDisplay object with which to register
button
The button number upon which to zoom; left=1, middle=2 (def), right=3
border
If set, the mouse has to be in the right 15% of the mrDisplay object
to trigger zooming. To be combined with the corresponding /noborder
keyword of mrPan.
Description:
Register with an mrDisplay object

Name:
mrZoom::unregister
Syntax:
obj->unregister
Description:
unregisters with a mrdisplay object. It is a good idea to unregister
before destroying the mrdisplay or the mrZoom object.

Name:
mrZoom::mrDisplayEvtHandler
Syntax:
obj->mrDisplayEvtHandler, evt
Arguments:
evt
Pointer to the mrDisplay event structure
Description:
Dispatch the event coming from mrDisplay

Name:
mrZoom::buttonPressEvt
Syntax:
obj->buttonPressEvt, evt
Arguments:
evt
Pointer to the mrDisplay event structure
Description:
Event handler for button press events
Prints the current contrast scaling vals in the lower right corner
Interpolation of the display object is switched off while zooming

Name:
mrZoom::buttonDblClickEvt
Syntax:
obj->buttonDblClickEvt, evt
Arguments:
evt
Pointer to the mrDisplay event structure
Description:
Fit image to display screen size on double click

Name:
mrZoom::buttonReleaseEvt
Syntax:
obj->buttonReleaseEvt, evt
Arguments:
evt
Pointer to the mrDisplay event structure
Description:
Event handler for button release events

Name:
mrZoom::buttonMotionEvt
Syntax:
obj->buttonMotionEvt, evt
Arguments:
evt
Pointer to the mrDisplay event structure
Description:
Event handler for motion events while a button is pressed

Name:
mrZoom::update
Syntax:
obj->update
Description:
get scaling from display object and set text

Name:
mrZoom__define
Type:
Private Procedure (constructor)

Last modified: Mon Nov 29 13:30:07 2004