From: Ethan M. <merritt@u.washington.edu> - 2004-04-01 18:28:44
|
On Wednesday 31 March 2004 04:22 am, Hans-Bernhard Broeker wrote: > On Tue, 30 Mar 2004, Ethan Merritt wrote: > > On Tuesday 30 March 2004 01:17 pm, Per Persson wrote: > > > I was a little curious about the reason for the overlap between > > > filled_polygon() and boxfill(), any particular reason? > > > > Two parallel projects that got incompletely merged. > > That's not the entire truth, though. There's also the problem that > doing cross-hatching pattern-fill of arbitrary polygons is at least an > order of magnitude harder than either cross-hatching of axis-aligned > rectangles or solid-colour filling of arbitrary polygons. I worried about that originally, but it turns out not to be a problem in practice. Other people have already done the hard work, and included the necessary support in the relevant libraries or languages. The patch on SourceForge shows that pattern-fill of polygons works with no special effort for pdf, png, svg and x11. There is an issue with PostScript, but it's more a question of policy than of difficulty. PostScript pattern-fill requires PostScript Level 2 language support. This is nearly universal by now, but not quite. The question is, what should we fall back to if it is requested but not present? It seems to me that at worst we fall back to doing nothing at all, which is what happens in the current version anyway. That leaves Windows as the largest gap in implementation. Is pattern-fill so horribly difficult in Windows? The current code in src/win/wgraph.c does this: idx = <expression that evaluates to pattern number>; SelectObject(hdc, pattern_brush[idx]); That suggests to me that the pattern-fill support can be applied to any sort of object, but I could be wrong. -- Ethan A Merritt merritt@u.washington.edu Biomolecular Structure Center Mailstop 357742 University of Washington, Seattle, WA 98195 |