<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - add a displayAnnot to Page class"
href="https://bugs.freedesktop.org/show_bug.cgi?id=83642#c2">Comment # 2</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - add a displayAnnot to Page class"
href="https://bugs.freedesktop.org/show_bug.cgi?id=83642">bug 83642</a>
from <span class="vcard"><a class="email" href="mailto:jose.aliste@gmail.com" title="Jose Aliste <jose.aliste@gmail.com>"> <span class="fn">Jose Aliste</span></a>
</span></b>
<pre>Albert, I didnt understand the keeping the outputdevice around... Usually in
cairo we have the cairo context of a surface to be drawn in screen. In other
part, in evince, we have a image cache of the page already rendered, so what we
'll do is to blit this image surface into the screen, and then to use
renderannot over the screen surface. THis saves us a new blit... but also I
didn't figure out a way of having two images (one with the page cache and one
with the annotation drawing on top) and the blit them in order. My problem is
that annotations are drawn with tdifferent blenModes. which sets a different
cairo operator, so in theory, we could keep this operator, change poppler code
to render al of this wihtout setting the operator to the surface. and then set
the cairo operator only when drawing the image with the annotation over the
image with the page... but that seemed too omplicated to me and needed to
change how poppler is drawing. drawing directly over the screen surface allows
me to first draw the page on the screen, and then use the same codepath of
popppler to render the annotaitons directly over the screen using the proper
cairo operators wihtout changing how poppler works... hope my answer makes
sense.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>