-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
imdraw_test.go
119 lines (81 loc) · 1.75 KB
/
imdraw_test.go
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package gfx
import (
"math"
"testing"
)
func TestNewIMDraw(t *testing.T) {
imd := NewIMDraw(nil)
if imd.matrix != IM {
t.Fatalf("unexpected matrix")
}
}
func TestIMDrawClear(t *testing.T) {
imd := NewIMDraw(nil)
imd.Clear()
}
func TestIMDrawPush(t *testing.T) {
imd := NewIMDraw(nil)
imd.Push(V(1, 2), V(3, 4))
}
func TestIMDrawLine(t *testing.T) {
imd := NewIMDraw(nil)
imd.EndShape = SharpEndShape
imd.Line(0)
imd.Push(V(1, 2))
imd.Line(1)
imd.Push(V(1, 2), V(1, 2), V(10, 5))
imd.Line(1)
imd.EndShape = RoundEndShape
imd.Push(V(1, 2), V(3, 4))
imd.Line(2)
imd.Push(V(1, 2), V(3, 4), V(10, 5))
imd.Line(3)
}
func TestIMDrawRectangle(t *testing.T) {
imd := NewIMDraw(nil)
imd.Push(V(1, 2))
imd.Rectangle(0)
imd.Push(V(1, 2), V(3, 4))
imd.Rectangle(0)
imd.Push(V(3, 3), V(7, 8))
imd.Rectangle(1)
imd.Push(V(1, 2))
imd.Rectangle(1)
}
func TestIMDrawPolygon(t *testing.T) {
imd := NewIMDraw(nil)
imd.Push(V(1, 2), V(3, 4), V(1, 6))
imd.Polygon(0)
imd.Push(V(3, 3), V(7, 8), V(10, 2))
imd.Polygon(1)
}
func TestIMDrawCircle(t *testing.T) {
imd := NewIMDraw(nil)
imd.Push(V(1, 2))
imd.Circle(100, 0)
imd.Push(V(8, 8))
imd.Circle(50, 5)
}
func TestIMDrawCircleArc(t *testing.T) {
imd := NewIMDraw(nil)
imd.EndShape = RoundEndShape
imd.Push(V(1, 2))
imd.CircleArc(40, 0, 8*math.Pi, 0)
imd.Push(V(8, 8))
imd.CircleArc(40, 0, 8*math.Pi, 2)
}
func TestIMDrawEllipse(t *testing.T) {
imd := NewIMDraw(nil)
imd.Push(V(1, 2))
imd.Ellipse(V(5, 10), 0)
imd.Push(V(8, 8))
imd.Ellipse(V(10, 5), 2)
}
func TestIMDrawEllipseArc(t *testing.T) {
imd := NewIMDraw(nil)
imd.EndShape = SharpEndShape
imd.Push(V(1, 2))
imd.EllipseArc(V(5, 10), 0, 8*math.Pi, 0)
imd.Push(V(8, 8))
imd.EllipseArc(V(10, 5), 2, 4*math.Pi, 2)
}