casa
5.7.0-16
|
#include <MWCPannerTool.h>
Public Member Functions | |
MWCPannerTool (Display::KeySym keysym=Display::K_Pointer_Button1, casacore::Bool scrollingAllowed=true) | |
Constructor. More... | |
virtual | ~MWCPannerTool () |
Destructor. More... | |
virtual void | reset (casacore::Bool skipRefresh=false) |
Reset to non-showing, non-active. More... | |
Public Member Functions inherited from casa::MultiWCTool | |
MultiWCTool (const Display::KeySym &keysym=Display::K_Pointer_Button1, bool enable_events=true) | |
Constructor taking the primary key to which this tool will respond. More... | |
virtual | ~MultiWCTool () |
Destructor. More... | |
virtual void | addWorldCanvas (WorldCanvas &worldcanvas) |
Add/remove a WorldCanvas from the control of this tool. More... | |
virtual void | removeWorldCanvas (WorldCanvas &worldcanvas) |
virtual void | addWorldCanvases (PanelDisplay *pdisp) |
Add/Remove a list of WorldCanvases from PanelDisplay. More... | |
virtual void | removeWorldCanvases (PanelDisplay *pdisp) |
virtual void | enable () |
Switch the tool on/off - this simply registers or unregisters the event handlers on the WorldCanvases. More... | |
virtual void | disable () |
virtual void | operator() (const WCPositionEvent &ev) |
Required operators for event handling - these are called when events occur, and distribute the events to the "user-level" methods. More... | |
virtual void | operator() (const WCMotionEvent &ev) |
default sends event to cout More... | |
virtual void | operator() (const WCRefreshEvent &ev) |
original handler interface (still used for WCRefreshEvents) More... | |
Public Member Functions inherited from casa::DisplayTool | |
virtual | ~DisplayTool () |
Destructor. More... | |
virtual void | setKey (const Display::KeySym &keysym) |
Set/get which key to catch. More... | |
virtual Display::KeySym | getKey () const |
Public Member Functions inherited from casa::WCPositionEH | |
WCPositionEH () | |
Default Constructor Required. More... | |
virtual | ~WCPositionEH () |
Destructor. More... | |
Public Member Functions inherited from casa::WCMotionEH | |
WCMotionEH () | |
Default Constructor Required. More... | |
virtual | ~WCMotionEH () |
Destructor. More... | |
Public Member Functions inherited from casa::WCRefreshEH | |
WCRefreshEH () | |
Default Constructor Required. More... | |
virtual | ~WCRefreshEH () |
Destructor. More... | |
Public Member Functions inherited from casa::DisplayEH | |
virtual void | handleEvent (DisplayEvent &) |
Classes that contain this interface (i.e., derive from it) can override this method to implement actions for whatever types of DisplayEvent they're interested in. More... | |
virtual | ~DisplayEH () |
Public Member Functions inherited from casa::DTVisible | |
DTVisible () | |
Default constructor. More... | |
virtual | ~DTVisible () |
Destructor. More... | |
virtual casacore::String | drawColor () const |
Return the color to use. More... | |
virtual casacore::Int | lineWidth () const |
Return the line width to use. More... | |
virtual casacore::Double | doubleClickInterval () const |
Return the double click interval (in seconds). More... | |
Protected Member Functions | |
virtual void | keyPressed (const WCPositionEvent &) |
Functions called by the base class mouse event handling operators - these maintain the state of the pan vector and order it to be drawn via refresh(), send the pan request to the WC, and pass on notice of the pan (zoomed()) when it is complete. More... | |
virtual void | keyReleased (const WCPositionEvent &) |
virtual void | moved (const WCMotionEvent &, const viewer::region::region_list_type &) |
virtual void | otherKeyPressed (const WCPositionEvent &) |
virtual void | draw (const WCRefreshEvent &, const viewer::region::region_list_type &) |
draw the pan vector on a PixelCanvas. More... | |
virtual void | zoomed (const casacore::Vector< casacore::Double > &, const casacore::Vector< casacore::Double > &) |
Output callback to indicate that we have zoomed. More... | |
Protected Member Functions inherited from casa::MultiWCTool | |
virtual void | otherKeyReleased (const WCPositionEvent &) |
virtual void | updateRegion () |
virtual void | clicked (casacore::Int, casacore::Int) |
virtual void | doubleClicked (casacore::Int, casacore::Int) |
virtual void | refresh () |
Copy back-to-front buffer (erasing all MWCTool drawings), then cause this (and all MWCTools on current WC's PC) to draw (or not draw) themselves, according to their current state. More... | |
virtual void | setClipToDrawArea () |
Cause subsequent drawing commands to be clipped to the current WC (or its drawing area). More... | |
virtual void | setClipToWC () |
virtual void | resetClip () |
Protected Member Functions inherited from casa::DisplayTool | |
DisplayTool (const Display::KeySym &keysym=Display::K_Pointer_Button1) | |
Constructor taking a key to which this tool will initially be attached, typically one of the pointer buttons. More... | |
DisplayTool (const DisplayTool &other) | |
Copy constructor - construct a new DisplayTool from other , using copy semantics. More... | |
DisplayTool & | operator= (const DisplayTool &other) |
Copy assignment using copy semantics. More... | |
Display::KeyModifier | keyModifiers () |
Return the modifier mask. More... | |
Protected Member Functions inherited from casa::DTVisible | |
DTVisible (const DTVisible &other) | |
(Required) copy constructor. More... | |
DTVisible & | operator= (const DTVisible &other) |
(Required) copy assignment. More... | |
Private Member Functions | |
virtual void | pan (casacore::Vector< casacore::Double > &shift) |
execute the pan. More... | |
Private Attributes | |
casacore::Bool | itsActive |
Should we respond to mouse movement and button release? Should we draw? Set when the button is pushed in one of the tool's WCs. More... | |
casacore::Int | itsX1 |
pixel coordinates of the pan vector. More... | |
casacore::Int | itsY1 |
casacore::Int | itsX2 |
casacore::Int | itsY2 |
casacore::Bool | itsScrollingAllowed |
allow scrolling via arrow keys, et. More... | |
casacore::Double | itsLastScrollTime |
prevents key repeat from piling up scroll events, if refresh can't keep up with them More... | |
casacore::Int | itsLastKey |
Additional Inherited Members | |
Protected Attributes inherited from casa::MultiWCTool | |
WorldCanvas * | itsCurrentWC |
WC being (or to be) drawn on (may be 0 initially). More... | |
Public interface
<prerequisites> MWCTool </prerequisites>
MWCPannerTool stands for MultiWorldCanvas Panner Tool
This class provides panning functionality. The zoomed() function should be overriden to catch the event, if needed.
The pan line is drawn by dragging the mouse from one point to another. The release of the mouse button triggers the movement of the image by the same displacement.
The Tool also responds to the arrow keys, scroll wheel, et. al., moving the zoom window in the same direction through the image. A constructor parameter is provided to turn these features off, if needed.
Panning is a common function in most visualization applications
Definition at line 81 of file MWCPannerTool.h.
casa::MWCPannerTool::MWCPannerTool | ( | Display::KeySym | keysym = Display::K_Pointer_Button1 , |
casacore::Bool | scrollingAllowed = true |
||
) |
Constructor.
|
virtual |
Destructor.
|
protectedvirtual |
draw the pan vector on a PixelCanvas.
(To be called only by the base class refresh event handler).
Reimplemented from casa::MultiWCTool.
|
protectedvirtual |
Functions called by the base class mouse event handling operators - these maintain the state of the pan vector and order it to be drawn via refresh(), send the pan request to the WC, and pass on notice of the pan (zoomed()) when it is complete.
functions
Reimplemented from casa::MultiWCTool.
|
protectedvirtual |
Reimplemented from casa::MultiWCTool.
|
protectedvirtual |
Reimplemented from casa::MultiWCTool.
|
protectedvirtual |
Reimplemented from casa::MultiWCTool.
|
privatevirtual |
execute the pan.
shift is the (2-element) shift vector for the zoom window, in linear coordinates. Resets the tool, removing the line (if any) from screen
|
virtual |
Reset to non-showing, non-active.
Refreshes if necessary to erase (unless skipRefresh==true). (Does not unregister from WCs or disable future event handling).
Reimplemented from casa::MultiWCTool.
|
inlineprotectedvirtual |
Output callback to indicate that we have zoomed.
Override to handle, if needed.
Definition at line 116 of file MWCPannerTool.h.
|
private |
Should we respond to mouse movement and button release? Should we draw? Set when the button is pushed in one of the tool's WCs.
Definition at line 128 of file MWCPannerTool.h.
|
private |
Definition at line 140 of file MWCPannerTool.h.
|
private |
prevents key repeat from piling up scroll events, if refresh can't keep up with them
Definition at line 139 of file MWCPannerTool.h.
|
private |
|
private |
pixel coordinates of the pan vector.
1 = anchor, 2 = new position.
Definition at line 131 of file MWCPannerTool.h.
|
private |
Definition at line 131 of file MWCPannerTool.h.
|
private |
Definition at line 131 of file MWCPannerTool.h.
|
private |
Definition at line 131 of file MWCPannerTool.h.