Hello Leonard!

Just to clearify:

if out->drawImageMask(state, ref, str, width, height, invert, inlineImg);  is not done, there is no mask (i.e. clipping path) which can be filled. Therefore Carlos is true: the curly brackets must be there!

Best regards,
Thomas

Leonard Rosenthol schrieb:

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: [email protected] [mailto:[email protected]] On Behalf Of Thomas Freitag
Sent: Thursday, June 04, 2009 2:33 AM
To: Albert Astals Cid
Cc: [email protected]
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


_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to