Standard/Box versus Flowchart/Box



Hi,

I'm currently browsing my way through the Dia sourcecode,
trying to figure out how everything works. I really like the
plugin mechanism architecture for adding new shape types.

Some things I noticed, related to the box implementations:

1.) There's a box implementation in Flowchart/Box (a.k.a. 
    "Flowchart/Auxiliary Operation") in objects/flowchart/box.c
    and another one ("Standard/Box") in objects/standard/box.c.
    It seems to me that the flowchart one is much more advanced
    (support for text, more connection points etc.), yet the 
    one which is visibible in the standard shape menu is 
    objects/standard/box.c, leaving it to the user to fiddle 
    through the 34 sheets and over 700 shapes to finally find
    the better one in Flowchart. Is this intended?

2.) objects/flowchart/box.c currently draws the box using
    only draw_arc, draw_line and and draw_rect, which (at least with my 
    installation) causes small artifacts to appear at
    the edges of a box with rounded corners (corner_radius > 0).
    Would it make more sense to use draw_rounded_rect here, like
    objects/standard/box.c does? (The implementation of draw_rounded_rect
    in lib/diarenderer.c creates artifacts, too, but at least all the
    bugs would be in one place then :))
    If this is something I can supply a patch for, I'd be happy
    to help.

3.) It's a bit confusing that Flowchart/Box uses pixels for the 
    radius, while Standard/Box uses millimeters- this caused me to believe 
    initially that standard/box doesn't support rounded corners because
    a value of only 1.0 didn't seem to do anything. Is this difference
    a bug or a feature?

Thanks for any insights,

Matthias




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