X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=9bR9SiAFP3ciIqoLXfDFfPgveB+JV8wEMrE/CcC8TXY=; b=mcPZnzGYcrLl030At2RFlMb9/bW3ey3DXBTh1IFiA/sdtx8hFoTzXdL7YucIxhs82G +Z7hakYOJ8Wf0fqFkkduON/DWFH3US2cHKCjCUNRTPBRKZZUeNGttcoiUiXDFbTnnrFC RjW5sTTLRnlycOKwKidFf4nnoStpGh3Qk6dV7Q6XxbnMCd4mkTTZo6MbClDbKtzhAjLB 45nI2k/WMu0O67yw/wTm4ftm5AvXk2+8ZE/q2XTBnfuvad6CFXsWZ9uXwaE+YZHXRPNg pFmGA50uBcSsGHa/OXSzFPox6idfbAYuujHX2IuFwfM2IcboQPico+PrqENOSCe1z1nc Ls/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=9bR9SiAFP3ciIqoLXfDFfPgveB+JV8wEMrE/CcC8TXY=; b=HxHF7ly3lktmvddThNggkcWMcPIFFWIgC0ZiCawcHJqJ2NrFtyk6aCHoR9GLaiLaJN GeFyVorVxOTMC8iV7QfUI3XvvrZd2MpTztQgIF9YkW7VoVoV0KUaXsrDbcPRfQuIR7+D MzbfS5v26mkh99MgkzE9sUbpnQ2zvx4JwgRnZskDvrrRMfy6jnkYkpZJE0EzbmpOztqL F3DDxNSUNWna96lyhQwZxrGKKc8iG6T26PPYAJdmAH9bfaIf+D7aVhwo2zDZePlkI0co vhVirvzouNUQ6sdJxvGT17p2VNM+yhXDHs0Kc6NsO6DvVi1NDmkZF8OCGtDKgFiXcUMk q2Jw== X-Gm-Message-State: AOUpUlEBhHwf9Rf+dpupXC4jKiMg+rFuQiCgQZjOLHw09F3vXZIIjYXa oarrlWsSJCr+0dPMTulrczX1Uj8U9UMVGCKBGJVtaw== X-Google-Smtp-Source: AAOMgpeadk2exwy8y5q0/CGZ0WsdFU0pK8UMCQu2JFOwQ6NqveNVbwr64vncsQZP+xSzlqDDA65fk3VXIO8Or0HRNNE= X-Received: by 2002:a2e:991:: with SMTP id 139-v6mr3770757ljj.150.1531505525977; Fri, 13 Jul 2018 11:12:05 -0700 (PDT) MIME-Version: 1.0 References: <20180702125528 DOT D32CF81F76FE AT turkos DOT aspodata DOT se> <20180712172330 DOT 33B1B8420410 AT turkos DOT aspodata DOT se> <20180712184028 DOT 48C668420410 AT turkos DOT aspodata DOT se> <20180713171444 DOT 9B0BF814A125 AT turkos DOT aspodata DOT se> In-Reply-To: <20180713171444.9B0BF814A125@turkos.aspodata.se> From: "Sergey Stepanov (no DOT such DOT process AT gmail DOT com) [via geda-user AT delorie DOT com]" Date: Fri, 13 Jul 2018 23:11:53 +0500 Message-ID: Subject: Re: [geda-user] adventures using arrows (for documentation), or cross my lines To: geda-user AT delorie DOT com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id w6DIC8CZ018352 Reply-To: geda-user AT delorie DOT com 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, : > > 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 > >