Re: Pattern-Context Matrix

Bill Spitzak <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>

On 03/29/2015 02:17 PM, Lawrence D'Oliveiro wrote:
> When a pattern is set as the source on a context, a separate copy is
> made of the context matrix for mapping the pattern to user space. This
> copy remains unchanged on subsequent calls that affect the context
> matrix (set_matrix, transform etc), so the pattern doesn’t move as you
> move youe shapes around. This separate matrix doesn’t seem to have a
> name, so I call it the “pattern-context matrix” (as distinct from the
> “pattern matrix” and the “context matrix”).
>
> Even though this is part of the caller-visible state of a context,
> there is no direct API for changing it, other than by setting the
> source again. Even setting it to the same source as before does the
> trick, viz the following Qahirah one-liner:
>
>      ctx.source = ctx.source
>
> I added a script
> <https://github.com/ldo/qahirah_examples/blob/master/pattern_context_matrix>
> to my qahirah_examples collection demonstrating the behaviour of this
> matrix. Output is here
> <http://default-cube.deviantart.com/art/Pattern-Context-Matrix-523017448>.

I think this is the correct behavior and should be preserved.

In fact there is a long-outstanding ER to do "line width locking" which 
is to reproduce this behavior for line settings. There are also similar 
problems with the current font, where some apis act this way and others 
recompute when the ctm changes.
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.