Blame


1 cfa37a7b 2004-04-10 devnull .TH ADDPT 3
2 cfa37a7b 2004-04-10 devnull .SH NAME
3 cfa37a7b 2004-04-10 devnull addpt, subpt, mulpt, divpt, rectaddpt, rectsubpt, insetrect, canonrect, eqpt, eqrect, ptinrect, rectinrect, rectXrect, rectclip, combinerect, Dx, Dy, Pt, Rect, Rpt \- arithmetic on points and rectangles
4 cfa37a7b 2004-04-10 devnull .SH SYNOPSIS
5 cfa37a7b 2004-04-10 devnull .B #include <u.h>
6 cfa37a7b 2004-04-10 devnull .br
7 cfa37a7b 2004-04-10 devnull .B #include <libc.h>
8 cfa37a7b 2004-04-10 devnull .br
9 cfa37a7b 2004-04-10 devnull .B #include <draw.h>
10 cfa37a7b 2004-04-10 devnull .PP
11 cfa37a7b 2004-04-10 devnull .B
12 cfa37a7b 2004-04-10 devnull Point addpt(Point p, Point q)
13 cfa37a7b 2004-04-10 devnull .PP
14 cfa37a7b 2004-04-10 devnull .B
15 cfa37a7b 2004-04-10 devnull Point subpt(Point p, Point q)
16 cfa37a7b 2004-04-10 devnull .PP
17 cfa37a7b 2004-04-10 devnull .B
18 cfa37a7b 2004-04-10 devnull Point mulpt(Point p, int a)
19 cfa37a7b 2004-04-10 devnull .PP
20 cfa37a7b 2004-04-10 devnull .B
21 cfa37a7b 2004-04-10 devnull Point divpt(Point p, int a)
22 cfa37a7b 2004-04-10 devnull .PP
23 cfa37a7b 2004-04-10 devnull .B
24 cfa37a7b 2004-04-10 devnull Rectangle rectaddpt(Rectangle r, Point p)
25 cfa37a7b 2004-04-10 devnull .PP
26 cfa37a7b 2004-04-10 devnull .B
27 cfa37a7b 2004-04-10 devnull Rectangle rectsubpt(Rectangle r, Point p)
28 cfa37a7b 2004-04-10 devnull .PP
29 cfa37a7b 2004-04-10 devnull .B
30 cfa37a7b 2004-04-10 devnull Rectangle insetrect(Rectangle r, int n)
31 cfa37a7b 2004-04-10 devnull .PP
32 cfa37a7b 2004-04-10 devnull .B
33 cfa37a7b 2004-04-10 devnull Rectangle canonrect(Rectangle r)
34 cfa37a7b 2004-04-10 devnull .PP
35 cfa37a7b 2004-04-10 devnull .B
36 cfa37a7b 2004-04-10 devnull int eqpt(Point p, Point q)
37 cfa37a7b 2004-04-10 devnull .PP
38 cfa37a7b 2004-04-10 devnull .B
39 cfa37a7b 2004-04-10 devnull int eqrect(Rectangle r, Rectangle s)
40 cfa37a7b 2004-04-10 devnull .PP
41 cfa37a7b 2004-04-10 devnull .B
42 cfa37a7b 2004-04-10 devnull int ptinrect(Point p, Rectangle r)
43 cfa37a7b 2004-04-10 devnull .PP
44 cfa37a7b 2004-04-10 devnull .B
45 cfa37a7b 2004-04-10 devnull int rectinrect(Rectangle r, Rectangle s)
46 cfa37a7b 2004-04-10 devnull .PP
47 cfa37a7b 2004-04-10 devnull .B
48 cfa37a7b 2004-04-10 devnull int rectXrect(Rectangle r, Rectangle s)
49 cfa37a7b 2004-04-10 devnull .PP
50 cfa37a7b 2004-04-10 devnull .B
51 cfa37a7b 2004-04-10 devnull int rectclip(Rectangle *rp, Rectangle b)
52 cfa37a7b 2004-04-10 devnull .PP
53 cfa37a7b 2004-04-10 devnull .B
54 cfa37a7b 2004-04-10 devnull void combinerect(Rectangle *rp, Rectangle b)
55 cfa37a7b 2004-04-10 devnull .PP
56 cfa37a7b 2004-04-10 devnull .B
57 cfa37a7b 2004-04-10 devnull int Dx(Rectangle r)
58 cfa37a7b 2004-04-10 devnull .PP
59 cfa37a7b 2004-04-10 devnull .B
60 cfa37a7b 2004-04-10 devnull int Dy(Rectangle r)
61 cfa37a7b 2004-04-10 devnull .PP
62 cfa37a7b 2004-04-10 devnull .B
63 cfa37a7b 2004-04-10 devnull Point Pt(int x, int y)
64 cfa37a7b 2004-04-10 devnull .PP
65 cfa37a7b 2004-04-10 devnull .B
66 cfa37a7b 2004-04-10 devnull Rectangle Rect(int x0, int y0, int x1, int y1)
67 cfa37a7b 2004-04-10 devnull .PP
68 cfa37a7b 2004-04-10 devnull .B
69 cfa37a7b 2004-04-10 devnull Rectangle Rpt(Point p, Point q)
70 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
71 cfa37a7b 2004-04-10 devnull The functions
72 cfa37a7b 2004-04-10 devnull .IR Pt ,
73 cfa37a7b 2004-04-10 devnull .I Rect
74 cfa37a7b 2004-04-10 devnull and
75 cfa37a7b 2004-04-10 devnull .I Rpt
76 cfa37a7b 2004-04-10 devnull construct geometrical data types from their components.
77 cfa37a7b 2004-04-10 devnull .PP
78 cfa37a7b 2004-04-10 devnull .I Addpt
79 cfa37a7b 2004-04-10 devnull returns the Point
80 cfa37a7b 2004-04-10 devnull sum of its arguments:
81 cfa37a7b 2004-04-10 devnull .BI Pt( p .x+ q .x,
82 cfa37a7b 2004-04-10 devnull .IB p .y+ q .y) \f1.
83 cfa37a7b 2004-04-10 devnull .I Subpt
84 cfa37a7b 2004-04-10 devnull returns the Point
85 cfa37a7b 2004-04-10 devnull difference of its arguments:
86 cfa37a7b 2004-04-10 devnull .BI Pt( p .x- q .x,
87 cfa37a7b 2004-04-10 devnull .IB p .y- q .y) \f1.
88 cfa37a7b 2004-04-10 devnull .I Mulpt
89 cfa37a7b 2004-04-10 devnull returns the Point
90 cfa37a7b 2004-04-10 devnull .BI Pt( p .x* a ,
91 cfa37a7b 2004-04-10 devnull .IB p .y* a ) \f1.
92 cfa37a7b 2004-04-10 devnull .I Divpt
93 cfa37a7b 2004-04-10 devnull returns the Point
94 cfa37a7b 2004-04-10 devnull .BI Pt( p .x/ a ,
95 cfa37a7b 2004-04-10 devnull .IB p .y/ a ) \f1.
96 cfa37a7b 2004-04-10 devnull .PP
97 cfa37a7b 2004-04-10 devnull .I Rectaddpt
98 cfa37a7b 2004-04-10 devnull returns the Rectangle
99 cfa37a7b 2004-04-10 devnull .BI Rect(add( r .min,
100 cfa37a7b 2004-04-10 devnull .IB p ) \f1,
101 cfa37a7b 2004-04-10 devnull .BI add( r .max,
102 cfa37a7b 2004-04-10 devnull .IB p )) \f1;
103 cfa37a7b 2004-04-10 devnull .I rectsubpt
104 cfa37a7b 2004-04-10 devnull returns the Rectangle
105 cfa37a7b 2004-04-10 devnull .BI Rpt(sub( r .min,
106 cfa37a7b 2004-04-10 devnull .IB p ),
107 cfa37a7b 2004-04-10 devnull .BI sub( r .max,
108 cfa37a7b 2004-04-10 devnull .IB p ))\fR.
109 cfa37a7b 2004-04-10 devnull .PP
110 cfa37a7b 2004-04-10 devnull .I Insetrect
111 cfa37a7b 2004-04-10 devnull returns the Rectangle
112 cfa37a7b 2004-04-10 devnull .BI Rect( r .min.x+ n \f1,
113 cfa37a7b 2004-04-10 devnull .IB r .min.y+ n \f1,
114 cfa37a7b 2004-04-10 devnull .IB r .max.x- n \f1,
115 cfa37a7b 2004-04-10 devnull .IB r .max.y- n ) \f1.
116 cfa37a7b 2004-04-10 devnull .PP
117 cfa37a7b 2004-04-10 devnull .I Canonrect
118 cfa37a7b 2004-04-10 devnull returns a rectangle with the same extent as
119 cfa37a7b 2004-04-10 devnull .IR r ,
120 cfa37a7b 2004-04-10 devnull canonicalized so that
121 cfa37a7b 2004-04-10 devnull .B min.x
122 cfa37a7b 2004-04-10 devnull
123 cfa37a7b 2004-04-10 devnull .BR max.x ,
124 cfa37a7b 2004-04-10 devnull and
125 cfa37a7b 2004-04-10 devnull .B min.y
126 cfa37a7b 2004-04-10 devnull
127 cfa37a7b 2004-04-10 devnull .BR max.y .
128 cfa37a7b 2004-04-10 devnull .PP
129 cfa37a7b 2004-04-10 devnull .I Eqpt
130 cfa37a7b 2004-04-10 devnull compares its argument Points and returns
131 cfa37a7b 2004-04-10 devnull 0 if unequal,
132 cfa37a7b 2004-04-10 devnull 1 if equal.
133 cfa37a7b 2004-04-10 devnull .I Eqrect
134 cfa37a7b 2004-04-10 devnull does the same for its argument Rectangles.
135 cfa37a7b 2004-04-10 devnull .PP
136 cfa37a7b 2004-04-10 devnull .I Ptinrect
137 cfa37a7b 2004-04-10 devnull returns 1 if
138 cfa37a7b 2004-04-10 devnull .I p
139 cfa37a7b 2004-04-10 devnull is a point within
140 cfa37a7b 2004-04-10 devnull .IR r ,
141 cfa37a7b 2004-04-10 devnull and 0 otherwise.
142 cfa37a7b 2004-04-10 devnull .PP
143 cfa37a7b 2004-04-10 devnull .I Rectinrect
144 cfa37a7b 2004-04-10 devnull returns 1 if all the pixels in
145 cfa37a7b 2004-04-10 devnull .I r
146 cfa37a7b 2004-04-10 devnull are also in
147 cfa37a7b 2004-04-10 devnull .IR s ,
148 cfa37a7b 2004-04-10 devnull and 0 otherwise.
149 cfa37a7b 2004-04-10 devnull .PP
150 cfa37a7b 2004-04-10 devnull .I RectXrect
151 cfa37a7b 2004-04-10 devnull returns 1 if
152 cfa37a7b 2004-04-10 devnull .I r
153 cfa37a7b 2004-04-10 devnull and
154 cfa37a7b 2004-04-10 devnull .I s
155 cfa37a7b 2004-04-10 devnull share any point, and 0 otherwise.
156 cfa37a7b 2004-04-10 devnull .PP
157 cfa37a7b 2004-04-10 devnull .I Rectclip
158 cfa37a7b 2004-04-10 devnull clips in place
159 cfa37a7b 2004-04-10 devnull the Rectangle pointed to by
160 cfa37a7b 2004-04-10 devnull .I rp
161 cfa37a7b 2004-04-10 devnull so that it is completely contained within
162 cfa37a7b 2004-04-10 devnull .IR b .
163 cfa37a7b 2004-04-10 devnull The return value is 1 if any part of
164 cfa37a7b 2004-04-10 devnull .RI * rp
165 cfa37a7b 2004-04-10 devnull is within
166 cfa37a7b 2004-04-10 devnull .IR b .
167 cfa37a7b 2004-04-10 devnull Otherwise, the return value is 0 and
168 cfa37a7b 2004-04-10 devnull .RI * rp
169 cfa37a7b 2004-04-10 devnull is unchanged.
170 cfa37a7b 2004-04-10 devnull .PP
171 cfa37a7b 2004-04-10 devnull .I Combinerect
172 cfa37a7b 2004-04-10 devnull overwrites
173 cfa37a7b 2004-04-10 devnull .B *rp
174 cfa37a7b 2004-04-10 devnull with the smallest rectangle sufficient to cover all the pixels of
175 cfa37a7b 2004-04-10 devnull .B *rp
176 cfa37a7b 2004-04-10 devnull and
177 cfa37a7b 2004-04-10 devnull .BR b .
178 cfa37a7b 2004-04-10 devnull .PP
179 cfa37a7b 2004-04-10 devnull The functions
180 cfa37a7b 2004-04-10 devnull .I Dx
181 cfa37a7b 2004-04-10 devnull and
182 cfa37a7b 2004-04-10 devnull .I Dy
183 cfa37a7b 2004-04-10 devnull give the width (Δx) and height (Δy) of a Rectangle.
184 cfa37a7b 2004-04-10 devnull They are implemented as macros.
185 cfa37a7b 2004-04-10 devnull .SH SOURCE
186 c3674de4 2005-01-11 devnull .B \*9/src/libdraw
187 cfa37a7b 2004-04-10 devnull .SH SEE ALSO
188 d32deab1 2020-08-16 rsc .MR graphics (3)