[Cairo] py-cairo example & Context save/restore quesiton
Bill Spitzak
spitzak at d2.com
Fri Nov 14 10:08:15 PST 2003
This is the intended behavior, right?
In fact, although I know you are saving and restoring it now, I was thinking
that even the current path should not be modified by save/restore. In some
ways it is better to think of the path and point as being a form of marking
on the surface, just like colored in pixels even though it is invisible until
you do a fill or stroke.
This would allow you to do transforms (in particular resets to the identity)
to draw portions of the path. It would also allow device-specific extensions
to add things to the path even if they are written in ways that require
initializing the transform (it is better to say "the transform must be the
identity" than to say "this feature ignores the current transform"). And it
would save the expense of copying the path in save/restore.
On Friday 14 November 2003 09:07 am, Jesse Andrews wrote:
> I'll look at it later today. As far as an example, in the code, I have
> the basic "tree/plant" lsystem coded (but commented). Set the
> iterations down to 1 or 2 (4 takes FOREVER since save/restore are slow
> at least for me).
>
> The order that the path is being drawn (in logo psuedo code):
>
> new path
>
> forward
> save state
> rotate
> forward
> restore state
> forward
>
> stroke
>
> But what is happening on the screen is:
>
> forward
> rotate
> forward
> (un rotate -- I guess this is happening by restore state...)
> forward
>
> Hmm...
>
> It seems like the restore does NOT reload the position, but does reload
> the rotation.
--
,~,~,~,~ ~ ~ ~ ~
/\_ _|_========___ Bill Spitzak
~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com
More information about the cairo
mailing list