I just thought I would give a bit of a status report on the custom shape
code I have been working on.

Recently I have added support for internationalising the descriptions of
custom shapes, support for an `sheet index', which gives the ordering of
shapes in the toolbox, and translated name/description for the sheet.  In
the latest commit, I added support for SVG path elements in the shape
description.  This last one allows the use of bezier curves in a custom
shape.

For a look at some of the features in the custom shape code, install the
latest CVS version, and try out the shapes in the circuit sheet.  They
demonstrate drawing with lines (capacitor), polylines (resistor), bezier
curves (inductor).  It also demonstrates locking the aspect ratio on an
object (either transistor).  After playing around with the shapes, look at
the files in $(prefix)/share/dia/shapes/Circuit to see how the shapes are
described.

Some of the features the circuit sheet does not demonstrate are use of
rectangles, ellipses, polygons, filled bezier paths, text areas associated
with a shape, setting line width for part of the shape, swapping
background/foreground for part of a shape, and specifying a range of
aspect ratios for a shape.

Some features that are not in there yet, but I am thinking about
implementing include overriding the user selected line style for part of
the shape, and maybe also override the colours for parts of the shape.

The code is just about ready for general use.  I think the current shape
file format should be able to describe most shapes, so probably won't
change much.  I will have to write some small docs on creating new shapes
so others can start doing new shapes for dia.  Not having to know C or
the libdia interface should make this a bit easier :)

If anyone has any suggestions for this code, please tell me.  Hopefully we
can make dia one of the most popular free diagram editors available.

James.

--
Email: [EMAIL PROTECTED]
WWW:   http://www.daa.com.au/~james/

Reply via email to