summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src/poppler/Page.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/poppler/Page.h')
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/Page.h293
1 files changed, 0 insertions, 293 deletions
diff --git a/Build/source/libs/poppler/poppler-src/poppler/Page.h b/Build/source/libs/poppler/poppler-src/poppler/Page.h
deleted file mode 100644
index 7151ee5b25c..00000000000
--- a/Build/source/libs/poppler/poppler-src/poppler/Page.h
+++ /dev/null
@@ -1,293 +0,0 @@
-//========================================================================
-//
-// Page.h
-//
-// Copyright 1996-2003 Glyph & Cog, LLC
-//
-//========================================================================
-
-//========================================================================
-//
-// Modified under the Poppler project - http://poppler.freedesktop.org
-//
-// All changes made under the Poppler project to this file are licensed
-// under GPL version 2 or later
-//
-// Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
-// Copyright (C) 2005 Jeff Muizelaar <jeff@infidigm.net>
-// Copyright (C) 2006 Pino Toscano <pino@kde.org>
-// Copyright (C) 2006, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright (C) 2007 Julien Rebetez <julienr@svn.gnome.org>
-// Copyright (C) 2008 Iñigo Martínez <inigomartinez@gmail.com>
-// Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
-// Copyright (C) 2012, 2017, 2018 Albert Astals Cid <aacid@kde.org>
-// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
-// Copyright (C) 2013, 2017 Adrian Johnson <ajohnson@redneon.com>
-//
-// To see a description of the changes please see the Changelog file that
-// came with your tarball or type make ChangeLog if you are building from git
-//
-//========================================================================
-
-#ifndef PAGE_H
-#define PAGE_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma interface
-#endif
-
-#include "poppler-config.h"
-#include "Object.h"
-#include "goo/GooMutex.h"
-
-class Dict;
-class PDFDoc;
-class XRef;
-class OutputDev;
-class Links;
-class LinkAction;
-class Annots;
-class Annot;
-class Gfx;
-class FormPageWidgets;
-class Form;
-
-//------------------------------------------------------------------------
-
-class PDFRectangle {
-public:
- double x1, y1, x2, y2;
-
- PDFRectangle() { x1 = y1 = x2 = y2 = 0; }
- PDFRectangle(double x1A, double y1A, double x2A, double y2A)
- { x1 = x1A; y1 = y1A; x2 = x2A; y2 = y2A; }
- GBool isValid() { return x1 != 0 || y1 != 0 || x2 != 0 || y2 != 0; }
- GBool contains(double x, double y) { return x1 <= x && x <= x2 && y1 <= y && y <= y2; }
- void clipTo(PDFRectangle *rect);
-
- bool operator==(const PDFRectangle &rect) const { return x1 == rect.x1 && y1 == rect.y1 && x2 == rect.x2 && y2 == rect.y2; }
-};
-
-//------------------------------------------------------------------------
-// PageAttrs
-//------------------------------------------------------------------------
-
-class PageAttrs {
-public:
-
- // Construct a new PageAttrs object by merging a dictionary
- // (of type Pages or Page) into another PageAttrs object. If
- // <attrs> is NULL, uses defaults.
- PageAttrs(PageAttrs *attrs, Dict *dict);
-
- // Destructor.
- ~PageAttrs();
-
- // Accessors.
- PDFRectangle *getMediaBox() { return &mediaBox; }
- PDFRectangle *getCropBox() { return &cropBox; }
- GBool isCropped() { return haveCropBox; }
- PDFRectangle *getBleedBox() { return &bleedBox; }
- PDFRectangle *getTrimBox() { return &trimBox; }
- PDFRectangle *getArtBox() { return &artBox; }
- int getRotate() { return rotate; }
- const GooString *getLastModified() const
- { return lastModified.isString()
- ? lastModified.getString() : nullptr; }
- Dict *getBoxColorInfo()
- { return boxColorInfo.isDict() ? boxColorInfo.getDict() : (Dict *)NULL; }
- Dict *getGroup()
- { return group.isDict() ? group.getDict() : (Dict *)NULL; }
- Stream *getMetadata()
- { return metadata.isStream() ? metadata.getStream() : (Stream *)NULL; }
- Dict *getPieceInfo()
- { return pieceInfo.isDict() ? pieceInfo.getDict() : (Dict *)NULL; }
- Dict *getSeparationInfo()
- { return separationInfo.isDict()
- ? separationInfo.getDict() : (Dict *)NULL; }
- Dict *getResourceDict()
- { return resources.isDict() ? resources.getDict() : (Dict *)NULL; }
- Object *getResourceDictObject()
- { return &resources; }
- void replaceResource(Object &&obj1)
- { resources = std::move(obj1); }
-
- // Clip all other boxes to the MediaBox.
- void clipBoxes();
-
-private:
-
- GBool readBox(Dict *dict, const char *key, PDFRectangle *box);
-
- PDFRectangle mediaBox;
- PDFRectangle cropBox;
- GBool haveCropBox;
- PDFRectangle bleedBox;
- PDFRectangle trimBox;
- PDFRectangle artBox;
- int rotate;
- Object lastModified;
- Object boxColorInfo;
- Object group;
- Object metadata;
- Object pieceInfo;
- Object separationInfo;
- Object resources;
-};
-
-//------------------------------------------------------------------------
-// Page
-//------------------------------------------------------------------------
-
-class Page {
-public:
-
- // Constructor.
- Page(PDFDoc *docA, int numA, Object *pageDict, Ref pageRefA, PageAttrs *attrsA, Form *form);
-
- // Destructor.
- ~Page();
-
- Page(const Page &) = delete;
- Page& operator=(const Page &) = delete;
-
- // Is page valid?
- GBool isOk() { return ok; }
-
- // Get page parameters.
- int getNum() { return num; }
- PDFRectangle *getMediaBox() { return attrs->getMediaBox(); }
- PDFRectangle *getCropBox() { return attrs->getCropBox(); }
- GBool isCropped() { return attrs->isCropped(); }
- double getMediaWidth()
- { return attrs->getMediaBox()->x2 - attrs->getMediaBox()->x1; }
- double getMediaHeight()
- { return attrs->getMediaBox()->y2 - attrs->getMediaBox()->y1; }
- double getCropWidth()
- { return attrs->getCropBox()->x2 - attrs->getCropBox()->x1; }
- double getCropHeight()
- { return attrs->getCropBox()->y2 - attrs->getCropBox()->y1; }
- PDFRectangle *getBleedBox() { return attrs->getBleedBox(); }
- PDFRectangle *getTrimBox() { return attrs->getTrimBox(); }
- PDFRectangle *getArtBox() { return attrs->getArtBox(); }
- int getRotate() { return attrs->getRotate(); }
- const GooString *getLastModified() const { return attrs->getLastModified(); }
- Dict *getBoxColorInfo() { return attrs->getBoxColorInfo(); }
- Dict *getGroup() { return attrs->getGroup(); }
- Stream *getMetadata() { return attrs->getMetadata(); }
- Dict *getPieceInfo() { return attrs->getPieceInfo(); }
- Dict *getSeparationInfo() { return attrs->getSeparationInfo(); }
- PDFDoc *getDoc() { return doc; }
- Ref getRef() { return pageRef; }
-
- // Get resource dictionary.
- Dict *getResourceDict();
- Object *getResourceDictObject();
- Dict *getResourceDictCopy(XRef *xrefA);
-
- // Get annotations array.
- Object getAnnotsObject(XRef *xrefA = nullptr) { return annotsObj.fetch(xrefA ? xrefA : xref); }
- // Add a new annotation to the page
- void addAnnot(Annot *annot);
- // Remove an existing annotation from the page
- void removeAnnot(Annot *annot);
-
- // Return a list of links.
- Links *getLinks();
-
- // Return a list of annots. It will be valid until the page is destroyed
- Annots *getAnnots(XRef *xrefA = NULL);
-
- // Get contents.
- Object getContents() { return contents.fetch(xref); }
-
- // Get thumb.
- Object getThumb() { return thumb.fetch(xref); }
- GBool loadThumb(unsigned char **data, int *width, int *height, int *rowstride);
-
- // Get transition.
- Object getTrans() { return trans.fetch(xref); }
-
- // Get form.
- FormPageWidgets *getFormWidgets();
-
- // Get duration, the maximum length of time, in seconds,
- // that the page is displayed before the presentation automatically
- // advances to the next page
- double getDuration() { return duration; }
-
- // Get actions
- Object getActions() { return actions.fetch(xref); }
-
- enum PageAdditionalActionsType {
- actionOpenPage, ///< Performed when opening the page
- actionClosePage, ///< Performed when closing the page
- };
-
- LinkAction *getAdditionalAction(PageAdditionalActionsType type);
-
- Gfx *createGfx(OutputDev *out, double hDPI, double vDPI,
- int rotate, GBool useMediaBox, GBool crop,
- int sliceX, int sliceY, int sliceW, int sliceH,
- GBool printing,
- GBool (*abortCheckCbk)(void *data),
- void *abortCheckCbkData, XRef *xrefA = NULL);
-
- // Display a page.
- void display(OutputDev *out, double hDPI, double vDPI,
- int rotate, GBool useMediaBox, GBool crop,
- GBool printing,
- GBool (*abortCheckCbk)(void *data) = NULL,
- void *abortCheckCbkData = NULL,
- GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL,
- void *annotDisplayDecideCbkData = NULL,
- GBool copyXRef = gFalse);
-
- // Display part of a page.
- void displaySlice(OutputDev *out, double hDPI, double vDPI,
- int rotate, GBool useMediaBox, GBool crop,
- int sliceX, int sliceY, int sliceW, int sliceH,
- GBool printing,
- GBool (*abortCheckCbk)(void *data) = NULL,
- void *abortCheckCbkData = NULL,
- GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL,
- void *annotDisplayDecideCbkData = NULL,
- GBool copyXRef = gFalse);
-
- void display(Gfx *gfx);
-
- void makeBox(double hDPI, double vDPI, int rotate,
- GBool useMediaBox, GBool upsideDown,
- double sliceX, double sliceY, double sliceW, double sliceH,
- PDFRectangle *box, GBool *crop);
-
- void processLinks(OutputDev *out);
-
- // Get the page's default CTM.
- void getDefaultCTM(double *ctm, double hDPI, double vDPI,
- int rotate, GBool useMediaBox, GBool upsideDown);
-
-private:
- // replace xref
- void replaceXRef(XRef *xrefA);
-
- PDFDoc *doc;
- XRef *xref; // the xref table for this PDF file
- Object pageObj; // page dictionary
- Ref pageRef; // page reference
- int num; // page number
- PageAttrs *attrs; // page attributes
- Annots *annots; // annotations
- Object annotsObj; // annotations array
- Object contents; // page contents
- Object thumb; // page thumbnail
- Object trans; // page transition
- Object actions; // page additional actions
- double duration; // page duration
- GBool ok; // true if page is valid
-#ifdef MULTITHREADED
- GooMutex mutex;
-#endif
-};
-
-#endif