Am 25.01.2011 09:15, schrieb Carlos Garcia Campos:
Excerpts from Albert Astals Cid's message of lun ene 24 19:53:50 +0100 2011:
A Dilluns, 24 de gener de 2011, Thomas Freitag va escriure:
Am 24.01.2011 14:17, schrieb Carlos Garcia Campos:
Cairo 1.11.2 has a new mesh pattern that can be used to implement 6/7
type gradients. Adrian has an updated poppler branch that implements
mesh gradients in cairo backend:

http://cgit.freedesktop.org/~ajohnson/poppler/log/?h=mesh

I've tried it and it works great, it fixes bugs #28836 and #32791 (and
maybe others). I haven't pushed the patch yet becuase it contains
minimal changes in Gfx.cc. If nobody objects I'll push it to master
branch only.
I had a quick look at what Adrian has done in Gfc.cc, and think, that is
a little bit misusing of out->gouraudTriangleShadedFill( state, shading)
and out->patchMeshShadedFill( state, shading):

When these functions returns gTrue, this indicates that all work has
already be done in the output device. How Adrian implements it is very
special to Cairo. But it is quite ease to change it:
Just move the lines
Agreed with Thomas.
contentIsHidden() is private to Gfx, and all other patterns do the
clip and fill in Gfx
Yeah, unfortunately contentIsHidden is private to Gfx, so probably there should be a return if contentIsHidden() before calling the shading routines in the output devices. But You're not true, that clip and fill is done in Gfx, this is special to cairo which is the only device that supports useFillColorStop() and can therefore use the clip and fill from Gfx. At least in SplashOutputDev the done work (implemented by Christian Feuersänger) in gouraudTriangleShadedFill would be overwritten and probably causes wrong results.

Thomas
Albert


_______________________________________________
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