Ipelib
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipe::Tool Class Referenceabstract

#include <ipetoolbase.h>

Inherited by ipe::PanTool, ipe::SelectTool, and ipe::TransformTool.

Public Member Functions

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
 

Protected Member Functions

 Tool (CanvasBase *canvas)
 

Protected Attributes

CanvasBaseiCanvas
 

Detailed Description

Abstract base class for various canvas tools.

The Canvas doesn't know about the various modes for object creation, editing, and moving, but delegates the handling to a subclass of Tool.

Constructor & Destructor Documentation

◆ ~Tool()

Tool::~Tool ( )
virtual

Virtual destructor.

◆ Tool()

Tool::Tool ( CanvasBase canvas)
protected

Constructor.

Member Function Documentation

◆ draw()

virtual void ipe::Tool::draw ( Painter painter) const
pure virtual

◆ mouseButton()

void Tool::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 in ipe::TransformTool, ipe::SelectTool, and ipe::PanTool.

Referenced by Canvas::drawRect(), ipe::Canvas::mouseButton(), and ipe::Canvas::tabletEvent().

◆ mouseMove()

void Tool::mouseMove ( )
virtual

Called when the mouse is moved on the canvas.

Reimplemented in ipe::TransformTool, ipe::SelectTool, and ipe::PanTool.

Referenced by Canvas::mouseMove(), ipe::Canvas::mouseMoveEvent(), and ipe::Canvas::tabletEvent().

◆ key()

bool Tool::key ( String  text,
int  modifiers 
)
virtual

Called when a key is pressed.

modifiers are as defined in CanvasBase::TModifiers.

Reimplemented in ipe::SelectTool.

Referenced by Canvas::key(), and ipe::Canvas::keyPressEvent().

◆ snapVtx()

void Tool::snapVtx ( const Vector mouse,
Vector pos,
double &  bound,
bool  cp 
) const
virtual

Snapping to vertices on object currently being drawn.

Member Data Documentation

◆ iCanvas

CanvasBase* ipe::Tool::iCanvas
protected

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