~ubuntu-branches/ubuntu/precise/gwenview/precise-proposed

« back to all changes in this revision

Viewing changes to lib/documentview/svgviewadapter.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2011-12-15 14:17:54 UTC
  • mto: This revision was merged to the branch mainline in revision 12.
  • Revision ID: package-import@ubuntu.com-20111215141754-z043hyx69dulbggf
Tags: upstream-4.7.90
Import upstream version 4.7.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// vim: set tabstop=4 shiftwidth=4 noexpandtab:
 
1
// vim: set tabstop=4 shiftwidth=4 expandtab:
2
2
/*
3
3
Gwenview: an image viewer
4
4
Copyright 2008 Aurélien Gâteau <agateau@kde.org>
24
24
#include <lib/gwenviewlib_export.h>
25
25
 
26
26
// Qt
 
27
#include <QGraphicsWidget>
27
28
 
28
29
// KDE
29
30
 
30
31
// Local
 
32
#include <lib/documentview/abstractimageview.h>
31
33
#include <lib/documentview/abstractdocumentviewadapter.h>
32
34
 
33
 
namespace Gwenview {
34
 
 
 
35
class QGraphicsSvgItem;
 
36
 
 
37
namespace Gwenview
 
38
{
 
39
 
 
40
class SvgImageView : public AbstractImageView
 
41
{
 
42
    Q_OBJECT
 
43
public:
 
44
    SvgImageView(QGraphicsItem* parent = 0);
 
45
 
 
46
protected:
 
47
    void loadFromDocument();
 
48
    void onZoomChanged();
 
49
    void onImageOffsetChanged();
 
50
    void onScrollPosChanged(const QPointF& oldPos);
 
51
 
 
52
private:
 
53
    QGraphicsSvgItem* mSvgItem;
 
54
    void adjustItemPos();
 
55
};
35
56
 
36
57
struct SvgViewAdapterPrivate;
37
 
class GWENVIEWLIB_EXPORT SvgViewAdapter : public AbstractDocumentViewAdapter {
38
 
        Q_OBJECT
 
58
class GWENVIEWLIB_EXPORT SvgViewAdapter : public AbstractDocumentViewAdapter
 
59
{
 
60
    Q_OBJECT
39
61
public:
40
 
        SvgViewAdapter(QWidget*);
41
 
        ~SvgViewAdapter();
42
 
 
43
 
        virtual void installEventFilterOnViewWidgets(QObject*);
44
 
 
45
 
        virtual QCursor cursor() const;
46
 
 
47
 
        virtual void setCursor(const QCursor&);
48
 
 
49
 
        virtual void setDocument(Document::Ptr);
50
 
 
51
 
        virtual Document::Ptr document() const;
52
 
 
53
 
        virtual MimeTypeUtils::Kind kind() const { return MimeTypeUtils::KIND_SVG_IMAGE; }
54
 
 
55
 
        virtual bool canZoom() const { return true; }
56
 
 
57
 
        virtual void setZoomToFit(bool);
58
 
 
59
 
        virtual bool zoomToFit() const;
60
 
 
61
 
        virtual qreal zoom() const;
62
 
 
63
 
        virtual void setZoom(qreal /*zoom*/, const QPoint& /*center*/ = QPoint(-1, -1));
64
 
 
65
 
        virtual qreal computeZoomToFit() const;
66
 
        virtual qreal computeZoomToFitWidth() const;
67
 
        virtual qreal computeZoomToFitHeight() const;
68
 
 
69
 
protected:
70
 
        virtual bool eventFilter(QObject*, QEvent*);
71
 
 
72
 
private Q_SLOTS:
73
 
        void loadFromDocument();
 
62
    SvgViewAdapter();
 
63
    ~SvgViewAdapter();
 
64
 
 
65
    virtual QCursor cursor() const;
 
66
 
 
67
    virtual void setCursor(const QCursor&);
 
68
 
 
69
    virtual void setDocument(Document::Ptr);
 
70
 
 
71
    virtual Document::Ptr document() const;
 
72
 
 
73
    virtual MimeTypeUtils::Kind kind() const {
 
74
        return MimeTypeUtils::KIND_SVG_IMAGE;
 
75
    }
 
76
 
 
77
    virtual bool canZoom() const {
 
78
        return true;
 
79
    }
 
80
 
 
81
    virtual void setZoomToFit(bool);
 
82
 
 
83
    virtual bool zoomToFit() const;
 
84
 
 
85
    virtual qreal zoom() const;
 
86
 
 
87
    virtual void setZoom(qreal /*zoom*/, const QPointF& /*center*/ = QPointF(-1, -1));
 
88
 
 
89
    virtual qreal computeZoomToFit() const;
 
90
 
 
91
    virtual QPointF scrollPos() const;
 
92
    virtual void setScrollPos(const QPointF& pos);
74
93
 
75
94
private:
76
 
        SvgViewAdapterPrivate* const d;
 
95
    SvgViewAdapterPrivate* const d;
77
96
};
78
97
 
79
 
 
80
98
} // namespace
81
99
 
82
100
#endif /* SVGVIEWADAPTER_H */