From: Andre W. <wo...@us...> - 2004-10-25 14:28:22
|
Hi, again, I'll try to answer promptly, but we'll see whether my response will show up on time (my old one is still missing -- at least to me) ... ;-) On 25.10.04, Andrea Riciputi wrote: > Thanks for your suggestion, it works and it's straightforward. > Nevertheless I've found in the manual that the canvas class can have > some attributes such as trafo.trafo, canvas.clip, style.fillstyle, > style.strokestyle. So what are these attributes intended for? For the style attributes are like using the set() method of the canvas directly after creating the canvas. Since PostScript has a graphics state, it might be useful to set properties of the graphics state. For example a color. Instead of for path in paths: c.stroke(path, [color.rgb.red]) you can do c.set([color.rgb.red]) for path in paths: c.stroke(path) But the canvas constructor also allows for inherent transformations on the canvas. (I'm not so sure whether we should really keep this, but anyway.) Its a bit different than the set method, because you can't set a transformation. And you can't set a clipping either. Those are global properties of a canvas. You should think of these operations that way, that they are applied when a canvas is inserted into another one ... the context of the canvas is transformed or clipped and so on. Indeed (at least for the transformation) its identical to apply the transformation while inserting the canvas into a another canvas. (Clipping is only available in the canvas constructor currently, but it's likely that we'll completely rearrange clipping in the future making them an intrinsic feature of boxes and remove the ability to use clipping on canvases.) What all these canvas constructor arguments do have in common is, that they do not produce any output but they modify some properties of the canvas. André -- by _ _ _ Dr. André Wobst / \ \ / ) wo...@us..., http://www.wobsta.de/ / _ \ \/\/ / PyX - High quality PostScript figures with Python & TeX (_/ \_)_/\_/ visit http://pyx.sourceforge.net/ |