1 #include "lib9.h"
2 #include "draw.h"
3
4 static
5 int
unitsperline(Rectangle r,int d,int bitsperunit)6 unitsperline(Rectangle r, int d, int bitsperunit)
7 {
8 ulong l, t;
9
10 if(r.min.x >= 0){
11 l = (r.max.x*d+bitsperunit-1)/bitsperunit;
12 l -= (r.min.x*d)/bitsperunit;
13 }else{ /* make positive before divide */
14 t = (-r.min.x*d+bitsperunit-1)/bitsperunit;
15 l = t+(r.max.x*d+bitsperunit-1)/bitsperunit;
16 }
17 return l;
18 }
19
20 int
wordsperline(Rectangle r,int d)21 wordsperline(Rectangle r, int d)
22 {
23 return unitsperline(r, d, 8*sizeof(ulong));
24 }
25
26 int
bytesperline(Rectangle r,int d)27 bytesperline(Rectangle r, int d)
28 {
29 return unitsperline(r, d, 8);
30 }
31