Hi all,

In order to draw Substances-Field Model (SFM) diagrams, I need some new
line types ; SFM modeling makes a heavy use of "wobbling" or "waved"
lines, and currently dia is unable to represent them.

At first thought (and begin of implementation), I just thought about
simply adding new line types (ZIGZAG, WAVED) to the current LineStyle
enum. However, there's a problem : in fact, the line geometry is quite
independent from its drawing style ; some folk may want a dotted waved
line, after all. 
This requires either to make the line style a struct of enums, or adding a
whole new property to each function drawing mono or polylines. Anyone has
an advice on what's the best way (new line styles, LineStyle becomes
struct LineStyle, or add a LineGeometry property).

This brings me to another question : not all renderers know how to draw
some features, say, Bezier lines or waved lines. Some do. Those which
don't usually try to "manually" approach these features using more
primitive er, primitives.  
I think it should be great to have a "renderhelper" module with default
implementations for those "not so" primitives (Beziers, zig-zag'ed lines,
etc.). This brings me to have a small complaint : some renderers (I
seriously looked at only the GTK one) drop the "coord" units once they
converted coordinates into their implementation's system. When I want to
draw a zig-zag line using the helper functions, bing ! I need to know the
line width, in dia units (because I draw using generic renderer
primitives). 
I think all renderers should save the *original* arguments to
set_foo_property() somewhere in struct Renderer, so that the idea of
helper functions is feasible...

I'll probably have a 2-day coding block this week end (if NZ wins, which
is unfortunately quite probable), so I might tackle one or more of these
issues (I find the CVS tree is rarely in a compilable state, so I'll start
by using 0.80)

Oh, also, I'll have to build a GRAFCET sheet and a European logic diagram
sheet (I use dia to teach industrial automatisms, and I'm required to not
use ANSI ones). One feature I'd really like is to be able to specify the
bounding box of a text, and have the font size adjust automatically (so
that when an object in a group is enlarged, the text does likewise).
Ooops, no time.
Last feature request, this one must be a quite common one, I want to be
able to rotate about anything, at least by 90� increments (arbitrary
increments would make me really really happy, but it's not yet Christmas) 
Ooops, large changes, I fear.

Well, I'll first see GRAFCET, logic diagrams and waved arrows, this is
almost "emergency" stuff for me right now.

        -- Cyrille

------------------------------------------------------------------
Oh, my god ! I'm trapped into a V90 modem !  PGP ID: A879BEF8

Reply via email to