On Fri, 04 Jun 1999 12:37:15 Brian Bruns wrote:
> I just found Dia today and got it, compiled. It is a truely impressive
> program.  As someone who occasionally boots to 95 to do diagraming in
> Visio of our database replication domains, this could increase my Linux
> boxes uptime considerably at work. (My other required Win95 program, Notes
> runs under Wine)

I had the same problem the other day when I had to use CorelFLOW.

> Which brings me to my next point, I am adding a new set of objects that
> are particular to Sybase ASE and Sybase replication server. (By the way
> the ease of adding such a thing amazed me, I finished adding 4 of 6
> objects in just an hour or two, having never seen the code
> before....congrats!)

Damn! It's taken me a good 4 hours just to do the "Document" symbol and "Manual 
Process" Symbol for my damn Business Studies Assignment, but this is my first real 
experience w/ C.

 Anyway, my problem...I'm trying to keep the symbols
> looking very close to the Sybase ones.  There is a symbol for something
> called a log transfer manager which (pardon the text rendering) looks
> something like:
> 
>          /\
>        /    \
>      /________\
>        |    |      ____
>         \    \    /   /
>           \____\/____/
> 
> (It's supposed to look like an arrow with a little tail on it)
> 
> Anyway, I couldn't see any support for doing a filled region based on a
> couple of arcs and a couple lines. That is, picking an arbitrary point
> inside the closed area and having it filled.  Is there such a thing?  If
> not what would be the best way to go about adding it?

I've found beziers to work better, to get the tail _only_ do something like this:

   bezier[0].x = x;
   bezier[0].y = y;
   bezier[1].x = x+0.25*w;
   bezier[1].y = y+h;

   bezier[2] = bezier[1];
   bezier[3].x = x+0.5*w;
   bezier[3].y = y+h;
   bezier[4].x = x+0.75*w;
   bezier[4].y = y+h;

   bezier[5] = bezier[4];
   bezier[6].x = x+w;
   bezier[6].y = y;
   bezier[7] = bezier[6];

   bezier[8] = bezier[6];
   bezier[9].x = x+2.0*w/3.0;
   bezier[9].y = y;
   bezier[10] = bezier[9];

   bezier[11].x = x+2.0*w/3.0;
   bezier[11].y = y+h;
   bezier[12] = bezier[3];
   bezier[13].x = x+1.0*w/3.0;
   bezier[13].y = y+h;

   bezier[14].x = x+w/3.0;
   bezier[14].y = y;
   bezier[15] = bezier[14];

  renderer->ops->draw_bezier(renderer,
                             bezier, 16,
                             &color_black);

You'd have to modify the points to get the arrow point on top, of course, but the 
shift would be (almost) arbitary.

> Also a couple other ideas, if you're interested:
> 1) one thing I miss from Visio is a duplicate option on the edit menu,
> saves a couple of key strokes/mouse clicks.  

CorelFLOW had the same option. Ctl-D would be useful here

> 2) It would be nice if the delete key was bound to the delete operation
> (Click on an object and press delete as opposed to Ctl-D)

Or Ctl-K (Clear) like in The GIMP

> 3) Is anyone working on exporting to HTML? I'd be interested in lending a
> hand with this.
> 4) It would be nice to denote (on the grid) where a page break is for
> printing. All my print outs came out badly.

What! you use hardcopy! :-)

<<SNIP>>

Would it be good to have a second list, for object (plug-in) development?

Daniel

Reply via email to