mirror of
https://invent.kde.org/graphics/okular
synced 2024-09-19 16:01:41 +00:00
a29835df2b
svn path=/trunk/kdegraphics/kdvi/; revision=54196
64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
#include <qstring.h>
|
|
#include <qintdict.h>
|
|
#include <qintcache.h>
|
|
#include <qpixmap.h>
|
|
#include <ktempfile.h>
|
|
|
|
|
|
class pageInfo
|
|
{
|
|
public:
|
|
pageInfo(QString PS);
|
|
|
|
QString *PostScriptString;
|
|
KTempFile *Gfx;
|
|
};
|
|
|
|
|
|
// Maximal number of PostScript-Pages which are held in memory (or on
|
|
// the disk) for speedup. This should later be made dynamic, maybe
|
|
// with the possibility of switching on/off.
|
|
#define PAGES_IN_MEMORY_CACHE 13
|
|
#define PAGES_IN_DISK_CACHE 101
|
|
|
|
|
|
class ghostscript_interface
|
|
{
|
|
|
|
|
|
|
|
public:
|
|
ghostscript_interface(double dpi, int pxlw, int pxlh);
|
|
~ghostscript_interface();
|
|
|
|
void setSize(double dpi, int pxlw, int pxlh);
|
|
|
|
void clear();
|
|
|
|
//
|
|
void setPostScript(int page, QString PostScript);
|
|
|
|
// Returns the graphics of the page, if possible. The functions
|
|
// returns a pointer to a QPixmap, or null. The referred QPixmap
|
|
// should be deleted after use.
|
|
QPixmap *graphics(int page);
|
|
|
|
QString *PostScriptHeaderString;
|
|
|
|
private:
|
|
void gs_generate_graphics_file(int page, QString filename);
|
|
QIntDict<pageInfo> *pageList;
|
|
|
|
// Chache to store pages which contain PostScript and are therefore
|
|
// slow to render.
|
|
QIntCache<QPixmap> *MemoryCache;
|
|
|
|
// Chache to store pages which contain PostScript and are therefore
|
|
// slow to render.
|
|
QIntCache<KTempFile> *DiskCache;
|
|
|
|
double resolution; // in dots per inch
|
|
int pixel_page_w; // in pixels
|
|
int pixel_page_h; // in pixels
|
|
};
|