home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Enigma Amiga Life 110
/
EnigmaAmiga110CD.iso
/
indispensabili
/
utility
/
apdf
/
xpdf-0.80
/
xpdf
/
pdfdoc.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-06-20
|
3KB
|
109 lines
//========================================================================
//
// PDFDoc.h
//
// Copyright 1996 Derek B. Noonburg
//
//========================================================================
#ifndef PDFDOC_H
#define PDFDOC_H
#ifdef __GNUC__
#pragma interface
#endif
#include <stdio.h>
#include "mystdio.h"
#include "Link.h"
class GString;
class XRef;
class Catalog;
class OutputDev;
class Links;
class LinkAction;
class LinkDest;
//------------------------------------------------------------------------
// PDFDoc
//------------------------------------------------------------------------
class PDFDoc {
public:
PDFDoc(GString *fileName1);
~PDFDoc();
// Was PDF document successfully opened?
GBool isOk() { return ok; }
// Get file name.
GString *getFileName() { return fileName; }
// Get catalog.
Catalog *getCatalog() { return catalog; }
// Get page parameters.
double getPageWidth(int page)
{ return catalog->getPage(page)->getWidth(); }
double getPageHeight(int page)
{ return catalog->getPage(page)->getHeight(); }
int getPageRotate(int page)
{ return catalog->getPage(page)->getRotate(); }
// Get number of pages.
int getNumPages() { return catalog->getNumPages(); }
// Display a page.
void displayPage(OutputDev *out, int page, int zoom, int rotate,
GBool doLinks);
// Display a range of pages.
void displayPages(OutputDev *out, int firstPage, int lastPage,
int zoom, int rotate);
// Find a page, given its object ID. Returns page number, or 0 if
// not found.
int findPage(int num, int gen) { return catalog->findPage(num, gen); }
// If point <x>,<y> is in a link, return the associated action;
// else return NULL.
LinkAction *findLink(double x, double y) { return links?links->find(x, y):NULL; }
// Return true if <x>,<y> is in a link.
GBool onLink(double x, double y) { return links?links->onLink(x, y):gFalse; }
// Find a named destination. Returns the link destination, or
// NULL if <name> is not a destination.
LinkDest *findDest(GString *name)
{ return catalog->findDest(name); }
// Is the file encrypted?
GBool isEncrypted() { return xref->isEncrypted(); }
// Are printing and copying allowed? If not, print an error message.
GBool okToPrint() { return xref->okToPrint(); }
GBool okToCopy() { return xref->okToCopy(); }
// Return the document's Info dictionary (if any).
Object *getDocInfo(Object *obj) { return xref->getDocInfo(obj); }
// Save this file with another name.
GBool saveAs(GString *name);
private:
void getLinks(int page);
GString *fileName;
myFILE *file;
XRef *xref;
Catalog *catalog;
Links *links;
GBool ok;
};
#endif