[cairo] Negative coordinates with recording surfaces

Antony Lee antony.lee at berkeley.edu
Thu Jul 6 18:10:36 UTC 2017


Indeed, the issue is solved as of 1.15.6 (it also appears that picking a
very small line width does not cause it to be taken as zero anymore (a
change that I'm also happy with)).
Thanks!
Antony

2017-07-06 2:32 GMT-07:00 Adrian Johnson <ajohnson at redneon.com>:

> Have you tried the latest snapshot (1.15.6)? 1.15.4 and later contains
> fixes for recording surfaces with negative extents.
>
> On 06/07/17 16:58, Antony Lee wrote:
> > Hi all,
> >
> > I have am a bit puzzled with how negative coordinates interact with
> > recording surfaces.  Consider the following cairocffi example:
> >
> >     from cairocffi import *
> >     surf = RecordingSurface(CONTENT_COLOR_ALPHA, None)
> >     ctx = Context(surf)
> >     ctx.move_to(-5, -5)
> >     ctx.line_to(5, 5)
> >     ctx.set_line_width(.001)  # so that ink extents are not affected by
> >     linewidth
> >     ctx.stroke()
> >     print(surf.ink_extents())
> >
> >
> > This gives (-5.0, -5.0, 10.0, 10.0), so ink_extents has correctly
> > reported that we have something going from (-5, -5) to (5, 5) on the
> > unbounded surface.
> >
> > But replace the surface constructor call by
> >
> >     surf = RecordingSurface(CONTENT_COLOR_ALPHA, (-10, -10, 20, 20))
> >
> >
> > which is a surface that is large enough to cover our line.  (After all,
> > the documentation encourages us to specify the extents, for better
> > performance.)
> > Now the same program gives (5.0, 5.0, 5.0, 5.0).  By playing around with
> > the numbers, I *guess* that the origin is relative to the lower left
> > corner of the recording surface, and the width and height are up to 0, 0
> > but not beyond?
> >
> > Shouldn't I get instead either (-5.0, -5.0, 10.0, 10.0) (same as with an
> > unbounded surface), or at least (5.0, 5.0, 10.0, 10.0) (if the returned
> > extents are relative to the lower left corner of the surface)?
> >
> > Thanks in advance,
> >
> > Antony Lee
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo/attachments/20170706/3921d330/attachment.html>


More information about the cairo mailing list