1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
% $Id: xyatip.mf,v 3.7 1999/02/16 15:12:50 krisrose Exp $
%
% Generate upper arrow tips for Xy-pic.
% Copyright (c) 1994-1996 Kristoffer H. Rose <kris@diku.dk>
%
% This file is part of the Xy-pic macro package.
%
% The Xy-pic macro package is free software; you can redistribute it and/or
% modify it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or (at your
% option) any later version.
%
% The Xy-pic macro package is distributed in the hope that it will be
% useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
% Public License for more details.
%
% You should have received a copy of the GNU General Public License along
% with this macro package; if not, write to the Free Software Foundation,
% Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%
% As a special exception, you may use this file and all files derived
% from it without restriction. This special exception was added with
% version 3.7 of Xy-pic.
% _________________________________________________________________________
%
% CONTENTS: Arrow tips *pointing* in all directions. With zero bounding box
% placed at the tip; note most of the ink goes on the opposite side of where
% the tip points.
%
% Generates the half of the tip that is upper when pointing right.
% _________________________________________________________________________
%
pickup pencircle scaled segw; char_pen := savepen;
%
% chartowards makes char cc a tip pointing towards (dx,dy)...
%
def chartowards(expr cc,dx,dy) =
beginchar(cc,0,0,0);
a := angle(dx,dy);
z0 = (tipo,0) rotated a; % tip of tip
z1 = (-segl,0) rotated a; % center of tail
z2 = (-segl,1/2 segx) rotated a; % tail ends
z3 = curvature [z1,z2]; % tail directions
pickup char_pen; draw z2..{-z3}z0;
penlabels(0,1,2,3);
endchar
enddef;
% TESTING...we redefine openit because the characters extend far to the
% left of the bounding box!
%
def openit = openwindow currentwindow
from origin to (screen_cols,screen_rows) at (-200,300) enddef;
% GENERATE...
%
input xyd
bye.
%
% $Log: xyatip.mf,v $
% Revision 3.7 1999/02/16 15:12:50 krisrose
% Interim release (Y&Y fonts now free).
%
% Revision 3.3 1996/12/19 04:05:28 krisrose
% New for this maintenance release.
%
% Based on xyatip10.mf,v 3.0 1995/07/07 20:14:21 kris Exp
|