mirror of
https://github.com/YACReader/yacreader
synced 2025-07-23 15:35:03 -04:00
a?adido #include <typeinfo> (compilaci?n Linux)
This commit is contained in:
920
dependencies/poppler/include/poppler-annotation.h
vendored
Normal file
920
dependencies/poppler/include/poppler-annotation.h
vendored
Normal file
@ -0,0 +1,920 @@
|
||||
/* poppler-annotation.h: qt interface to poppler
|
||||
* Copyright (C) 2006-2008, 2012 Albert Astals Cid <aacid@kde.org>
|
||||
* Copyright (C) 2006, 2008 Pino Toscano <pino@kde.org>
|
||||
* Copyright (C) 2007, Brad Hards <bradh@frogmouth.net>
|
||||
* Copyright (C) 2010, Philip Lorenz <lorenzph+freedesktop@gmail.com>
|
||||
* Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
|
||||
* Copyright (C) 2012, Guillermo A. Amaral B. <gamaral@kde.org>
|
||||
* Copyright (C) 2012, Fabio D'Urso <fabiodurso@hotmail.it>
|
||||
* Adapting code from
|
||||
* Copyright (C) 2004 by Enrico Ros <eros.kde@email.it>
|
||||
*
|
||||
* 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, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef _POPPLER_ANNOTATION_H_
|
||||
#define _POPPLER_ANNOTATION_H_
|
||||
|
||||
#include <QtCore/QDateTime>
|
||||
#include <QtCore/QSharedDataPointer>
|
||||
#include <QtCore/QLinkedList>
|
||||
#include <QtCore/QList>
|
||||
#include <QtCore/QPointF>
|
||||
#include <QtCore/QRectF>
|
||||
#include <QtCore/QVector>
|
||||
#include <QtGui/QColor>
|
||||
#include <QtGui/QFont>
|
||||
#include <QtXml/QDomDocument>
|
||||
#include "poppler-export.h"
|
||||
|
||||
namespace Poppler {
|
||||
|
||||
class Annotation;
|
||||
class AnnotationPrivate;
|
||||
class TextAnnotationPrivate;
|
||||
class LineAnnotationPrivate;
|
||||
class GeomAnnotationPrivate;
|
||||
class HighlightAnnotationPrivate;
|
||||
class StampAnnotationPrivate;
|
||||
class InkAnnotationPrivate;
|
||||
class LinkAnnotationPrivate;
|
||||
class CaretAnnotationPrivate;
|
||||
class FileAttachmentAnnotationPrivate;
|
||||
class SoundAnnotationPrivate;
|
||||
class MovieAnnotationPrivate;
|
||||
class ScreenAnnotationPrivate;
|
||||
class WidgetAnnotationPrivate;
|
||||
class EmbeddedFile;
|
||||
class Link;
|
||||
class SoundObject;
|
||||
class MovieObject;
|
||||
class LinkRendition;
|
||||
class Page;
|
||||
|
||||
/**
|
||||
* \short Helper class for (recursive) Annotation retrieval/storage.
|
||||
*
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT AnnotationUtils
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Restore an Annotation (with revisions if needed) from the DOM
|
||||
* element \p annElement.
|
||||
* \returns a pointer to the complete Annotation or 0 if element is
|
||||
* invalid.
|
||||
*/
|
||||
static Annotation * createAnnotation( const QDomElement & annElement );
|
||||
|
||||
/**
|
||||
* Save the Annotation \p ann as a child of \p annElement taking
|
||||
* care of saving all revisions if \p ann has any.
|
||||
*/
|
||||
static void storeAnnotation( const Annotation * ann,
|
||||
QDomElement & annElement, QDomDocument & document );
|
||||
|
||||
/**
|
||||
* Returns an element called \p name from the direct children of
|
||||
* \p parentNode or a null element if not found.
|
||||
*/
|
||||
static QDomElement findChildElement( const QDomNode & parentNode,
|
||||
const QString & name );
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* \short Annotation class holding properties shared by all annotations.
|
||||
*
|
||||
* An Annotation is an object (text note, highlight, sound, popup window, ..)
|
||||
* contained by a Page in the document.
|
||||
*
|
||||
* \warning Different Annotation objects might point to the same annotation.
|
||||
* Use uniqueName to test for Annotation equality
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class LinkMovie;
|
||||
friend class LinkRendition;
|
||||
|
||||
public:
|
||||
// enum definitions
|
||||
// WARNING!!! oKular uses that very same values so if you change them notify the author!
|
||||
enum SubType { AText = 1, ALine = 2, AGeom = 3, AHighlight = 4, AStamp = 5,
|
||||
AInk = 6, ALink = 7, ACaret = 8, AFileAttachment = 9, ASound = 10,
|
||||
AMovie = 11, AScreen = 12 /** \since 0.20 */, AWidget = 13 /** \since 0.22 */, A_BASE = 0 };
|
||||
enum Flag { Hidden = 1, FixedSize = 2, FixedRotation = 4, DenyPrint = 8,
|
||||
DenyWrite = 16, DenyDelete = 32, ToggleHidingOnMouse = 64, External = 128 };
|
||||
enum LineStyle { Solid = 1, Dashed = 2, Beveled = 4, Inset = 8, Underline = 16 };
|
||||
enum LineEffect { NoEffect = 1, Cloudy = 2};
|
||||
enum RevScope { Root = 0 /** \since 0.20 */, Reply = 1, Group = 2, Delete = 4 };
|
||||
enum RevType { None = 1, Marked = 2, Unmarked = 4, Accepted = 8, Rejected = 16, Cancelled = 32, Completed = 64 };
|
||||
|
||||
/**
|
||||
* Returns the author of the annotation.
|
||||
*/
|
||||
QString author() const;
|
||||
/**
|
||||
* Sets a new author for the annotation.
|
||||
*/
|
||||
void setAuthor( const QString &author );
|
||||
|
||||
QString contents() const;
|
||||
void setContents( const QString &contents );
|
||||
|
||||
/**
|
||||
* Returns the unique name (ID) of the annotation.
|
||||
*/
|
||||
QString uniqueName() const;
|
||||
/**
|
||||
* Sets a new unique name for the annotation.
|
||||
*
|
||||
* \note no check of the new uniqueName is done
|
||||
*/
|
||||
void setUniqueName( const QString &uniqueName );
|
||||
|
||||
QDateTime modificationDate() const;
|
||||
void setModificationDate( const QDateTime &date );
|
||||
|
||||
QDateTime creationDate() const;
|
||||
void setCreationDate( const QDateTime &date );
|
||||
|
||||
int flags() const;
|
||||
void setFlags( int flags );
|
||||
|
||||
QRectF boundary() const;
|
||||
void setBoundary( const QRectF &boundary );
|
||||
|
||||
/**
|
||||
* \short Container class for Annotation style information
|
||||
*
|
||||
* \since 0.20
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT Style
|
||||
{
|
||||
public:
|
||||
Style();
|
||||
Style( const Style &other );
|
||||
Style& operator=( const Style &other );
|
||||
~Style();
|
||||
|
||||
// appearance properties
|
||||
QColor color() const; // black
|
||||
void setColor(const QColor &color);
|
||||
double opacity() const; // 1.0
|
||||
void setOpacity(double opacity);
|
||||
|
||||
// pen properties
|
||||
double width() const; // 1.0
|
||||
void setWidth(double width);
|
||||
LineStyle lineStyle() const; // LineStyle::Solid
|
||||
void setLineStyle(LineStyle style);
|
||||
double xCorners() const; // 0.0
|
||||
void setXCorners(double radius);
|
||||
double yCorners() const; // 0.0
|
||||
void setYCorners(double radius);
|
||||
const QVector<double>& dashArray() const; // [ 3 ]
|
||||
void setDashArray(const QVector<double> &array);
|
||||
|
||||
// pen effects
|
||||
LineEffect lineEffect() const; // LineEffect::NoEffect
|
||||
void setLineEffect(LineEffect effect);
|
||||
double effectIntensity() const; // 1.0
|
||||
void setEffectIntensity(double intens);
|
||||
|
||||
private:
|
||||
class Private;
|
||||
QSharedDataPointer<Private> d;
|
||||
};
|
||||
|
||||
/// \since 0.20
|
||||
Style style() const;
|
||||
/// \since 0.20
|
||||
void setStyle( const Style& style );
|
||||
|
||||
/**
|
||||
* \short Container class for Annotation pop-up window information
|
||||
*
|
||||
* \since 0.20
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT Popup
|
||||
{
|
||||
public:
|
||||
Popup();
|
||||
Popup( const Popup &other );
|
||||
Popup& operator=( const Popup &other );
|
||||
~Popup();
|
||||
|
||||
// window state (Hidden, FixedRotation, Deny* flags allowed)
|
||||
int flags() const; // -1 (never initialized) -> 0 (if inited and shown)
|
||||
void setFlags( int flags );
|
||||
|
||||
// geometric properties
|
||||
QRectF geometry() const; // no default
|
||||
void setGeometry( const QRectF &geom );
|
||||
|
||||
// window contens/override properties
|
||||
QString title() const; // '' text in the titlebar (overrides author)
|
||||
void setTitle( const QString &title );
|
||||
QString summary() const; // '' short description (displayed if not empty)
|
||||
void setSummary( const QString &summary );
|
||||
QString text() const; // '' text for the window (overrides annot->contents)
|
||||
void setText( const QString &text );
|
||||
|
||||
private:
|
||||
class Private;
|
||||
QSharedDataPointer<Private> d;
|
||||
};
|
||||
|
||||
/// \since 0.20
|
||||
Popup popup() const;
|
||||
/// \since 0.20
|
||||
void setPopup( const Popup& popup );
|
||||
|
||||
/// \cond PRIVATE
|
||||
// This field is deprecated and not used any more. Use popup
|
||||
Q_DECL_DEPRECATED struct { int width, height; } window; // Always set to zero
|
||||
/// \endcond
|
||||
|
||||
/// \since 0.20
|
||||
RevScope revisionScope() const; // Root
|
||||
|
||||
/// \since 0.20
|
||||
RevType revisionType() const; // None
|
||||
|
||||
/**
|
||||
* Returns the revisions of this annotation
|
||||
*
|
||||
* \note The caller owns the returned annotations and they should
|
||||
* be deleted when no longer required.
|
||||
*
|
||||
* \since 0.20
|
||||
*/
|
||||
QList<Annotation*> revisions() const;
|
||||
|
||||
/**
|
||||
* The type of the annotation.
|
||||
*/
|
||||
virtual SubType subType() const = 0;
|
||||
|
||||
/**
|
||||
* Destructor.
|
||||
*/
|
||||
virtual ~Annotation();
|
||||
|
||||
/**
|
||||
* Describes the flags from an annotations 'AA' dictionary.
|
||||
*
|
||||
* This flag is used by the additionalAction() method for ScreenAnnotation
|
||||
* and WidgetAnnotation.
|
||||
*
|
||||
* \since 0.22
|
||||
*/
|
||||
enum AdditionalActionType
|
||||
{
|
||||
CursorEnteringAction, ///< Performed when the cursor enters the annotation's active area
|
||||
CursorLeavingAction, ///< Performed when the cursor exists the annotation's active area
|
||||
MousePressedAction, ///< Performed when the mouse button is pressed inside the annotation's active area
|
||||
MouseReleasedAction, ///< Performed when the mouse button is released inside the annotation's active area
|
||||
FocusInAction, ///< Performed when the annotation receives the input focus
|
||||
FocusOutAction, ///< Performed when the annotation loses the input focus
|
||||
PageOpeningAction, ///< Performed when the page containing the annotation is opened
|
||||
PageClosingAction, ///< Performed when the page containing the annotation is closed
|
||||
PageVisibleAction, ///< Performed when the page containing the annotation becomes visible
|
||||
PageInvisibleAction ///< Performed when the page containing the annotation becomes invisible
|
||||
};
|
||||
|
||||
protected:
|
||||
/// \cond PRIVATE
|
||||
Annotation( AnnotationPrivate &dd );
|
||||
Annotation( AnnotationPrivate &dd, const QDomNode &description );
|
||||
void storeBaseAnnotationProperties( QDomNode & parentNode, QDomDocument & document ) const;
|
||||
Q_DECLARE_PRIVATE( Annotation )
|
||||
QExplicitlySharedDataPointer<AnnotationPrivate> d_ptr;
|
||||
/// \endcond
|
||||
|
||||
private:
|
||||
virtual void store( QDomNode & parentNode, QDomDocument & document ) const = 0;
|
||||
Q_DISABLE_COPY( Annotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Annotation containing text.
|
||||
*
|
||||
* A text annotation is an object showing some text directly on the page, or
|
||||
* linked to the contents using an icon shown on a page.
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT TextAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
// local enums
|
||||
enum TextType { Linked, InPlace };
|
||||
enum InplaceIntent { Unknown, Callout, TypeWriter };
|
||||
|
||||
TextAnnotation( TextType type );
|
||||
virtual ~TextAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
The type of text annotation represented by this object
|
||||
*/
|
||||
TextType textType() const;
|
||||
|
||||
/**
|
||||
The name of the icon for this text annotation.
|
||||
|
||||
Standard names for text annotation icons are:
|
||||
- Comment
|
||||
- Help
|
||||
- Insert
|
||||
- Key
|
||||
- NewParagraph
|
||||
- Note (this is the default icon to use)
|
||||
- Paragraph
|
||||
*/
|
||||
QString textIcon() const;
|
||||
|
||||
/**
|
||||
Set the name of the icon to use for this text annotation.
|
||||
|
||||
\sa textIcon for the list of standard names
|
||||
*/
|
||||
void setTextIcon( const QString &icon );
|
||||
|
||||
QFont textFont() const;
|
||||
void setTextFont( const QFont &font );
|
||||
|
||||
int inplaceAlign() const;
|
||||
void setInplaceAlign( int align );
|
||||
|
||||
/**
|
||||
Synonym for contents()
|
||||
|
||||
\deprecated Use contents() instead
|
||||
*/
|
||||
QString inplaceText() const;
|
||||
/**
|
||||
Synonym for setContents()
|
||||
|
||||
\deprecated Use setContents() instead
|
||||
*/
|
||||
void setInplaceText( const QString &text );
|
||||
|
||||
QPointF calloutPoint( int id ) const;
|
||||
/// \since 0.20
|
||||
QVector<QPointF> calloutPoints() const;
|
||||
/// \since 0.20
|
||||
void setCalloutPoints( const QVector<QPointF> &points );
|
||||
|
||||
InplaceIntent inplaceIntent() const;
|
||||
void setInplaceIntent( InplaceIntent intent );
|
||||
|
||||
private:
|
||||
TextAnnotation( const QDomNode &node );
|
||||
TextAnnotation( TextAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
void setTextType( TextType type );
|
||||
Q_DECLARE_PRIVATE( TextAnnotation )
|
||||
Q_DISABLE_COPY( TextAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Polygon/polyline annotation.
|
||||
*
|
||||
* This annotation represents a polygon (or polyline) to be drawn on a page.
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT LineAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
// local enums
|
||||
/// \since 0.20
|
||||
enum LineType { StraightLine, Polyline };
|
||||
enum TermStyle { Square, Circle, Diamond, OpenArrow, ClosedArrow, None,
|
||||
Butt, ROpenArrow, RClosedArrow, Slash };
|
||||
enum LineIntent { Unknown, Arrow, Dimension, PolygonCloud };
|
||||
|
||||
/// \since 0.20
|
||||
LineAnnotation( LineType type );
|
||||
virtual ~LineAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/// \since 0.20
|
||||
LineType lineType() const;
|
||||
|
||||
QLinkedList<QPointF> linePoints() const;
|
||||
void setLinePoints( const QLinkedList<QPointF> &points );
|
||||
|
||||
TermStyle lineStartStyle() const;
|
||||
void setLineStartStyle( TermStyle style );
|
||||
|
||||
TermStyle lineEndStyle() const;
|
||||
void setLineEndStyle( TermStyle style );
|
||||
|
||||
bool isLineClosed() const;
|
||||
void setLineClosed( bool closed );
|
||||
|
||||
QColor lineInnerColor() const;
|
||||
void setLineInnerColor( const QColor &color );
|
||||
|
||||
double lineLeadingForwardPoint() const;
|
||||
void setLineLeadingForwardPoint( double point );
|
||||
|
||||
double lineLeadingBackPoint() const;
|
||||
void setLineLeadingBackPoint( double point );
|
||||
|
||||
bool lineShowCaption() const;
|
||||
void setLineShowCaption( bool show );
|
||||
|
||||
LineIntent lineIntent() const;
|
||||
void setLineIntent( LineIntent intent );
|
||||
|
||||
private:
|
||||
LineAnnotation( const QDomNode &node );
|
||||
LineAnnotation( LineAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
void setLineType( LineType type );
|
||||
Q_DECLARE_PRIVATE( LineAnnotation )
|
||||
Q_DISABLE_COPY( LineAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Geometric annotation.
|
||||
*
|
||||
* The geometric annotation represents a geometric figure, like a rectangle or
|
||||
* an ellipse.
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT GeomAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
GeomAnnotation();
|
||||
virtual ~GeomAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
// common enums
|
||||
enum GeomType { InscribedSquare, InscribedCircle };
|
||||
|
||||
GeomType geomType() const;
|
||||
void setGeomType( GeomType style );
|
||||
|
||||
QColor geomInnerColor() const;
|
||||
void setGeomInnerColor( const QColor &color );
|
||||
|
||||
private:
|
||||
GeomAnnotation( const QDomNode &node );
|
||||
GeomAnnotation( GeomAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( GeomAnnotation )
|
||||
Q_DISABLE_COPY( GeomAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Text highlight annotation.
|
||||
*
|
||||
* The higlight annotation represents some areas of text being "highlighted".
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT HighlightAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
HighlightAnnotation();
|
||||
virtual ~HighlightAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
The type of highlight
|
||||
*/
|
||||
enum HighlightType { Highlight, ///< highlighter pen style annotation
|
||||
Squiggly, ///< jagged or squiggly underline
|
||||
Underline, ///< straight line underline
|
||||
StrikeOut ///< straight line through-line
|
||||
};
|
||||
|
||||
/**
|
||||
Structure corresponding to a QuadPoints array. This matches a
|
||||
quadrilateral that describes the area around a word (or set of
|
||||
words) that are to be highlighted.
|
||||
*/
|
||||
struct Quad
|
||||
{
|
||||
QPointF points[4]; // 8 valid coords
|
||||
bool capStart; // false (vtx 1-4) [K]
|
||||
bool capEnd; // false (vtx 2-3) [K]
|
||||
double feather; // 0.1 (in range 0..1) [K]
|
||||
};
|
||||
|
||||
/**
|
||||
The type (style) of highlighting to use for this area
|
||||
or these areas.
|
||||
*/
|
||||
HighlightType highlightType() const;
|
||||
|
||||
/**
|
||||
Set the type of highlighting to use for the given area
|
||||
or areas.
|
||||
*/
|
||||
void setHighlightType( HighlightType type );
|
||||
|
||||
/**
|
||||
The list of areas to highlight.
|
||||
*/
|
||||
QList< Quad > highlightQuads() const;
|
||||
|
||||
/**
|
||||
Set the areas to highlight.
|
||||
*/
|
||||
void setHighlightQuads( const QList< Quad > &quads );
|
||||
|
||||
private:
|
||||
HighlightAnnotation( const QDomNode &node );
|
||||
HighlightAnnotation( HighlightAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( HighlightAnnotation )
|
||||
Q_DISABLE_COPY( HighlightAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Stamp annotation.
|
||||
*
|
||||
* A simple annotation drawing a stamp on a page.
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT StampAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
StampAnnotation();
|
||||
virtual ~StampAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
The name of the icon for this stamp annotation.
|
||||
|
||||
Standard names for stamp annotation icons are:
|
||||
- Approved
|
||||
- AsIs
|
||||
- Confidential
|
||||
- Departmental
|
||||
- Draft (this is the default icon type)
|
||||
- Experimental
|
||||
- Expired
|
||||
- Final
|
||||
- ForComment
|
||||
- ForPublicRelease
|
||||
- NotApproved
|
||||
- NotForPublicRelease
|
||||
- Sold
|
||||
- TopSecret
|
||||
*/
|
||||
QString stampIconName() const;
|
||||
|
||||
/**
|
||||
Set the icon type for this stamp annotation.
|
||||
|
||||
\sa stampIconName for the list of standard icon names
|
||||
*/
|
||||
void setStampIconName( const QString &name );
|
||||
|
||||
private:
|
||||
StampAnnotation( const QDomNode &node );
|
||||
StampAnnotation( StampAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( StampAnnotation )
|
||||
Q_DISABLE_COPY( StampAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Ink Annotation.
|
||||
*
|
||||
* Annotation representing an ink path on a page.
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT InkAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
InkAnnotation();
|
||||
virtual ~InkAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
QList< QLinkedList<QPointF> > inkPaths() const;
|
||||
void setInkPaths( const QList< QLinkedList<QPointF> > &paths );
|
||||
|
||||
private:
|
||||
InkAnnotation( const QDomNode &node );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
InkAnnotation(InkAnnotationPrivate &dd);
|
||||
Q_DECLARE_PRIVATE( InkAnnotation )
|
||||
Q_DISABLE_COPY( InkAnnotation )
|
||||
};
|
||||
|
||||
class POPPLER_QT4_EXPORT LinkAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
virtual ~LinkAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
// local enums
|
||||
enum HighlightMode { None, Invert, Outline, Push };
|
||||
|
||||
/** \since 0.20 */
|
||||
Link* linkDestination() const;
|
||||
void setLinkDestination( Link *link );
|
||||
|
||||
HighlightMode linkHighlightMode() const;
|
||||
void setLinkHighlightMode( HighlightMode mode );
|
||||
|
||||
QPointF linkRegionPoint( int id ) const;
|
||||
void setLinkRegionPoint( int id, const QPointF &point );
|
||||
|
||||
private:
|
||||
LinkAnnotation();
|
||||
LinkAnnotation( const QDomNode &node );
|
||||
LinkAnnotation( LinkAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( LinkAnnotation )
|
||||
Q_DISABLE_COPY( LinkAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Caret annotation.
|
||||
*
|
||||
* The caret annotation represents a symbol to indicate the presence of text.
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT CaretAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationUtils;
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
CaretAnnotation();
|
||||
virtual ~CaretAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
* The symbols for the caret annotation.
|
||||
*/
|
||||
enum CaretSymbol { None, P };
|
||||
|
||||
CaretSymbol caretSymbol() const;
|
||||
void setCaretSymbol( CaretSymbol symbol );
|
||||
|
||||
private:
|
||||
CaretAnnotation( const QDomNode &node );
|
||||
CaretAnnotation( CaretAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( CaretAnnotation )
|
||||
Q_DISABLE_COPY( CaretAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short File attachment annotation.
|
||||
*
|
||||
* The file attachment annotation represents a file embedded in the document.
|
||||
*
|
||||
* \since 0.10
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT FileAttachmentAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
virtual ~FileAttachmentAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
* Returns the name of the icon of this annotation.
|
||||
*/
|
||||
QString fileIconName() const;
|
||||
/**
|
||||
* Sets a new name for the icon of this annotation.
|
||||
*/
|
||||
void setFileIconName( const QString &icon );
|
||||
|
||||
/**
|
||||
* Returns the EmbeddedFile of this annotation.
|
||||
*/
|
||||
EmbeddedFile* embeddedFile() const;
|
||||
/**
|
||||
* Sets a new EmbeddedFile for this annotation.
|
||||
*
|
||||
* \note FileAttachmentAnnotation takes ownership of the object
|
||||
*/
|
||||
void setEmbeddedFile( EmbeddedFile *ef );
|
||||
|
||||
private:
|
||||
FileAttachmentAnnotation();
|
||||
FileAttachmentAnnotation( const QDomNode &node );
|
||||
FileAttachmentAnnotation( FileAttachmentAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( FileAttachmentAnnotation )
|
||||
Q_DISABLE_COPY( FileAttachmentAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Sound annotation.
|
||||
*
|
||||
* The sound annotation represents a sound to be played when activated.
|
||||
*
|
||||
* \since 0.10
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT SoundAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
virtual ~SoundAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
* Returns the name of the icon of this annotation.
|
||||
*/
|
||||
QString soundIconName() const;
|
||||
/**
|
||||
* Sets a new name for the icon of this annotation.
|
||||
*/
|
||||
void setSoundIconName( const QString &icon );
|
||||
|
||||
/**
|
||||
* Returns the SoundObject of this annotation.
|
||||
*/
|
||||
SoundObject* sound() const;
|
||||
/**
|
||||
* Sets a new SoundObject for this annotation.
|
||||
*
|
||||
* \note SoundAnnotation takes ownership of the object
|
||||
*/
|
||||
void setSound( SoundObject *ef );
|
||||
|
||||
private:
|
||||
SoundAnnotation();
|
||||
SoundAnnotation( const QDomNode &node );
|
||||
SoundAnnotation( SoundAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( SoundAnnotation )
|
||||
Q_DISABLE_COPY( SoundAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Movie annotation.
|
||||
*
|
||||
* The movie annotation represents a movie to be played when activated.
|
||||
*
|
||||
* \since 0.10
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT MovieAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
virtual ~MovieAnnotation();
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
* Returns the MovieObject of this annotation.
|
||||
*/
|
||||
MovieObject* movie() const;
|
||||
/**
|
||||
* Sets a new MovieObject for this annotation.
|
||||
*
|
||||
* \note MovieAnnotation takes ownership of the object
|
||||
*/
|
||||
void setMovie( MovieObject *movie );
|
||||
|
||||
/**
|
||||
* Returns the title of the movie of this annotation.
|
||||
*/
|
||||
QString movieTitle() const;
|
||||
/**
|
||||
* Sets a new title for the movie of this annotation.
|
||||
*/
|
||||
void setMovieTitle( const QString &title );
|
||||
|
||||
private:
|
||||
MovieAnnotation();
|
||||
MovieAnnotation( const QDomNode &node );
|
||||
MovieAnnotation( MovieAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const;
|
||||
Q_DECLARE_PRIVATE( MovieAnnotation )
|
||||
Q_DISABLE_COPY( MovieAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Screen annotation.
|
||||
*
|
||||
* The screen annotation represents a screen to be played when activated.
|
||||
*
|
||||
* \since 0.20
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT ScreenAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
virtual ~ScreenAnnotation();
|
||||
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
* Returns the LinkRendition of this annotation.
|
||||
*/
|
||||
LinkRendition* action() const;
|
||||
|
||||
/**
|
||||
* Sets a new LinkRendition for this annotation.
|
||||
*
|
||||
* \note ScreenAnnotation takes ownership of the object
|
||||
*/
|
||||
void setAction( LinkRendition *action );
|
||||
|
||||
/**
|
||||
* Returns the title of the screen of this annotation.
|
||||
*/
|
||||
QString screenTitle() const;
|
||||
|
||||
/**
|
||||
* Sets a new title for the screen of this annotation.
|
||||
*/
|
||||
void setScreenTitle( const QString &title );
|
||||
|
||||
/**
|
||||
* Returns the additional action of the given @p type fo the annotation or
|
||||
* @c 0 if no action has been defined.
|
||||
*
|
||||
* \since 0.22
|
||||
*/
|
||||
Link* additionalAction( AdditionalActionType type ) const;
|
||||
|
||||
private:
|
||||
ScreenAnnotation();
|
||||
ScreenAnnotation( ScreenAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const; // stub
|
||||
Q_DECLARE_PRIVATE( ScreenAnnotation )
|
||||
Q_DISABLE_COPY( ScreenAnnotation )
|
||||
};
|
||||
|
||||
/**
|
||||
* \short Widget annotation.
|
||||
*
|
||||
* The widget annotation represents a widget (form field) on a page.
|
||||
*
|
||||
* \note This class is just provided for consistency of the annotation API,
|
||||
* use the FormField classes to get all the form-related information.
|
||||
*
|
||||
* \since 0.22
|
||||
*/
|
||||
class POPPLER_QT4_EXPORT WidgetAnnotation : public Annotation
|
||||
{
|
||||
friend class AnnotationPrivate;
|
||||
|
||||
public:
|
||||
virtual ~WidgetAnnotation();
|
||||
|
||||
virtual SubType subType() const;
|
||||
|
||||
/**
|
||||
* Returns the additional action of the given @p type fo the annotation or
|
||||
* @c 0 if no action has been defined.
|
||||
*
|
||||
* \since 0.22
|
||||
*/
|
||||
Link* additionalAction( AdditionalActionType type ) const;
|
||||
|
||||
private:
|
||||
WidgetAnnotation();
|
||||
WidgetAnnotation( WidgetAnnotationPrivate &dd );
|
||||
virtual void store( QDomNode &parentNode, QDomDocument &document ) const; // stub
|
||||
Q_DECLARE_PRIVATE( WidgetAnnotation )
|
||||
Q_DISABLE_COPY( WidgetAnnotation )
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user