Re: Dia 0.88.1: Problems with exporting to xfig



On Tue, 12 Jun 2001, Cyrille Chepelov wrote:

Le mar, jun 12, 2001, à 02:31:25 +0200, Cyrille Artho a écrit:
Hi,
when exporting dia drawings to xfig, rectangles with rounded corners get
broken up into lines and arcs. I had used the "Flowchart - Box" item to
get rectangles with rounded corners which can also have text inside
them.
The same happens for standard rectangles.
While I understand that this is the only way to truly "faithfully"
approximate that rectangle under dia, it is pretty useless if one wants
to edit the diagram further under xfig. So please make it export that
rectangle as a rounded rectangle in xfig, too, or tell me how to change
that.

The problem is, there is no draw_rounded_rectangle primitive in the
renderer interface; I'm pretty much sure there shouldn't be one
(otherwise, the day we export to a format which has a native
representation of a "zip disk", we'll want to add a "draw_zip_disk()"
primitive to the renderers ? No way !).

OTOH, Lars recommended a few days ago to add an optional way to let
renderers have informations about grouping; he wasn't specific on details,
but I think that idea is nice. I've given it a little thought, and am up to
something like that:
      typedef enum {
              GROUP_TYPE_DIAGRAM,
              GROUP_TYPE_LAYER,
              GROUP_TYPE_GROUP,       
              GROUP_TYPE_OBJECT,
              GROUP_TYPE_SHAPE,
              GROUP_TYPE_FEATURE} GroupType;
[...]

Both these functions pointers would be members added at the end of struct
RendererOps, and would be totally optional (ie, diagramdata.c's routines
will check for NULL members, and either repeatedly check, or fill the
renderer->ops with stubs. Hmmm. Fill with stubs, that makes the code
easier, costs as much cycles and one less prediction entry).

Sounds like a good implementation plan.  Only the FEATURE and SHAPE groups
don't really solve the problem, as all you can really do at this level is
group.  

Somebody (I forget who) suggested having some more complex shapes (arrows,
rounded rectangles etc) have their own rendering function, but have a
default that uses the more primitive functions.  Of course, we only want a
limited amount of these, or the renderer structure becomes rather large,
but at least having them for the basic shapes would be good.  

-Lars

-- 
Lars Clausen (http://shasta.cs.uiuc.edu/~lrclause) | Hårdgrim of Numenor
"I do not agree with a word that you say, but I    | Retainer of Sir Kegg
will defend to the death your right to say it."    |   of Westfield
    --Evelyn Beatrice Hall paraphrasing Voltaire   | Chaos Berserker of Khorne




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