Found a convenient solution by drawing the arrow tips "by hand" (code reused
from TeXCAD :-) )
-----8<--------------8<--------------8<--------------8<--------- angle_vect:
constant:= pi - 0.25; cos_angle_vect: constant Real:= Cos(angle_vect);
sin_angle_vect: constant Real:= Sin(angle_vect);
arrow_length: constant:= 15;
-- Tips of an arrow pointing to (a,b), in direction of (u,v) -- Code from
TeXCAD procedure Arrow_tip( a,b, u,v: Integer; c,d, e,f: out
Integer -- (c,d) (e,f) are the tips points ) is un,vn,luv,
iv_luv,absc,ordo: Real; f_shrink: constant:= 1.0/4.0; begin luv:=
Sqrt(Real(u*u+v*v)); if Almost_zero(luv * f_shrink) then c:= a;
d:= b; e:= a; f:= b; else iv_luv:= 1.0 / luv; un:=
iv_luv * Real(u); vn:= iv_luv * Real(v); absc:= cos_angle_vect *
Real(arrow_length); ordo:= sin_angle_vect * Real(arrow_length); c:=
Integer(Real(a) + un*absc + vn*ordo); d:= Integer(Real(b) - un*ordo +
vn*absc); e:= Integer(Real(a) + un*absc - vn*ordo); f:=
Integer(Real(b) + un*ordo + vn*absc); end if; end
Arrow_tip;-----8<--------------8<--------------8<--------------8<---------
Then:
-----8<--------------8<--------------8<--------------8<---------
Arrow_tip(a,b, a-a1, b-b1, c,d,e,f); new_arrow.content.Create_XML_Element
(new_arrow.area, SVG_Namespace, "path"); new_arrow.content.Attribute ("d",
'M' & Integer'Image(a1) & Integer'Image(b1) & -- Move To 'L' &
Integer'Image(a) & Integer'Image(b) & -- Line To 'M' &
Integer'Image(a) & Integer'Image(b) & -- Move To 'L' &
Integer'Image(c) & Integer'Image(d) & -- Line To 'L' &
Integer'Image(e) & Integer'Image(f) & -- Line To 'Z'
-- Close Path );
new_arrow.content.Attribute ("stroke", "#331111");
new_arrow.content.Attribute ("stroke-width", "1.5");
new_arrow.content.Attribute ("style", "fill:
#001100;");-----8<--------------8<--------------8<--------------8<---------
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Gnoga-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gnoga-list