home *** CD-ROM | disk | FTP | other *** search
- /*
- For general Scribus (>=1.3.2) copyright and licensing information please refer
- to the COPYING file provided with the program. Following this notice may exist
- a copyright and/or license notice that predates the release of Scribus 1.3.2
- for which a new license (GPL+exception) is in place.
- */
- /***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
- #ifndef CANVAS_MODE_ROTATE_H
- #define CANVAS_MODE_ROTATE_H
-
- #include "scribusapi.h"
- #include "canvasmode.h"
- #include "fpoint.h"
-
- class QDragEnterEvent;
- class QDragMoveEvent;
- class QDragLeaveEvent;
- class QDropEvent;
- class QEvent;
- class QInputMethodEvent;
- class QMouseEvent;
- class QKeyEvent;
- class QPainter;
-
- class PageItem;
-
- class SCRIBUS_API CanvasMode_Rotate : public CanvasMode
- {
- public:
- CanvasMode_Rotate(ScribusView* view);
-
- virtual void enterEvent(QEvent *);
- virtual void leaveEvent(QEvent *);
-
- virtual void drawControls(QPainter* p);
- virtual void activate(bool);
- virtual void deactivate(bool);
-
- virtual void mousePressEvent(QMouseEvent *m);
- virtual void mouseReleaseEvent(QMouseEvent *m);
- virtual void mouseMoveEvent(QMouseEvent *m);
-
- private:
- inline bool GetItem(PageItem** pi);
-
- void createContextMenu(PageItem *currItem, double mx, double my);
- void drawItemOutlines(QPainter*);
- void getNewItemPosition(PageItem* item, FPoint& pos, double& rotation);
- // void setResizeCursor(int how);
-
- bool m_inItemRotation;
-
- int m_oldRotMode;
- FPoint m_oldRotCenter;
- FPoint m_canvasPressCoord;
- FPoint m_canvasCurrCoord;
- bool m_angleConstrained;
-
- int m_rotMode;
- FPoint m_rotCenter;
- double m_startAngle;
- };
-
- #endif
-