From: Antoon P. <Ant...@re...> - 2002-05-06 08:00:40
|
On Sat, May 04, 2002 at 08:45:20PM +0200, Bernhard Herzog wrote: > Antoon Pardon <Ant...@re...> writes: >=20 > > On Sun, Apr 28, 2002 at 09:31:46PM +0200, Bernhard Herzog wrote: > > > The most importand being that it's what PostScript, PDF, SVG, > > > Illustrator (I haven't verified this now but it should follow from > > > PostScript's behavior) and XFig (there are probably more). > >=20 > > I don't think this is a good reason. >=20 > Well, I think it's a good reason to support this behavior in Sketch. Well, you are the final arbiter. > > CGM doesn't do it this way. > > If I start to search I can probably find more too. Do you think > > this should be decided by a poll? >=20 > Depends. It's definitely not a good idea to change Sketch's treatment o= f > fills in open paths. Adding some other way to handle them os possible, > but I'm not very keen on it as it makes the code quite a bit more > complicated (more case distinctions in many places) for comparatively > little gain. In this case I'm wearing my usercap. I don't care about implemen=AD tation problems, I want a user interface that is as consistent as possible. I understand that implementation problems sometimes stand in the way. But I consider changes because of that as de=AD sign concessions, not as good arguments for designing it as such. > All the programs I mentioned don't fill paths with open sub-paths at > all, but that's not exactly what you seem to propose. If I understood > you correctly you want open sub-paths to be ignored when filled but not > closed sub-paths. Doing this differently than all other programs is not > a good idea IMO. Well doing it differently has it's drawbacks, I agree with that. However that is an argumument that doesn't weights the merrits of each approach. Sometimes the most popular approach can have se=AD vere drawbacks, but nobody wants to deviate from it because it is treated as the standard to follow. That's why I personnaly don't like it that much. > How exactly does this work in CGM? Well I'm for the moment only familiar with version 1. There you have, for the purpose of this discussion, three different curves. A polyline, this is an open path, a polygon, this is a single closed path and a polygonset, witch is a multiple closed path of which each vertex can be made visible or invisible. Only the polygon and polygonset has a fill attribute. > > > Early unpublished Sketch versions actually followed Corel's example= but > > > I changed that because being able to fill open paths actually gives= you > > > more flexibility and it makes data exchange with other programs eas= ier. > > > > Well if you want more flexibility why not allow color, dashpatern > > or at least the visibility of each edge seperately? > > Because I'm too lazy :-) > > The increased flexibility is not about making one edge invisible or > something. That edge doesn't exist! It's only virtually there for > filling. Well I would say if it doesn't exist it can't be there as a bor=AD der for the filling. The problem is that most times the way you add a virtual edge it isn't the one I want. Take to open paths that are combined into one curve. The way you add a virtual path is by closing each subpath. But that is not how I expected it the first time I tried it. I expected the two open paths to be seen as one path so that the fill area would be the polygon within the points of the two paths combined. > With the ability to fill open paths you can create some shapes > that would be more awkward to create if you couldn't, Sure but to the user you also create certain expectations. As a user I don't see open or closed paths. I see either a line or an area of which not all edges may be visible. If I see one edge that is not visible I expect I can make other edges invisible too. > OTOH, all shapes > you can create when open paths can't be filled can be easily created if > you can fill them by simply setting the fill to empty. > > > I think we have to distinguish two things here: > > 1. What's the area to be filled > > Here Sketch currently uses the even-odd rule assuming a straight lin= e > between start and endpoint for open sub-paths. Support for > winding-rule fills would also be good, though, and in fact required > for full support of postscript/AI/PDF. Well I think that one can argue that for an open path there is no such area. > > That would certainly add more flexibilty. One thing you may con=AD > > sider then, is that paths can only be filled or stroked and the > > possibilty to create layerd paths, each layer can then be filled > > or stroked or otherwise pattered in a differend way. But maybe > > that would make things to complicated. > > For the time being, yes. Well I think I am closing the discussion here. My main purpose is accomplished. I 've given all the arguments I have but the final decision is yours. I'll still use sketch whatever the decision will be. --=20 Antoon Pardon |