|
|
|
|
||
|
DEFINITION MODULE Arrows; (******************************************************************* Module Arrows (Version 1.0) Copyright (c) 1989-2006 by Andreas Fischlin and ETH Zurich. Purpose Drawing of arrows. Remarks -- Programming o Design Andreas Fischlin 19/12/1989 o Implementation Andreas Fischlin 19/12/1989 ETH Zurich Systems Ecology CHN E 35.1 Universitaetstrasse 16 8092 Zurich SWITZERLAND URLs: <mailto:RAMSES@env.ethz.ch> <http://www.sysecol.ethz.ch> <http://www.sysecol.ethz.ch/SimSoftware/RAMSES> Last revision of definition: 19/12/1989 AF *******************************************************************) PROCEDURE DrawArrow (xb,yb,xe,ye: INTEGER; labelAtBeg,labelAtEnd: ARRAY OF CHAR; labelOnRightSide: BOOLEAN); (* Draws an arrow from point [xb,yb] to point [xe,ye]. Two labels, labelAtBeg at the begin, labelAtEnd at the end of the arrow, will be written on one side of the arrow as given by flag lableOnRightSide. The properties of the arrow are determined by the current settings. *) PROCEDURE SetArrowProperties (doubleArrow, leftHalfHead, rightHalfHead, filledHead: BOOLEAN; arrhle: CARDINAL; alpha: INTEGER); PROCEDURE GetArrowProperties (VAR doubleArrow, leftHalfHead, rightHalfHead, filledHead: BOOLEAN; VAR arrhle: CARDINAL; VAR alpha: INTEGER); (* Sets or returns the properties with which arrows are to be drawn. doubleArrow defines whether arrow heads are to be drawn on both sides of the arrow (default is FALSE). leftHalfHead, rightHalfHead specify whether the arrow head consists only of one arc (defaults are TRUE; Note if both flags are FALSE no head is drawn at all). filledHead specifies whether an arrow head consists not just of an arc but will be filled (default is FALSE). arrhle is the length of the head arc in pixels (default is 4), alpha the angle between the line [xb,yb] [xe,ye] and the head arcs in degrees (default is 23°). *) END Arrows.
|
||
|
|
|