File indexing completed on 2024-05-12 13:04:45
0001 /* 0002 * This file is part of the KDE project 0003 * 0004 * SPDX-FileCopyrightText: 2013 Shantanu Tushar <shantanu@kde.org> 0005 * SPDX-FileCopyrightText: 2013 Sujith Haridasan <sujith.h@gmail.com> 0006 * SPDX-FileCopyrightText: 2013 Arjen Hiemstra <ahiemstra@heimr.nl> 0007 * 0008 * SPDX-License-Identifier: LGPL-2.0-or-later 0009 * 0010 */ 0011 0012 #ifndef CQCANVASCONTROLLER_H 0013 #define CQCANVASCONTROLLER_H 0014 0015 #include <KoCanvasController.h> 0016 0017 class QSize; 0018 class QPoint; 0019 class KoCanvasBase; 0020 class CQCanvasController : public QObject, public KoCanvasController 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit CQCanvasController(KActionCollection* actionCollection); 0025 virtual ~CQCanvasController(); 0026 0027 virtual void setVastScrolling(qreal factor); 0028 virtual void setZoomWithWheel(bool zoom); 0029 virtual void updateDocumentSize(const QSize& sz, bool recalculateCenter); 0030 virtual void setScrollBarValue(const QPoint& value); 0031 virtual QPoint scrollBarValue() const; 0032 virtual void pan(const QPoint& distance); 0033 virtual QPointF preferredCenter() const; 0034 virtual void setPreferredCenter(const QPointF& viewPoint); 0035 virtual void recenterPreferred(); 0036 virtual void zoomTo(const QRect& rect); 0037 virtual void zoomBy(const QPoint& center, qreal zoom); 0038 virtual void zoomOut(const QPoint& center); 0039 virtual void zoomIn(const QPoint& center); 0040 virtual void ensureVisible(KoShape* shape); 0041 virtual void ensureVisible(const QRectF& rect, bool smooth); 0042 virtual int canvasOffsetY() const; 0043 virtual int canvasOffsetX() const; 0044 virtual int visibleWidth() const; 0045 virtual int visibleHeight() const; 0046 virtual KoCanvasBase* canvas() const; 0047 virtual void setCanvas(KoCanvasBase* canvas); 0048 virtual void setDrawShadow(bool drawShadow); 0049 virtual QSize viewportSize() const; 0050 virtual void scrollContentsBy(int dx, int dy); 0051 0052 QSize documentSize() const; 0053 0054 Q_SIGNALS: 0055 void documentSizeChanged(const QSize &sz); 0056 void documentPositionChanged(const QPoint &pos); 0057 0058 private: 0059 class Private; 0060 Private * const d; 0061 }; 0062 0063 #endif // CQCANVASCONTROLLER_H 0064 0065