okular/psgs.h
Stefan Kebekus a29835df2b added psgs.h which I had forgotten
svn path=/trunk/kdegraphics/kdvi/; revision=54196
2000-06-24 04:43:55 +00:00

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
};