Ipelib

- Main Page
- Related Pages
- Modules
- Classes

- Class List
- Class Hierarchy
- Class Members

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

`#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

Page * | iPage
int | iView
TType | iType
bool | iWithShift
bool | iOnlyHorizontal
bool | iOnlyVertical
Vector | iMouseDown
Matrix | iTransform
Vector | iOrigin
bool | iValid
Protected Attributes inherited from ipe::Tool
CanvasBase * | iCanvas

## Detailed Description

A tool for transforming the selected objects on the canvas.

Supports moving, rotating, scaling, and stretching.

## Member Enumeration Documentation

enum ipe::TransformTool::TType

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:

- ipetool.h
- ipetool.cpp