DisplayEvents


Detailed Description

A module providing event handling for the DisplayCanvases.

See below for an overview of the classes in this module.

Intended use:

Part of API

Review Status

Reviewed By:
None yet
Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

The module provides various classes that are responsible for "handling" "events"

Synopsis

This module contains classes which are used to handle position, motion and refresh events that occur on PixelCanvases and WorldCanvases. Position events occur when the user presses or releases a keyboard key or a mouse button when the window input focus is over a PixelCanvas or WorldCanvas. Motion events occur when the user moves the mouse over a PixelCanvas or a WorldCanvas. Refresh events occur for a variety of reasons, and arise when PixelCanvases or WorldCanvases need to redraw their contents.

The lowest level of event classes are those which describe the various events on the PixelCanvas. These comprise PCPositionEvent, PCMotionEvent and PCRefreshEvent. All of the information pertaining to a particular event will be stored in one of these classes. To receive these type of events, the programmer must register a class derived from PCPositionEH, PCMotionEH or PCRefreshEH (where the "EH" stands for Event Handler) with the appropriate PixelCanvas. Then any events of that type (Position, Motion or Refresh) will be distributed to the class that the programmer registered. The WorldCanvas has equivalent event storage classes in WCPositionEvent, WCMotionEvent and WCRefreshEvent, and equivalent event handling classes in WCPositionEH, WCMotionEH and WCRefreshEH.

It is important to note that none of the event handlers "consume" events. This means that all PixelCanvas events occuring on a particular PixelCanvas wil be distributed to all the event handlers registered on that PixelCanvas. Likewise, all WorldCanvas events for a particular WorldCanvas are distributed to all WorldCanvas event handlers registered on that WorldCanvas.

It is also critical for the programmer to be aware that in general, the WorldCanvas registers one instance of each of the PCPositionEH, PCMotionEH and PCRefreshEH type handler classes for its own use. These event handlers are responsible for constructing WorldCanvas event information objects (WCPositionEvent, WCMotionEvent and WCRefreshEvent) from the corresponding PixelCanvas events, and then call the appropriate handlers on the WorldCanvas. So the programmer must be careful that they handle each event once and only once - either on the PixelCanvas, or on the WorldCanvas, but not on both. There will be rare instances where handling events on both the WorldCanvas and its underlying PixelCanvas is necessary.

Example

Motivation

Any interactive display library must provide methods for the programmer to respond to user input. That is the reason for this module.

To Do


Modules

 DisplayEvents_internal_classes
 Internal DisplayEvents classes and functions.

Classes

class  casa::AnimatorRefEH
 WorldCanvas refresh event handler for Animator class. More...
class  casa::Animator
 Animation controller for WorldCanvasHolders. More...
class  casa::AniPosEH
 WorldCanvas position event handler for Animator. More...
class  casa::CrosshairEvent
 WorldCanvasEvent:contains info on the WC point selected by MWCCrosshairTool. More...
class  casa::DisplayEH
 class for handling any type of DisplayEvent. More...
class  casa::MultiWCTool
 Base class for MultiWorldCanvas event-based tools. More...
class  casa::MWCAnimator
 Animator for MultiWCHolder class. More...
class  casa::MWCCrosshairTool
 Base class for MultiWorldCanvas event-based crosshair tools. More...
class  casa::ResetCrosshairEvent
 Event sent to tell MWCCrosshairTool to reset. More...
class  casa::ResetRTRegionEvent
 Event sent to tell MWCRTRegionTool to reset. More...
class  casa::MWCPannerTool
class  casa::MWCPolylineTool
 Base class for WorldCanvas event-based polyline tools. More...
class  casa::MWCPolyTool
 Base class for WorldCanvas event-based polygon tools. More...
class  casa::MWCPTRegion
 WorldCanvas event-based polygon region drawer. More...
class  casa::MWCRectTool
 Base class for MultiWorldCanvas event-based rectangle tools. More...
class  casa::MWCRTRegion
 WorldCanvas event-based rectangle region drawer. More...
class  casa::MWCRTZoomer
 Multi WorldCanvas event-based zoomer. More...
class  casa::PCInvisTool
 Base implementation of PCTool for invisible (non-drawing) tools. More...
class  casa::PCITFiddler
 Colormap fiddling on the PixelCanvas. More...
class  casa::PCMotionEH
 PixelCanvas Event Handler for managing pointer motion events. More...
class  casa::PCMotionEvent
 Class which stores PixelCanvas motion event information. More...
class  casa::PCPositionEH
 PixelCanvas Event Handler for managing keyboard and mouse button events. More...
class  casa::PCPositionEvent
 Class which stores PixelCanvas position event information. More...
class  casa::PCRefreshEH
 WorldCanvas Event Handler for managing events. More...
class  casa::PCRefreshEvent
 Class which stores PixelCanvas refresh event information. More...
class  casa::PCTestPattern
 PixelCanvas test pattern display refresh event handler. More...
class  casa::PCToolPosEH
 PixelCanvas position event handler for PCTool. More...
class  casa::PCToolMotEH
 PixelCanvas motion event handler for PCTool. More...
class  casa::PCToolRefEH
 PixelCanvas refresh event handler for PCTool. More...
class  casa::PCTool
 Base class for PixelCanvas event-based tools. More...
class  casa::RectRegionEvent
 Contains info on the WC rectanglar area selected by MWCRTRegion mouse tool. More...
class  casa::WCCrosshairTool
 Base class for WorldCanvas event-based crosshair tools. More...
class  casa::WCInvisTool
 Base implementation of WCTool for invisible (non-drawing) tools. More...
class  casa::WCMotionEH
 Base class for handling WorldCanvas motion events. More...
class  casa::WCMotionEvent
 Class which stores WorldCanvas motion event information. More...
class  casa::WCPolyTool
 Base class for WorldCanvas event-based polygon tools. More...
class  casa::WCPositionEH
 Base class for handling WorldCanvas position events. More...
class  casa::WCPositionEvent
 Class which stores WorldCanvas position event information. More...
class  casa::WCPTRegion
 WorldCanvas event-based polygon region drawer. More...
class  casa::WCRectTool
 Base class for WorldCanvas event-based rectangle tools. More...
class  casa::WCRefreshEH
 Base class for handling WorldCanvas refresh events. More...
class  casa::WCRefreshEvent
 Class which stores WorldCanvas refresh event information. More...
class  casa::WCRTRegion
 WorldCanvas event-based rectangle region drawer. More...
class  casa::WCRTZoomer
 WorldCanvas event-based zoomer. More...
class  casa::WCToolPosEH
 WorldCanvas position event handler for WCTool. More...
class  casa::WCToolMotEH
 WorldCanvas motion event handler for WCTool. More...
class  casa::WCToolRefEH
 WorldCanvas refresh event handler for WCTool. More...
class  casa::WCTool
 Base class for WorldCanvas event-based tools. More...


Generated on Thu Aug 27 21:21:37 2009 for NRAOCASA by  doxygen 1.5.1