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