Le Sun, Jun 02, 2002, à 04:37:32PM -0700, James Michael DuPont a écrit: > Dear DIA Developers, > > I would like to help create a Layout Plugin API, or > use what is already existing. The API would allow for > the adding in an configuring of various layout > engines.
You'd probably need to do something new. > Can you please tell me where to start looking into > this, I have identified some click and move and update > handlers, but am interested in getting some input on > where you think the best interface would be placed. Basically, you need to access the lib/diagramdata.h:DiagramData structure and the Layer structure, then you'll of course be interested in the lib/object.h/Object structure (especially the position/bounding_box and the handles and connections member fields and their supporting methods (object_*() ). What would be nice for a plug-in API would be to write a couple functions in lib/* to help a plug-in enumerate the layers and the objects in a layer (in fact, filling the missing bits from lib/diagramdata.h to avoid the need for a plug-in to enumerate directly in the DiagramData and Layer structures). > You can imagine various layout managers that you can > turn off and on, and specifiy attributes on the node > and link layer to handle. Springs, Gravity, Magnets, > weights and even simulated annealling are different > ways to do interesting layouts. sounds cool... > Also on this note, what are the possibilities of > embedding hrefs in each object and exporting to jpg > image maps? I am sure that someone has looked into or > has done this already? These are two different features. First, for dia diagrams, you'd probably be better off by esporting to PNG image maps... Then, adding a standard property of type URL, and, why not, tying it to Object (this would require bumping up the plugin API version which is fine for the time being), and then find a way (renderer ?) to pass this URL to a PNG+ImageMap export plug-in. Have fun. Be aware that major core changes are in the works, though. -- Cyrille -- Grumpf. _______________________________________________ Dia-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/dia-list