ipe::SelectTool Class Reference
Ipe canvas

`#include <ipetool.h>`

Inherits ipe::Tool.

## Classes

struct | SObj

## Public Member Functions

| SelectTool (CanvasBase *canvas, Page *page, int view, double selectDistance, bool nonDestructive)
virtual void | draw (Painter &painter) const
virtual void | mouseButton (int button, bool press)
virtual void | mouseMove ()
virtual bool | key (String text, int modifiers)
Public Member Functions inherited from ipe::Tool
virtual | ~Tool ()
virtual void | draw (Painter &painter) const =0
virtual void | mouseButton (int button, bool press)
virtual void | mouseMove ()
virtual bool | key (String text, int modifiers)
virtual void | snapVtx (const Vector &mouse, Vector &pos, double &bound, bool cp) const

## Additional Inherited Members

Protected Member Functions inherited from ipe::Tool
| Tool (CanvasBase *canvas)
Protected Attributes inherited from ipe::Tool
CanvasBase * | iCanvas

## Detailed Description

A tool for selecting objects.

## Constructor & Destructor Documentation

## SelectTool()

SelectTool::SelectTool | ( | CanvasBase * | canvas,
|  | Page * | page,
|  | int | view,
|  | double | selectDistance,
|  | bool | nonDestructive
| ) |  |

Constructor starts selection.

References ipe::Page::count(), ipe::Page::distance(), ipe::SelectTool::SObj::distance, ipe::CanvasBase::ECrossCursor, ipe::Tool::iCanvas, ipe::SelectTool::SObj::index, ipe::Page::isLocked(), ipe::Page::layerOf(), ipe::Page::objectVisible(), ipe::CanvasBase::setCursor(), ipe::CanvasBase::unsnappedPos(), and ipe::CanvasBase::zoom().

## Member Function Documentation

## draw()

void SelectTool::draw | ( | Painter & | painter | ) | const

virtual

Implements ipe::Tool.

References ipe::Painter::closePath(), ipe::Painter::drawArc(), ipe::Painter::drawPath(), ipe::Object::drawSimple(), ipe::EStrokedOnly, ipe::Tool::iCanvas, ipe::Painter::newPath(), ipe::Page::object(), ipe::Painter::rect(), ipe::Painter::setStroke(), ipe::Vector::x, ipe::Vector::y, and ipe::CanvasBase::zoom().

## mouseButton()

void SelectTool::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.

References ipe::Object::addToBBox(), ipe::Rect::contains(), ipe::Page::count(), ipe::Page::deselectAll(), ipe::ENotSelected, ipe::Page::ensurePrimarySelection(), ipe::EPrimarySelected, ipe::ESecondarySelected, ipe::CanvasBase::finishTool(), ipe::Page::hasSelection(), ipe::Tool::iCanvas, ipe::Rect::intersects(), ipe::Page::isLocked(), ipe::Page::layerOf(), ipe::Page::object(), ipe::Page::objectVisible(), ipe::Page::primarySelection(), ipe::Page::select(), ipe::Page::setSelect(), and ipe::Vector::x.

## mouseMove()

void SelectTool::mouseMove | ( |  | ) |

virtual

Called when the mouse is moved on the canvas.

Reimplemented from ipe::Tool.

References ipe::Tool::iCanvas, ipe::CanvasBase::unsnappedPos(), and ipe::CanvasBase::updateTool().

## key()

bool SelectTool::key | ( | String | text,
|  | int | modifiers
| ) |  |

virtual

Called when a key is pressed.

modifiers are as defined in CanvasBase::TModifiers.

Reimplemented from ipe::Tool.

References ipe::CanvasBase::finishTool(), ipe::Tool::iCanvas, and ipe::CanvasBase::updateTool().

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

- ipetool.h
- ipetool.cpp