Diffstat (limited to 'noncore/unsupported/qpdf/QOutputDev.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/qpdf/QOutputDev.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/noncore/unsupported/qpdf/QOutputDev.cpp b/noncore/unsupported/qpdf/QOutputDev.cpp index 52237f5..022d938 100644 --- a/noncore/unsupported/qpdf/QOutputDev.cpp +++ b/noncore/unsupported/qpdf/QOutputDev.cpp | |||
@@ -116,13 +116,13 @@ QFont QOutputDev::matchFont ( GfxFont *gfxFont, fp_t m11, fp_t m12, fp_t m21, fp | |||
116 | gfxFont-> isBold ( ), | 116 | gfxFont-> isBold ( ), |
117 | gfxFont-> isItalic ( ), | 117 | gfxFont-> isItalic ( ), |
118 | gfxFont-> isFixedWidth ( ), | 118 | gfxFont-> isFixedWidth ( ), |
119 | gfxFont-> isSerif ( ), | 119 | gfxFont-> isSerif ( ), |
120 | gfxFont-> isSymbolic ( ), | 120 | gfxFont-> isSymbolic ( ), |
121 | gfxFont-> isCIDFont ( ), | 121 | gfxFont-> isCIDFont ( ), |
122 | ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName ( ) : "<n/a>" ), | 122 | ( gfxFont-> getEmbeddedFontName ( ) ? gfxFont-> getEmbeddedFontName()-> getCString ( ) : "<n/a>" ), |
123 | (double) m11, (double) m12, (double) m21, (double) m22 )); | 123 | (double) m11, (double) m12, (double) m21, (double) m22 )); |
124 | 124 | ||
125 | 125 | ||
126 | QString fname (( gfxFont-> getName ( )) ? gfxFont-> getName ( )-> getCString ( ) : "<n/a>" ); | 126 | QString fname (( gfxFont-> getName ( )) ? gfxFont-> getName ( )-> getCString ( ) : "<n/a>" ); |
127 | 127 | ||
128 | QFont f; | 128 | QFont f; |
@@ -212,16 +212,23 @@ void QOutputDev::startPage ( int /*pageNum*/, GfxState *state ) | |||
212 | m_text-> clear ( ); // cleat text object | 212 | m_text-> clear ( ); // cleat text object |
213 | viewport ( )-> repaint ( ); | 213 | viewport ( )-> repaint ( ); |
214 | } | 214 | } |
215 | 215 | ||
216 | void QOutputDev::endPage ( ) | 216 | void QOutputDev::endPage ( ) |
217 | { | 217 | { |
218 | QPDFDBG( printf("End page\n") ); | ||
218 | m_text-> coalesce ( ); | 219 | m_text-> coalesce ( ); |
219 | 220 | ||
221 | /* | ||
222 | * I get stupid crashes after endPage is called and then we do clipping | ||
223 | * and other stuff..... | ||
224 | */ | ||
225 | #if 0 | ||
220 | delete m_painter; | 226 | delete m_painter; |
221 | m_painter = 0; | 227 | m_painter = 0; |
228 | #endif | ||
222 | 229 | ||
223 | updateContents ( 0, 0, contentsWidth ( ), contentsHeight ( )); | 230 | updateContents ( 0, 0, contentsWidth ( ), contentsHeight ( )); |
224 | } | 231 | } |
225 | 232 | ||
226 | void QOutputDev::drawLink ( Link *link, Catalog */*catalog*/ ) | 233 | void QOutputDev::drawLink ( Link *link, Catalog */*catalog*/ ) |
227 | { | 234 | { |
@@ -241,19 +248,25 @@ void QOutputDev::drawLink ( Link *link, Catalog */*catalog*/ ) | |||
241 | m_painter-> setPen ( oldpen ); | 248 | m_painter-> setPen ( oldpen ); |
242 | } | 249 | } |
243 | } | 250 | } |
244 | 251 | ||
245 | void QOutputDev::saveState ( GfxState */*state*/ ) | 252 | void QOutputDev::saveState ( GfxState */*state*/ ) |
246 | { | 253 | { |
254 | if ( ! m_painter ) | ||
255 | return; | ||
256 | |||
247 | QPDFDBG( printf ( "SAVE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( ))); | 257 | QPDFDBG( printf ( "SAVE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( ))); |
248 | 258 | ||
249 | m_painter-> save ( ); | 259 | m_painter-> save ( ); |
250 | } | 260 | } |
251 | 261 | ||
252 | void QOutputDev::restoreState ( GfxState */*state*/ ) | 262 | void QOutputDev::restoreState ( GfxState */*state*/ ) |
253 | { | 263 | { |
264 | if( ! m_painter ) | ||
265 | return; | ||
266 | |||
254 | m_painter-> restore ( ); | 267 | m_painter-> restore ( ); |
255 | 268 | ||
256 | //m_painter-> setClipRegion ( QRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( ))); | 269 | //m_painter-> setClipRegion ( QRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( ))); |
257 | //m_painter-> setClipping ( false ); | 270 | //m_painter-> setClipping ( false ); |
258 | QPDFDBG ( printf ( "RESTORE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( ))); | 271 | QPDFDBG ( printf ( "RESTORE (CLIP=%d/%d)\n", m_painter-> hasClipping ( ), !m_painter-> clipRegion ( ). isEmpty ( ))); |
259 | } | 272 | } |
@@ -518,13 +531,13 @@ void QOutputDev::doClip ( GfxState *state, bool winding ) | |||
518 | 531 | ||
519 | dummy. resetRawData ( points. data ( ) + j, len ); | 532 | dummy. resetRawData ( points. data ( ) + j, len ); |
520 | } | 533 | } |
521 | j += len; | 534 | j += len; |
522 | } | 535 | } |
523 | 536 | ||
524 | if ( m_painter-> hasClipping ( )) | 537 | if ( m_painter && m_painter-> hasClipping ( )) |
525 | region &= m_painter-> clipRegion ( ); | 538 | region &= m_painter-> clipRegion ( ); |
526 | 539 | ||
527 | //m_painter-> setClipRegion ( region ); | 540 | //m_painter-> setClipRegion ( region ); |
528 | //m_painter-> setClipping ( true ); | 541 | //m_painter-> setClipping ( true ); |
529 | 542 | ||
530 | //m_painter-> fillRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( ), red ); | 543 | //m_painter-> fillRect ( 0, 0, m_pixmap-> width ( ), m_pixmap-> height ( ), red ); |