You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.3 KiB
98 lines
2.3 KiB
///======================================================================== |
|
// |
|
// QOutputDevPixmap.cc |
|
// |
|
// Copyright 1996 Derek B. Noonburg |
|
// CopyRight 2002 Robert Griebl |
|
// |
|
//======================================================================== |
|
|
|
#ifdef __GNUC__ |
|
#pragma implementation |
|
#endif |
|
|
|
#include <aconf.h> |
|
#include <stdio.h> |
|
#include <stdlib.h> |
|
#include <stddef.h> |
|
#include <unistd.h> |
|
#include <string.h> |
|
#include <ctype.h> |
|
#include <math.h> |
|
#include <iostream> |
|
|
|
#include <GString.h> |
|
#include <Object.h> |
|
#include <Stream.h> |
|
#include <Link.h> |
|
#include <GfxState.h> |
|
#include <GfxFont.h> |
|
#include <UnicodeMap.h> |
|
#include <CharCodeToUnicode.h> |
|
#include <FontFile.h> |
|
#include <Error.h> |
|
#include <TextOutputDev.h> |
|
#include <Catalog.h> |
|
|
|
#include <qpixmap.h> |
|
#include <qcolor.h> |
|
#include <qimage.h> |
|
#include <qpainter.h> |
|
#include <qdict.h> |
|
#include <qtimer.h> |
|
#include <qapplication.h> |
|
#include <qclipboard.h> |
|
|
|
#include <kdebug.h> |
|
|
|
#include "QOutputDevPixmap.h" |
|
#include "QOutputDevPixmap.moc" |
|
|
|
#define QPDFDBG(x) x // special debug mode |
|
//#define QPDFDBG(x) // normal compilation |
|
|
|
//------------------------------------------------------------------------ |
|
// Constants and macros |
|
//------------------------------------------------------------------------ |
|
|
|
#ifndef KDE_USE_FINAL |
|
static inline QColor q_col ( const GfxRGB &rgb ) |
|
{ |
|
return QColor ( qRound ( rgb. r * 255 ), qRound ( rgb. g * 255 ), qRound ( rgb. b * 255 )); |
|
} |
|
#endif |
|
|
|
|
|
//------------------------------------------------------------------------ |
|
// QOutputDevPixmap |
|
//------------------------------------------------------------------------ |
|
|
|
QOutputDevPixmap::QOutputDevPixmap () : m_pixmap(0), QOutputDev(0) |
|
{ |
|
} |
|
|
|
QOutputDevPixmap::~QOutputDevPixmap ( ) |
|
{ |
|
delete m_pixmap; |
|
} |
|
|
|
void QOutputDevPixmap::startPage ( int pageNum, GfxState *state ) |
|
{ |
|
QOutputDev::startPage( pageNum, state); |
|
delete m_painter; |
|
delete m_pixmap; |
|
|
|
m_pixmap = new QPixmap ( qRound ( state->getPageWidth ( )), qRound ( state->getPageHeight ( ))); |
|
m_painter = new QPainter ( m_pixmap ); |
|
|
|
//printf ( "NEW PIXMAP (%ld x %ld)\n", qRound ( state-> getPageWidth ( )), qRound ( state-> getPageHeight ( ))); |
|
|
|
m_pixmap-> fill ( Qt::white ); // clear pixmap |
|
} |
|
|
|
void QOutputDevPixmap::endPage ( ) |
|
{ |
|
QOutputDev::endPage(); |
|
delete m_painter; |
|
m_painter = 0; |
|
}
|
|
|