Am 26.01.2013 13:56, schrieb Albert Astals Cid:
El Dissabte, 26 de gener de 2013, a les 20:40:14, 王璐 va escriure:
Hi all,

    In GfxState.h, this function is declared right after setCTM and
concatCTM, which looks like no big deal than the other 2, but actually also
modifies clip BBox of the State

    The only place this function is used is in the functions handling
transparency groups in SplashOutputDev.cc. I'm not familiar with that part,
but looks like an ad hoc hack.

    I found this while I want to track all functions that might update clip
BBox, this does not make sense to me. Although I've got no better solution,
at least it might be more reasonable if we add a new backdoor for clip BBox
and change shiftCTM to what it looks like. In this way SplashOutputDev
still takes the responsibility, but GfxState is relieved.

    What do you think ? I can create a patch.
Why do you think this is a problem?


To be honest i don't see any need for a change, all these functions are
internal and not supposed to be used outside the inner world of poppler
itself, so the function is doing what it should do.

At most we could rename the function, and name it something like
shiftCTMAndClip or something, would that work for you?
It's definitely needed in SplashOutputDev: SplashOutputDev creates a new bitmap for transparency groups and has to shift the CTM so that Gfx continues drawing in that new bitmap with changed origin and not outside it. I see neither a need need to create a backdoor which makes it more unreadable nor to rename it, even it it changes the clipping as side effect, but that should be expected when someone shifts the current transfer matrix.

Cheers,
Thomas

Cheers,
   Albert

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


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

Reply via email to