tellipse.c - plan9port - [fork] Plan 9 from user space | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
tellipse.c (1966B) | |
--- | |
1 #include <u.h> | |
2 #include <libc.h> | |
3 #include <draw.h> | |
4 | |
5 static | |
6 void | |
7 doellipse(int cmd, Image *dst, Point *c, int xr, int yr, int thick, Imag… | |
8 { | |
9 uchar *a; | |
10 | |
11 _setdrawop(dst->display, op); | |
12 | |
13 a = bufimage(dst->display, 1+4+4+2*4+4+4+4+2*4+2*4); | |
14 if(a == 0){ | |
15 fprint(2, "image ellipse: %r\n"); | |
16 return; | |
17 } | |
18 a[0] = cmd; | |
19 BPLONG(a+1, dst->id); | |
20 BPLONG(a+5, src->id); | |
21 BPLONG(a+9, c->x); | |
22 BPLONG(a+13, c->y); | |
23 BPLONG(a+17, xr); | |
24 BPLONG(a+21, yr); | |
25 BPLONG(a+25, thick); | |
26 BPLONG(a+29, sp->x); | |
27 BPLONG(a+33, sp->y); | |
28 BPLONG(a+37, alpha); | |
29 BPLONG(a+41, phi); | |
30 } | |
31 | |
32 void | |
33 ellipse(Image *dst, Point c, int a, int b, int thick, Image *src, Point … | |
34 { | |
35 doellipse('e', dst, &c, a, b, thick, src, &sp, 0, 0, SoverD); | |
36 } | |
37 | |
38 void | |
39 ellipseop(Image *dst, Point c, int a, int b, int thick, Image *src, Poin… | |
40 { | |
41 doellipse('e', dst, &c, a, b, thick, src, &sp, 0, 0, op); | |
42 } | |
43 | |
44 void | |
45 fillellipse(Image *dst, Point c, int a, int b, Image *src, Point sp) | |
46 { | |
47 doellipse('E', dst, &c, a, b, 0, src, &sp, 0, 0, SoverD); | |
48 } | |
49 | |
50 void | |
51 fillellipseop(Image *dst, Point c, int a, int b, Image *src, Point sp, D… | |
52 { | |
53 doellipse('E', dst, &c, a, b, 0, src, &sp, 0, 0, op); | |
54 } | |
55 | |
56 void | |
57 arc(Image *dst, Point c, int a, int b, int thick, Image *src, Point sp, … | |
58 { | |
59 alpha |= ((ulong)1)<<31; | |
60 doellipse('e', dst, &c, a, b, thick, src, &sp, alpha, phi, Sover… | |
61 } | |
62 | |
63 void | |
64 arcop(Image *dst, Point c, int a, int b, int thick, Image *src, Point sp… | |
65 { | |
66 alpha |= (ulong)1<<31; | |
67 doellipse('e', dst, &c, a, b, thick, src, &sp, alpha, phi, op); | |
68 } | |
69 | |
70 void | |
71 fillarc(Image *dst, Point c, int a, int b, Image *src, Point sp, int alp… | |
72 { | |
73 alpha |= (ulong)1<<31; | |
74 doellipse('E', dst, &c, a, b, 0, src, &sp, alpha, phi, SoverD); | |
75 } | |
76 | |
77 void | |
78 fillarcop(Image *dst, Point c, int a, int b, Image *src, Point sp, int a… | |
79 { | |
80 alpha |= (ulong)1<<31; | |
81 doellipse('E', dst, &c, a, b, 0, src, &sp, alpha, phi, op); | |
82 } |