Mail Archives: geda-user/2018/07/13/14:13:29
Hello, Karl
> But if you are useing round caps and joins,
I did some benchmarking with cairo lines drawing, and round caps
drawing has the least perfomance, so I choose CAIRO_LINE_CAP_SQUARE,
as line dives enough into arrow, as you can see at
http://tinypic.com/r/t9efy8/9
> So if you are set to round cap and round joins the work to make suitable graphics is easier.
I want the arrow to be as sharp as possible :)
> What is "Bar" here ?
Sorry for my poor english, I mean 'thick line'.
> Possible settings are:
Yes, these are things for long arguing :). At the time when I did all
of these, I wanted all arrows to be 30^o wide and 120 units long
without variations.
пт, 13 июл. 2018 г. в 22:23, <karl AT aspodata DOT se>:
>
> Sergey:
> > > That arrow could be done right there in the sch-file, like
> > You are perfectly right, this is it:
> > H 3 0 1 0 -1 -1 1 -1 -1 -1 -1 -1 4
> > M 220,132
> > C 205,115 205,85 220,68
> > L 100,100
> > z
> >
> > But still:
> > - thick line overwrites sharp end of arrow
>
> Yes, that is why I want to be able to do filled arrowheads with line
> width = 0.
> or...
> round line joins so that when the (now round) tip intersects with a
> line (and they have the line widths) the tip doesn't go beyound the
> line.
>
> > - every editing mistake makes this arrow broken
> > - gEDA is lack of precise editing of symbol elements, like rotating by
> > arbitrary (or at least, 30^o, 45^o) angle or shifting, or scaling,
> > etc.
>
> Very much so, it would be nice if you could select things and scale and
> rotate the selected.
>
> > So one have to write some scripts to do these things.
>
> Meetoo... I did a scaling script that can scale symbols and schematis;
> perhaps I should do rotations also.
>
> > The solution for my code (and to this ^^^) is to not draw arrow's line
> > from the tip, but from the opposite side from the arrow triangle, like
> > I do in this horizontal arrow from (0,0) to (5,0) with tip at (0,0):
>
> Yes, I noticed. Since the arrow tip is very thin at the tip with miter
> joins, the line end (which i "width" wide) would interfere with the tip.
>
> But if you are useing round caps and joins, the arrow tip and line end
> would follow the same roundish form. So if you are set to round cap
> and round joins the work to make suitable graphics is easier.
>
> > // Arrow
> > cairo_move_to(cr, to_device_x(0.0), to_device_y(0.0));
> > cairo_arc(cr, to_device_x(3.8038), to_device_y(0.0),
> > to_device(1.1368), to_radians(135.), to_radians(135.+90.));
> > cairo_close_path(cr);
> > cairo_fill(cr);
> > // Bar
> > cairo_move_to(cr, to_device_x(2.667), to_device_y(0.0));
> > cairo_line_to(cr, to_device_x(5.0), to_device_y(0.0));
> > cairo_set_line_width(cr, to_device(0.25));
> > cairo_stroke(cr);
>
> What is "Bar" here ?
>
> > But this need some changes in line drawing in gedacairo, so I gave up.
>
> Lines with arrow heads are so much used, it would be really nice if one
> could just flip a flag value and have a arrow head attached to the line,
> obeying any angle the line has.
>
> ... and since every one has their own preference how the arrow should
> look like, it would be nice if the arrow head style could be
> configurable. Possible settings are:
> arrow head length
> width
> possible arc at thick end
> filled or open
> so three, four settings would perhaps suffice.
>
> Regards,
> /Karl Hammar
>
> -----------------------------------------------------------------------
> Aspö Data
> Lilla Aspö 148
> S-742 94 Östhammar
> Sweden
> +46 173 140 57
>
>
- Raw text -