Ipelib
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipe::TransformTool Class Reference

#include <ipetool.h>

Inherits ipe::Tool.

Public Types

enum  TType { ETranslate, EScale, EStretch, ERotate }

Public Member Functions

 TransformTool (CanvasBase *canvas, Page *page, int view, TType type, bool withShift)
bool isValid () const
virtual void draw (Painter &painter) const
virtual void mouseButton (int button, bool press)
virtual void mouseMove ()
virtual void report ()
- Public Member Functions inherited from ipe::Tool
virtual ~Tool ()
virtual bool key (int code, int modifiers, String text)

Protected Member Functions

void compute (const Vector &v)
- Protected Member Functions inherited from ipe::Tool
 Tool (CanvasBase *canvas)

Protected Attributes

PageiPage
int iView
TType iType
bool iWithShift
bool iOnlyHorizontal
bool iOnlyVertical
Vector iMouseDown
Matrix iTransform
Vector iOrigin
bool iValid
- Protected Attributes inherited from ipe::Tool
CanvasBaseiCanvas

Detailed Description

A tool for transforming the selected objects on the canvas.

Supports moving, rotating, scaling, and stretching.

Member Enumeration Documentation

Enumerator:
ETranslate 
EScale 
EStretch 
ERotate 

Constructor & Destructor Documentation

TransformTool::TransformTool ( CanvasBase canvas,
Page page,
int  view,
TType  type,
bool  withShift 
)

Constructor starts transformation.

After constructing a TransformTool, you must call isValid() to ensure that the transformation can be performed.

A transformation can fail because the selection contains pinned objects, or because the initial mouse position is identical to the transformation origin.

Member Function Documentation

bool TransformTool::isValid ( ) const

Check that the transformation can be performed.

void TransformTool::draw ( Painter painter) const
virtual

Implements ipe::Tool.

void TransformTool::mouseButton ( int  button,
bool  press 
)
virtual

Called when a mouse button is pressed or released on the canvas.

button is 1, 2, or 3, with Shift/Ctrl/Alt/Meta modifiers added in (as defined in CanvasBase::TModifiers. press is true for button-down, and false for button-up.

Reimplemented from ipe::Tool.

void TransformTool::mouseMove ( )
virtual

Called when the mouse is moved on the canvas.

Reimplemented from ipe::Tool.

void TransformTool::report ( )
virtual

Report the final transformation chosen.

The implementation in TransformTool does nothing. Derived classes should reimplement report().

void TransformTool::compute ( const Vector v)
protected

Member Data Documentation

Page* ipe::TransformTool::iPage
protected
int ipe::TransformTool::iView
protected
TType ipe::TransformTool::iType
protected
bool ipe::TransformTool::iWithShift
protected
bool ipe::TransformTool::iOnlyHorizontal
protected
bool ipe::TransformTool::iOnlyVertical
protected
Vector ipe::TransformTool::iMouseDown
protected
Matrix ipe::TransformTool::iTransform
protected
Vector ipe::TransformTool::iOrigin
protected
bool ipe::TransformTool::iValid
protected

The documentation for this class was generated from the following files: