[Poppler-bugs] [Bug 103795] [PATCH] Implement ArthurOutputDev::axialShadedFill

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Mar 27 22:01:54 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=103795

--- Comment #12 from Albert Astals Cid <aacid at kde.org> ---
(In reply to oliver.sander from comment #11)
> > Which kind of shading it is?
> 
> I tried it with all those from the example document you posted in Comment 6.
> 
> But it seems that I have to revisit my previous comment a little.  I am
> simply experiment using the following hack:
> 
> --- a/qt5/src/ArthurOutputDev.cc
> +++ b/qt5/src/ArthurOutputDev.cc
> @@ -777,6 +777,7 @@ void ArthurOutputDev::stroke(GfxState *state)
>  
>  void ArthurOutputDev::fill(GfxState *state)
>  {
> +  m_painter.top()->setRenderHint(QPainter::Antialiasing,false);
>    m_painter.top()->fillPath( convertPath( state, state->getPath(),
> Qt::WindingFill ), m_currentBrush );
>  }
> 
> But I just learned that this only works if the resolution we are rendering
> to is high enough (using test-render-to-file-qt5).  So this needs more
> thought.
> 
> > I can see two solutions:
> >  * Add pre/post function calls in gfx.cc before the shading is done
> 
> That would be easy, but it would mean a new API in OutputDev.h.  It's not on
> me to decide whether that is a good idea.

Do you think it would be a bad idea?

> 
> >  * Implemnt the shading in arthuroutputdev, but make the implementation just be
> > disableAA();
> > doWhateverTheGfxCodeDoes();
> > enableAA();
> 
> Problematic, because doWhateverTheGfxCodeDoes() is a lot of code.

We can put that "lot of code" in a function to allow for code reuse.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/poppler-bugs/attachments/20180327/f3ad905b/attachment.html>


More information about the Poppler-bugs mailing list