The HOpMarkupFreehand inserts a 2D freehand polyline into a markup layer. If a layer is already active, then the operator will use that layer. Otherwise, the operator will create a new unnamed layer. More...
#include <HOpMarkupFreehand.h>
Public Member Functions | |
virtual HBaseOperator * | Clone () |
virtual const char * | GetName () |
HOpMarkupFreehand (HBaseView *view, int DoRepeat=0, int DoCapture=1) | |
virtual int | OnLButtonDown (HEventInfo &hevent) |
virtual int | OnLButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnLButtonUp (HEventInfo &hevent) |
Static Public Member Functions | |
static void | CreateMarkupFreehand (HBaseView *pView, const char *segment, unsigned int PolyLineLength, HPoint *pPolyline, bool emit_message) |
Public Attributes | |
HC_KEY | m_lPolyline |
key for HOOPS polyline | |
Protected Attributes | |
HPoint | m_ptLast |
most recent construction point |
The HOpMarkupFreehand inserts a 2D freehand polyline into a markup layer. If a layer is already active, then the operator will use that layer. Otherwise, the operator will create a new unnamed layer.
HOpMarkupFreehand implements three of the mouse event handlers defined on the base class and maps the event information to logic which inserts a polyline into the scene to serve as a 'MarkupFreehand'.
More Detailed Description: see event methods
HOpMarkupFreehand::HOpMarkupFreehand | ( | HBaseView * | view, |
int | DoRepeat = 0 , |
||
int | DoCapture = 1 |
||
) |
Constructs an HOpMarkupFreehand object.
view | A pointer to an HBaseView object |
DoRepeat | An integer denoting whether this is a repeatable operator. This parameter has been deprecated. |
DoCapture | An integer denoting whether the mouse state should be captured, which means that all mouse events should be received after a mousedown, even if it leaves the window. This parameter has been deprecated. |
virtual HBaseOperator* HOpMarkupFreehand::Clone | ( | ) | [virtual] |
Creates a new operator which is associated with the same view as the current operator. The user is responsible for deleting the newly created operator.
Reimplemented from HBaseOperator.
static void HOpMarkupFreehand::CreateMarkupFreehand | ( | HBaseView * | pView, |
const char * | segment, | ||
unsigned int | PolyLineLength, | ||
HPoint * | pPolyline, | ||
bool | emit_message | ||
) | [static] |
CreateMarkupFreehand inserts the polyline representing the freehand drawing into the active markup layer. If there is no active markup layer, then it creates a new unnamed layer.
pView | A pointer to the HBaseView object where the markup data should be inserted. |
segment | The name of segment within markup layer that the freehand data should be inserted into. |
PolyLineLength | Integer value indicating number of points in the freehand polyline. |
pPolyline | An array of HPoints defining the freehand polyline. |
emit_message | Determines if polyline creation is broadcasted to other HNet clients |
virtual const char* HOpMarkupFreehand::GetName | ( | ) | [virtual] |
returns a pointer to a copy of the operator
Reimplemented from HBaseOperator.
virtual int HOpMarkupFreehand::OnLButtonDown | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDown records the first pointer position and initializes the redlining mechanism by creating a polyline which will be incrementally built.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpMarkupFreehand::OnLButtonDownAndMove | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDownAndMove computes the line segment to be incrementally added to the existing polyline.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpMarkupFreehand::OnLButtonUp | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonUp cleans up the construction segments used during the redling and inserts the polyline representing the 'MarkupFreehand' into the scene.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.