Ipelib
|
#include <ipecanvas.h>
Inherited by Canvas, ipe::Canvas, ipe::Canvas, and ipe::Canvas.
Classes | |
struct | Style |
Public Types | |
enum | TModifiers { EShift = 0x100, EControl = 0x200, EAlt = 0x400, EMeta = 0x800, ECommand = 0x1000 } |
enum | TCursor { EStandardCursor, EHandCursor, ECrossCursor, EDotCursor } |
Public Member Functions | |
virtual | ~CanvasBase () |
void | setPage (const Page *page, int pno, int view, const Cascade *sheet) |
void | setResources (const PdfResources *resources) |
Vector | pan () const |
double | zoom () const |
const Cascade * | cascade () const |
Vector | center () const |
Vector | pos () const |
Vector | unsnappedPos () const |
Vector | globalPos () const |
Vector | simpleSnapPos () const |
const Snap & | snap () const |
void | setInkMode (bool ink) |
int | additionalModifiers () const |
void | setAdditionalModifiers (int mod) |
bool | type3Font () |
Vector | devToUser (const Vector &arg) const |
Vector | userToDev (const Vector &arg) const |
void | setCanvasStyle (const Style &style) |
Style | canvasStyle () const |
void | setPan (const Vector &v) |
void | setZoom (double zoom) |
void | setSnap (const Snap &s) |
void | setDimmed (bool dimmed) |
void | setAutoOrigin (const Vector &v) |
Matrix | canvasTfm () const |
void | setObserver (CanvasObserver *observer) |
void | setFifiVisible (bool visible) |
void | setSelectionVisible (bool visible) |
void | setTool (Tool *tool) |
void | finishTool () |
Tool * | tool () |
void | update () |
void | updateTool () |
int | canvasWidth () const |
int | canvasHeight () const |
virtual void | setCursor (TCursor cursor, double w=1.0, Color *color=nullptr)=0 |
virtual void | invalidate (int x, int y, int w, int h)=0 |
Static Public Member Functions | |
static int | selectPageOrView (Document *doc, int page=-1, int startIndex=0, int pageWidth=240, int width=600, int height=480) |
Protected Member Functions | |
CanvasBase () | |
void | drawPaper (cairo_t *cc) |
void | drawFrame (cairo_t *cc) |
void | drawAxes (cairo_t *cc) |
void | drawGrid (cairo_t *cc) |
void | drawObjects (cairo_t *cc) |
void | drawTool (Painter &painter) |
void | snapToPaperAndFrame () |
void | refreshSurface () |
void | computeFifi (double x, double y) |
void | drawFifi (cairo_t *cr) |
virtual void | invalidate ()=0 |
Protected Attributes | |
CanvasObserver * | iObserver |
Tool * | iTool |
const Page * | iPage |
int | iPageNumber |
int | iView |
const Cascade * | iCascade |
Style | iStyle |
Vector | iPan |
double | iZoom |
Snap | iSnap |
bool | iDimmed |
bool | iAutoSnap |
Vector | iAutoOrigin |
int | iAdditionalModifiers |
bool | isInkMode |
bool | iRepaintObjects |
double | iWidth |
double | iHeight |
double | iBWidth |
double | iBHeight |
cairo_surface_t * | iSurface |
Vector | iUnsnappedMousePos |
Vector | iMousePos |
Vector | iGlobalPos |
Vector | iOldFifi |
bool | iFifiVisible |
Snap::TSnapModes | iFifiMode |
bool | iSelectionVisible |
const PdfResources * | iResources |
std::unique_ptr< Fonts > | iFonts |
bool | iType3Font |
|
virtual |
destructor.
|
protected |
Construct a new canvas.
Referenced by ipe::CanvasObserver::canvasObserverSizeChanged().
Set the page to be displayed.
Doesn't take ownership of any argument. The page number pno is only needed if page numbering is turned on.
void CanvasBase::setResources | ( | const PdfResources * | resources | ) |
set information about Latex fonts (from ipe::Document)
|
inline |
Return current pan.
Referenced by Canvas::magnify(), and ipe::PanTool::mouseButton().
|
inline |
Return current zoom.
Referenced by ipe::SelectTool::draw(), ipe::SelectTool::SelectTool(), and ipe::Canvas::sizeHint().
|
inline |
Return current style sheet cascade.
Referenced by ipe::PanTool::draw().
|
inline |
Return center of canvas.
|
inline |
Return last mouse position (snapped!) in user coordinates.
Referenced by ipe::TransformTool::mouseButton(), ipe::TransformTool::mouseMove(), and ipe::TransformTool::TransformTool().
|
inline |
Return last unsnapped mouse position in user coordinates.
Referenced by ipe::PanTool::mouseButton(), ipe::PanTool::mouseMove(), ipe::SelectTool::mouseMove(), ipe::PanTool::PanTool(), and ipe::SelectTool::SelectTool().
|
inline |
Return global mouse position of last mouse press/release.
Referenced by ipe::Canvas::tabletEvent().
Vector CanvasBase::simpleSnapPos | ( | ) | const |
Return snapped mouse position without angular snapping.
|
inline |
Return current snapping information.
Referenced by ipe::TransformTool::TransformTool().
|
inline |
Set ink mode.
|
inline |
Return current additional modifiers.
void CanvasBase::setAdditionalModifiers | ( | int | mod | ) |
Set additional modifiers.
These modifier bits are passed to the Tool when a key is pressed or a drawing action is performed in addition to the actual keyboard modifiers.
bool CanvasBase::type3Font | ( | ) |
Has an attempt been made to use a Type3 font?
Convert canvas (device) coordinates to user coordinates.
References ipe::Vector::x, and ipe::Vector::y.
Referenced by Canvas::magnify().
Convert user coordinates to canvas (device) coordinates.
References ipe::Vector::x, and ipe::Vector::y.
Referenced by ipe::Canvas::drawFifi().
void CanvasBase::setCanvasStyle | ( | const Style & | style | ) |
Set style of canvas drawing.
Includes paper color, pretty text, and grid.
|
inline |
Return canvas style.
void CanvasBase::setPan | ( | const Vector & | v | ) |
Set current pan position.
The pan position is the user coordinate that is displayed at the very center of the canvas.
Referenced by Canvas::magnify(), and ipe::PanTool::mouseButton().
void CanvasBase::setZoom | ( | double | zoom | ) |
Set current zoom factor.
The zoom factor maps user coordinates to screen pixel coordinates.
Referenced by Canvas::magnify().
void CanvasBase::setSnap | ( | const Snap & | s | ) |
Set the snapping information.
void CanvasBase::setDimmed | ( | bool | dimmed | ) |
void CanvasBase::setAutoOrigin | ( | const Vector & | v | ) |
Enable automatic angular snapping with this origin.
Referenced by ipe::TransformTool::TransformTool().
Matrix CanvasBase::canvasTfm | ( | ) | const |
Matrix mapping user coordinates to canvas coordinates.
Referenced by Canvas::drawRect(), and ipe::Canvas::paintEvent().
void CanvasBase::setObserver | ( | CanvasObserver * | observer | ) |
Set an observer.
Use 0 to delete current observer.
void CanvasBase::setFifiVisible | ( | bool | visible | ) |
Set whether Fifi should be shown.
Fifi will only be shown if a snapping mode is active.
void CanvasBase::setSelectionVisible | ( | bool | visible | ) |
Set whether selection should be shown when there is no tool.
void CanvasBase::setTool | ( | Tool * | tool | ) |
Set a new tool.
Calls canvasObserverToolChanged().
void CanvasBase::finishTool | ( | ) |
|
inline |
void CanvasBase::update | ( | ) |
Mark for update with redrawing of objects.
Referenced by Canvas::magnify().
void CanvasBase::updateTool | ( | ) |
Mark for update with redrawing of tool only.
Referenced by ipe::SelectTool::key(), ipe::PanTool::mouseMove(), ipe::SelectTool::mouseMove(), and ipe::TransformTool::mouseMove().
|
inline |
|
inline |
|
pure virtual |
Implemented in ipe::Canvas.
Referenced by ipe::PanTool::PanTool(), ipe::SelectTool::SelectTool(), and ipe::TransformTool::TransformTool().
|
static |
Show dialog to select a page or a view.
If page is negative (the default), shows thumbnails of all pages of the document in a dialog. If the user selects a page, the page number is returned. If the dialog is canceled, -1 is returned.
If page is non-negative, all views of this page are shown, and the selected view number is returned.
itemWidth is the width of the page thumbnails (the height is computed automatically).
If page is negative (the default), shows thumbnails of all pages of the document in a dialog. If the user selects a page, the page number is returned. If the dialog is canceled, -1 is returned.
If page is non-negative, all views of this page are shown, and the selected view number is returned.
If page is negative (the default), shows thumbnails of all pages of the document in a dialog. If the user selects a page, the page number is returned. If the dialog is canceled, -1 is returned.
If page is non-negative, all views of this page are shown, and the selected view number is returned.
pageWidth is the width of the page thumbnails (the height is computed automatically).
References ipe::Thumbnail::height(), and ipe::Thumbnail::width().
Referenced by ipe::PageSelector::fill().
|
pure virtual |
Implemented in ipe::Canvas.
|
protected |
References ipe::Layout::iOrigin, ipe::Layout::iPaperSize, ipe::Vector::x, and ipe::Vector::y.
|
protected |
References ipe::Layout::iFrameSize, ipe::Vector::x, and ipe::Vector::y.
|
protected |
References ipe::Vector::x, and ipe::Vector::y.
|
protected |
References ipe::Vector::x, ipe::Vector::y, and ipe::Vector::ZERO.
|
protected |
|
protected |
Draw the current canvas tool.
If no tool is set, it draws the selected objects.
References ipe::EPrimarySelected, ipe::ESecondarySelected, ipe::Painter::setPen(), and ipe::Painter::setStroke().
Referenced by Canvas::drawRect(), and ipe::Canvas::paintEvent().
|
protected |
|
protected |
Referenced by Canvas::drawRect(), ipe::Canvas::paintEvent(), and ipe::Canvas::~Canvas().
|
protected |
Stores the mouse position in iUnsnappedMousePos, computes Fifi if snapping is enabled, and stores snapped position in iMousePos.
References ipe::Snap::ESnapAuto, ipe::Snap::ESnapNone, ipe::Vector::x, and ipe::Vector::y.
Referenced by Canvas::drawRect(), ipe::Canvas::mouseButton(), Canvas::mouseMove(), ipe::Canvas::mouseMoveEvent(), and ipe::Canvas::tabletEvent().
|
protected |
|
protectedpure virtual |
Implemented in ipe::Canvas.
|
protected |
|
protected |
|
protected |
Referenced by Canvas::drawRect(), and ipe::Canvas::paintEvent().
|
protected |
|
protected |
Referenced by Canvas::Canvas(), Canvas::drawRect(), Canvas::magnify(), Canvas::mouseMove(), and ipe::Canvas::~Canvas().
|
protected |
Referenced by Canvas::drawRect(), and ipe::Canvas::paintEvent().
|
protected |
|
protected |
|
protected |
Referenced by Canvas::drawRect(), and Canvas::magnify().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by Canvas::drawRect(), ipe::Canvas::keyPressEvent(), ipe::Canvas::mouseButton(), and ipe::Canvas::tabletEvent().
|
protected |
|
protected |
Referenced by ipe::Canvas::~Canvas().
|
protected |
Referenced by Canvas::drawRect(), ipe::Canvas::paintEvent(), and ipe::Canvas::~Canvas().
|
protected |
Referenced by Canvas::drawRect(), Canvas::magnify(), Canvas::mouseMove(), ipe::Canvas::paintEvent(), and ipe::Canvas::~Canvas().
|
protected |
Referenced by Canvas::drawRect(), ipe::Canvas::paintEvent(), and ipe::Canvas::~Canvas().
|
protected |
Referenced by Canvas::drawRect(), ipe::Canvas::paintEvent(), and ipe::Canvas::~Canvas().
|
protected |
Referenced by Canvas::drawRect(), ipe::Canvas::paintEvent(), and ipe::Canvas::~Canvas().
|
protected |
|
protected |
Referenced by ipe::Canvas::drawFifi().
|
protected |
Referenced by Canvas::drawRect(), ipe::Canvas::mouseButton(), and ipe::Canvas::tabletEvent().
|
protected |
Referenced by ipe::Canvas::drawFifi().
|
protected |
Referenced by Canvas::drawRect(), and ipe::Canvas::paintEvent().
|
protected |
Referenced by ipe::Canvas::drawFifi().
|
protected |
|
protected |
|
protected |
Referenced by Canvas::drawRect().
|
protected |