annotations_p.h 1.92 KB
Newer Older
1 2 3 4 5 6 7 8 9
/***************************************************************************
 *   Copyright (C) 2007 by Pino Toscano <pino@kde.org>                     *
 *                                                                         *
 *   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.                                   *
 ***************************************************************************/

Pino Toscano's avatar
Pino Toscano committed
10 11
#ifndef OKULAR_ANNOTATIONS_P_H
#define OKULAR_ANNOTATIONS_P_H
12 13 14 15 16 17 18

#include "area.h"
#include "annotations.h"

// qt/kde includes
#include <QtCore/QDateTime>
#include <QtCore/QString>
19
#include <QtCore/QVariant>
20 21
#include <QtGui/QColor>

22 23
class QMatrix;

24 25
namespace Okular {

26 27
class PagePrivate;

28 29 30 31 32 33 34
class AnnotationPrivate
{
    public:
        AnnotationPrivate();

        virtual ~AnnotationPrivate();

35 36 37 38
        /**
         * Transforms the annotation coordinates with the transformation
         * defined by @p matrix.
         */
39 40
        void annotationTransform( const QMatrix &matrix );

41
        virtual void transform( const QMatrix &matrix );
42
        virtual void baseTransform( const QMatrix &matrix );
43
        virtual void resetTransformation();
44 45 46
        virtual void translate( const NormalizedPoint &coord );

        PagePrivate * m_page;
47

48 49 50 51 52 53 54 55 56 57 58 59 60
        QString m_author;
        QString m_contents;
        QString m_uniqueName;
        QDateTime m_modifyDate;
        QDateTime m_creationDate;

        int m_flags;
        NormalizedRect m_boundary;
        NormalizedRect m_transformedBoundary;

        Okular::Annotation::Style m_style;
        Okular::Annotation::Window m_window;
        QLinkedList< Okular::Annotation::Revision > m_revisions;
61 62 63

        Annotation::DisposeDataFunction m_disposeFunc;
        QVariant m_nativeId;
64 65 66 67 68
};

}

#endif