MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSL3DInteractionModeDisplay Class Referenceabstract
Inheritance diagram for TSL3DInteractionModeDisplay:

Detailed Description

This class provides useful utility functions for the modes. It should not be created by an application.

An instance of this class will be made available in the 'm_display' protected member attribute of the TSLInteractionMode class.

Deprecated
Deprecated as of MapLink 11.1. Advised to use MapLink Earth SDK instead.

Public Member Functions

virtual ~TSL3DInteractionModeDisplay ()
 
virtual void captureMouse ()=0
 
void clearEchoLine ()
 
void clearEchoRectangle ()
 
virtual void drawEchoLine ()=0
 
virtual void drawEchoRectangle ()=0
 
virtual void releaseMouse ()=0
 
void resetMode (TSLButtonType button, TSLDeviceUnits xDU, TSLDeviceUnits yDU)
 
void setEchoLine (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLDeviceUnits x2, TSLDeviceUnits y2)
 
void setEchoRectangle (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLDeviceUnits x2, TSLDeviceUnits y2)
 
void viewChanged (bool addToViewStack)
 
TSL3DDrawingSurfacedrawingSurface ()
 

Protected Member Functions

 TSL3DInteractionModeDisplay (TSL3DDrawingSurface *ds, TSL3DInteractionModeManager *manager)
 

Protected Attributes

TSLDeviceUnits m_x1
 
TSLDeviceUnits m_y1
 
TSLDeviceUnits m_x2
 
TSLDeviceUnits m_y2
 
bool m_drawRect
 
bool m_drawLine
 
TSL3DInteractionModeManagerm_manager
 
TSL3DDrawingSurfacem_drawingSurface
 

Constructor & Destructor Documentation

◆ ~TSL3DInteractionModeDisplay()

virtual TSL3DInteractionModeDisplay::~TSL3DInteractionModeDisplay ( )
virtual

◆ TSL3DInteractionModeDisplay()

TSL3DInteractionModeDisplay::TSL3DInteractionModeDisplay ( TSL3DDrawingSurface * ds,
TSL3DInteractionModeManager * manager )
protected

Member Function Documentation

◆ captureMouse()

virtual void TSL3DInteractionModeDisplay::captureMouse ( )
pure virtual

Capture the mouse so that subsequent events are sent to the application window, even though the cursor may move outside. This must be cleared using the 'releaseMouse' method.

Implemented in TSL3DInteractionModeDisplayNT, and TSL3DInteractionModeDisplayX11.

◆ clearEchoLine()

void TSL3DInteractionModeDisplay::clearEchoLine ( )

Clears any echo line that may be drawn. Echo lines are drawn in XOR mode.

◆ clearEchoRectangle()

void TSL3DInteractionModeDisplay::clearEchoRectangle ( )

Clears any echo rectangle that may be drawn. Echo rectangles are drawn in XOR mode. If a mode is using echo styles, then this should be called in the onDraw method of the mode.

◆ drawEchoLine()

virtual void TSL3DInteractionModeDisplay::drawEchoLine ( )
pure virtual

Draw any echo line that may be set. Echo lines are drawn in XOR mode.

Implemented in TSL3DInteractionModeDisplayNT, and TSL3DInteractionModeDisplayX11.

◆ drawEchoRectangle()

virtual void TSL3DInteractionModeDisplay::drawEchoRectangle ( )
pure virtual

Draw any echo rectangle that may be set. Echo rectangles are drawn in XOR mode.

Implemented in TSL3DInteractionModeDisplayNT, and TSL3DInteractionModeDisplayX11.

◆ drawingSurface()

TSL3DDrawingSurface * TSL3DInteractionModeDisplay::drawingSurface ( )
inline

Query the drawing surface that this display is attached to.

◆ releaseMouse()

virtual void TSL3DInteractionModeDisplay::releaseMouse ( )
pure virtual

Release the mouse capture so that subsequent events are sent to the focus window.

Implemented in TSL3DInteractionModeDisplayNT, and TSL3DInteractionModeDisplayX11.

◆ resetMode()

void TSL3DInteractionModeDisplay::resetMode ( TSLButtonType button,
TSLDeviceUnits xDU,
TSLDeviceUnits yDU )

The mode should call this to request a reset back to the default mode.

Parameters
buttonIf the reset was triggered by a button press, this should be the button type. Pass TSLButtonNone if the reset is occurring for some other reason.
(xDU,yDU)Position of button press that triggered the reset. Pass 0,0 of the reset is occurring for some other reason.

◆ setEchoLine()

void TSL3DInteractionModeDisplay::setEchoLine ( TSLDeviceUnits x1,
TSLDeviceUnits y1,
TSLDeviceUnits x2,
TSLDeviceUnits y2 )

Set a line to be drawn for echo. The line is drawn in XOR mode.

Parameters
(x1,y1)Start of echo line in device units.
(x2,y2)End of echo line in device units.

◆ setEchoRectangle()

void TSL3DInteractionModeDisplay::setEchoRectangle ( TSLDeviceUnits x1,
TSLDeviceUnits y1,
TSLDeviceUnits x2,
TSLDeviceUnits y2 )

Set a line to be drawn for echo. The line is drawn in XOR mode.

Parameters
(x1,y1)Bottom left of echo rectangle in device units.
(x2,y2)Top right of echo rectangle in device units.

◆ viewChanged()

void TSL3DInteractionModeDisplay::viewChanged ( bool addToViewStack)

This method should be triggered when the view has changed. This triggers the Mode manager to return true to the application, thus forcing a redraw. If the change in view is to be added to the view stack, then this method should be passed true.

Parameters
addToViewStackTrue if the new view should be added to the view stack, false otherwise.

Member Data Documentation

◆ m_drawingSurface

TSL3DDrawingSurface* TSL3DInteractionModeDisplay::m_drawingSurface
protected

◆ m_drawLine

bool TSL3DInteractionModeDisplay::m_drawLine
protected

◆ m_drawRect

bool TSL3DInteractionModeDisplay::m_drawRect
protected

◆ m_manager

TSL3DInteractionModeManager* TSL3DInteractionModeDisplay::m_manager
protected

◆ m_x1

TSLDeviceUnits TSL3DInteractionModeDisplay::m_x1
protected

◆ m_x2

TSLDeviceUnits TSL3DInteractionModeDisplay::m_x2
protected

◆ m_y1

TSLDeviceUnits TSL3DInteractionModeDisplay::m_y1
protected

◆ m_y2

TSLDeviceUnits TSL3DInteractionModeDisplay::m_y2
protected