[poppler] 4 commits - CMakeLists.txt poppler/Gfx.cc poppler/Gfx.h poppler/GfxState.cc poppler/GfxState_helpers.h poppler/Makefile.am poppler/OutputDev.h poppler/PSOutputDev.cc poppler/PSOutputDev.h poppler/SplashOutputDev.cc poppler/SplashOutputDev...
Leonard Rosenthol
lrosenth at adobe.com
Thu Jun 4 10:29:59 PDT 2009
Depends on what "contentIsHidden()" is testing.
If it is testing something like clipping bounds - then yes, there is no reason to render the content if it's "offscreen".
HOWEVER, if that is a test of optional content, then you STILL need to "pretend" to render the content - but not actually put any bits down. This is stipulate in the PDF Ref/ISO 32K because it ensures that any states (including text position) are maintained even if something is not currently visible.
Leonard
From: poppler-bounces at lists.freedesktop.org [mailto:poppler-bounces at lists.freedesktop.org] On Behalf Of Thomas Freitag
Sent: Thursday, June 04, 2009 2:33 AM
To: Albert Astals Cid
Cc: poppler at lists.freedesktop.org
Subject: Re: [poppler] 4 commits - CMakeLists.txt poppler/Gfx.cc poppler/Gfx.h poppler/GfxState.cc poppler/GfxState_helpers.h poppler/Makefile.am poppler/OutputDev.h poppler/PSOutputDev.cc poppler/PSOutputDev.h poppler/SplashOutputDev.cc poppler/SplashOutputDev...
Hello Albert!
Sorry, Carlos is true: Also the filling should (and MUST) only be done if content is NOT hidden, therefore the curly brackets must be inserted.
Best regards,
Thomas
Albert Astals Cid schrieb:
A Dimecres, 3 de juny de 2009, Carlos Garcia Campos va escriure:
El mar, 02-06-2009 a las 14:02 -0700, Albert Astals Cid escribió:
@@ -3695,6 +3780,12 @@ void Gfx::doImage(Object *ref, Stream *str,
GBool inlineImg) {
// draw it
if (!contentIsHidden())
out->drawImageMask(state, ref, str, width, height, invert,
inlineImg);
+ if (out->fillMaskCSPattern(state)) {
+ maskHaveCSPattern = gTrue;
+ doPatternFill(gTrue);
+ out->endMaskClip(state);
+ maskHaveCSPattern = gFalse;
+ }
} else {
I think {} are missing there, I guess it should be:
if (!contentIsHidden()) {
out->drawImageMask(state, ref, str, width, height, invert, inlineImg);
if (out->fillMaskCSPattern(state)) {
[....]
}
}
or am I wrong?
Good question, Thomas?
Albert
--
Thomas Freitag
alfa Media Partner GmbH
Niederlassung Kiel
Sophienblatt 57
D-24114 Kiel
Phone: +49-431-66119-38
Fax: +49-431-66119-11
Visit our home page http://www.alfa.de
Sitz des Unternehmens: Rödermark - AG Offenbach HRB 21171
Geschäftsführer: Guido Falcenberg, Jens Emmerich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/poppler/attachments/20090604/65d84bf4/attachment-0001.htm
More information about the poppler
mailing list