|
From: Paul B. <ba...@st...> - 2005-02-08 16:21:19
|
John Hunter wrote: > > I've begin to address some of these concerns with a new backend method > "draw_markers". Currently the backend has too many drawing methods, > and this is yet another one. My goal is to define a core set, many > fewer than we have today, and do away with most of them. Eg > draw_pixel, draw_line, draw_point, draw_rectangle, draw_polygon, can > all be replaced by draw_path, with paths comprised solely of MOVETO, > LINETO and (optionally) ENDPOLY. Though the idea of having a minimal set of draw methods is esthetically appealing, in practice having to reuse these few commonly drawn methods to construct simple compound objects can become cumbersome and annoying. I would suggest taking another look at Adobe's PDF language and Apple's Quartz (or display PDF). It is iteresting to see that each new version adds one or two new draw methods, e.g. rectangle and rectangles, to make it easier and faster to draw these common paths. I'm guessing these new methods are based on copius experience. While you are at it, I would suggest looking at the clipping issue. As in PS and PDF, a path can be used as a clipping region. This allows the backend, in PS and PDF, to do the clipping for you, which can make the code simpler and also faster. Clipping using arbitrary paths may currently be an issue for AGG, but in my opinion, it is something that AGG will eventually have to come to grips with. Just my $0.01. -- Paul -- Paul Barrett, PhD Space Telescope Science Institute Phone: 410-338-4475 ESS/Science Software Branch FAX: 410-338-4767 Baltimore, MD 21218 |