MicroImages::GRTOOL_ELLIPSE Class Reference

GRTOOL_ELLIPSE - Ellipse tool. More...

#include <mi32/grtool.h>

Inheritance diagram for MicroImages::GRTOOL_ELLIPSE:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual int GenerateRegion (REGION2D &region) const
double GetAngle () const
const DPOINT2DGetCenter () const
const DPOINT2DGetRadius () const
 GRTOOL_ELLIPSE (GRTOOLVIEW *view)
void SetAngle (double angle)
void SetAngleVisible (bool anglevisible=true)
void SetCenter (const DPOINT2D &center)
void SetMarker (MARKER marker, UINT16 size=0)
void SetRadius (DPOINT2D &radius)
void SetRadiusRange (double minradius, double maxradius)
virtual ~GRTOOL_ELLIPSE ()

Private Types

enum  ZONE {
  ZONE_NoFunction = 0, ZONE_Outside, ZONE_Inside, ZONE_ResizeX,
  ZONE_ResizeY, ZONE_Perimeter, ZONE_SetCenter, ZONE_Rotate
}

Private Member Functions

void AdjustTool (const DPOINT2D &, bool firsttime=false)
void ComputeCursorZone (const DPOINT2D &)
virtual void DoDraw (CDC *)
virtual void DoMove (double dx, double dy, ADJUSTFLAGS flags)
virtual void OnLButtonDown (UINT nFlags, const CPoint &mpoint)
virtual void OnMouseMove (UINT nFlags, const CPoint &mpoint)
void StartTool (const DPOINT2D &)
void UpdateCursor (const DPOINT2D &) const

Private Attributes

double m_angle
bool m_anglevisible
DPOINT2D m_center
ZONE m_CursorZone
MARKER m_marker
UINT16 m_markersize
double m_maxradius
double m_minradius
DPOINT2D m_prevpt
DPOINT2D m_radius
TRANS2D_AFFINE m_trans

Detailed Description

GRTOOL_ELLIPSE - Ellipse tool.

Definition at line 1078 of file grtool.h.


Member Enumeration Documentation

enum MicroImages::GRTOOL_ELLIPSE::ZONE [private]
 

Enumeration constants.

Enumeration values:
ZONE_NoFunction 
ZONE_Outside 
ZONE_Inside 
ZONE_ResizeX 
ZONE_ResizeY 
ZONE_Perimeter 
ZONE_SetCenter 
ZONE_Rotate 

Definition at line 1143 of file grtool.h.


Constructor & Destructor Documentation

MicroImages::GRTOOL_ELLIPSE::GRTOOL_ELLIPSE GRTOOLVIEW view  )  [explicit]
 

Constructor.

virtual MicroImages::GRTOOL_ELLIPSE::~GRTOOL_ELLIPSE  )  [virtual]
 

Destructor.


Member Function Documentation

void MicroImages::GRTOOL_ELLIPSE::AdjustTool const DPOINT2D ,
bool  firsttime = false
[private]
 

Methods.

void MicroImages::GRTOOL_ELLIPSE::ComputeCursorZone const DPOINT2D  )  [private]
 

virtual void MicroImages::GRTOOL_ELLIPSE::DoDraw CDC *   )  [private, virtual]
 

Methods called by the GRTOOL base class.

Implements MicroImages::GRTOOL.

virtual void MicroImages::GRTOOL_ELLIPSE::DoMove double  dx,
double  dy,
ADJUSTFLAGS  flags
[private, virtual]
 

Reimplemented from MicroImages::GRTOOL.

virtual int MicroImages::GRTOOL_ELLIPSE::GenerateRegion REGION2D region  )  const [virtual]
 

Generate region from tool boundary.

Returns:
TRUE if region generated, FALSE if not, < 0 if error.

Reimplemented from MicroImages::GRTOOL.

double MicroImages::GRTOOL_ELLIPSE::GetAngle  )  const [inline]
 

Get current rotation angle.

Definition at line 1096 of file grtool.h.

const DPOINT2D& MicroImages::GRTOOL_ELLIPSE::GetCenter  )  const [inline]
 

Get center position.

Definition at line 1100 of file grtool.h.

const DPOINT2D& MicroImages::GRTOOL_ELLIPSE::GetRadius  )  const [inline]
 

Get radius.

Definition at line 1104 of file grtool.h.

virtual void MicroImages::GRTOOL_ELLIPSE::OnLButtonDown UINT  nFlags,
const CPoint &  mpoint
[private, virtual]
 

Methods called directly by the equivalent GRTOOLVIEW method.

Implements MicroImages::GRTOOL.

virtual void MicroImages::GRTOOL_ELLIPSE::OnMouseMove UINT  nFlags,
const CPoint &  mpoint
[private, virtual]
 

Implements MicroImages::GRTOOL.

void MicroImages::GRTOOL_ELLIPSE::SetAngle double  angle  ) 
 

Set rotation angle.

Parameters:
angle  New rotation angle in RADIANS

void MicroImages::GRTOOL_ELLIPSE::SetAngleVisible bool  anglevisible = true  ) 
 

Set whether rotation angle indicator is visible.

The rotation angle is indicated by a line from the center to the boundary.

void MicroImages::GRTOOL_ELLIPSE::SetCenter const DPOINT2D center  ) 
 

Set center coordinates.

void MicroImages::GRTOOL_ELLIPSE::SetMarker MARKER  marker,
UINT16  size = 0
 

Set marker type and size.

The default marker is MARKER_Plus with a size of 9 pixels.

Parameters:
marker  New marker type
size  New marker size, 0 to retain current size

void MicroImages::GRTOOL_ELLIPSE::SetRadius DPOINT2D radius  ) 
 

Set radius.

void MicroImages::GRTOOL_ELLIPSE::SetRadiusRange double  minradius,
double  maxradius
 

Set allowed radius range.

Parameters:
minradius  Minimum radius in tool units
maxradius  Maximum radius, <= 0 for no maximum

void MicroImages::GRTOOL_ELLIPSE::StartTool const DPOINT2D  )  [private]
 

void MicroImages::GRTOOL_ELLIPSE::UpdateCursor const DPOINT2D  )  const [private]
 


Member Data Documentation

double MicroImages::GRTOOL_ELLIPSE::m_angle [private]
 

Definition at line 1162 of file grtool.h.

bool MicroImages::GRTOOL_ELLIPSE::m_anglevisible [private]
 

Visibility of rotation angle indicator.

Definition at line 1158 of file grtool.h.

DPOINT2D MicroImages::GRTOOL_ELLIPSE::m_center [private]
 

Center.

Definition at line 1160 of file grtool.h.

ZONE MicroImages::GRTOOL_ELLIPSE::m_CursorZone [private]
 

Current cursor zone.

Definition at line 1164 of file grtool.h.

MARKER MicroImages::GRTOOL_ELLIPSE::m_marker [private]
 

Tool settings.

Definition at line 1154 of file grtool.h.

UINT16 MicroImages::GRTOOL_ELLIPSE::m_markersize [private]
 

Definition at line 1155 of file grtool.h.

double MicroImages::GRTOOL_ELLIPSE::m_maxradius [private]
 

Maximum radius, 0 if no maximum.

Definition at line 1157 of file grtool.h.

double MicroImages::GRTOOL_ELLIPSE::m_minradius [private]
 

Minimum radius.

Definition at line 1156 of file grtool.h.

DPOINT2D MicroImages::GRTOOL_ELLIPSE::m_prevpt [private]
 

Previous point during button-down.

Definition at line 1165 of file grtool.h.

DPOINT2D MicroImages::GRTOOL_ELLIPSE::m_radius [private]
 

Definition at line 1161 of file grtool.h.

TRANS2D_AFFINE MicroImages::GRTOOL_ELLIPSE::m_trans [private]
 

Transformation to apply size,rotation,center.

Definition at line 1166 of file grtool.h.


The documentation for this class was generated from the following file:
Generated on Tue Dec 14 13:21:04 2004 for TNTsdk by  doxygen 1.3.8-20040913