Re: Dynamic Arrows



Le Thu, Jan 31, 2002, à 09:05:43PM -0600, Richard Rowell a écrit:

I have been hacking on a way to allow "arrows" to be loaded at runtime  
rather then hardcoded.  Each arrow is made up of "strokes" where each stroke 
can be a line, polyine, bezier curve/path, circle, ellipse, or a polygon with 
filled and non-filled options where appropriate.  Most all of the rendering 
stuff is in place and seems to work great, prints well, exports well (to PNG 
at least), etc.

Sounds great !
How are theses strokes described ? (SVG ?)

The next part I'm going to hack in is the loading of the "arrow" file or 
files.  If the powers at be think this piece of code might be incorporated 
into the "core" code, then I would like suggestions on issues such as:


1.  Where a good place to initialize the list would be.
2.  Is there a preferred method of storage for global lists such as this. 

You could imitate what the shape-loading code does (without the need to make
this modular, ie you can put that in lib/ IMO. Perhaps even in a
subdirectory of lib, like lib/arrows if you need several compilation units.
I should have done this for properties.)

3.  What to do if an arrow is specified in a document that the local machine 
doesn't have?

Same as when a document is loaded with a shape the local machine doesn't
have [*]

4.  Should Dia embed non-standard arrow definitions into the saved document 
to avoid #3?

Same as the shape code [*]


[*] This means: warning, nasty moving target. Currently, we don't embed, but
there have been repeated expressions of interest for this feature. Kivio
does this, IIRC. Safe bet would be: make it run without embedding, but don't
make this too difficult to add afterwards. Ideally, a shared facility for
embedding/loading on the fly could be added.

        -- Cyrille 


-- 
Grumpf.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]