hytos / DTI_PID / DTI_PID / TextInfo.py @ 8744138e
이력 | 보기 | 이력해설 | 다운로드 (1.65 KB)
1 |
# coding: utf-8
|
---|---|
2 |
|
3 |
class TextInfo: |
4 |
def __init__(self, text, x, y, w, h, angle): |
5 |
self._text = text.replace('—', '-') # TODO: check this code!!! |
6 |
self.x = x
|
7 |
self.y = y
|
8 |
self.w = w
|
9 |
self.h = h
|
10 |
self.angle = angle
|
11 |
|
12 |
@property
|
13 |
def area(self): |
14 |
""" return area of area """
|
15 |
return self.w * self.h |
16 |
|
17 |
def contains(self, pt): |
18 |
if len(pt) == 2: |
19 |
if pt[0] < self.x: return False |
20 |
if pt[0] > self.x + self.w: return False |
21 |
if pt[1] < self.y: return False |
22 |
if pt[1] > self.y + self.h: return False |
23 |
elif len(pt) == 4: |
24 |
minx = pt[0]
|
25 |
miny = pt[1]
|
26 |
maxx = pt[2]
|
27 |
maxy = pt[3]
|
28 |
|
29 |
if minx < self.x: return False |
30 |
if maxx > self.x + self.w: return False |
31 |
if miny < self.y: return False |
32 |
if maxy > self.y + self.h: return False |
33 |
|
34 |
return True |
35 |
|
36 |
@property
|
37 |
def center(self): |
38 |
""" return center of text """
|
39 |
return (self.getX() + self.getW() * 0.5, self.getY() + self.getH() * 0.5) |
40 |
|
41 |
def setText(self, text): |
42 |
self._text = text
|
43 |
|
44 |
def getText(self): |
45 |
return self._text |
46 |
|
47 |
def setX(self, x): |
48 |
self.x = x
|
49 |
|
50 |
def getX(self): |
51 |
return int(self.x) |
52 |
|
53 |
def setY(self, y): |
54 |
self.y = y
|
55 |
|
56 |
def getY(self): |
57 |
return int(self.y) |
58 |
|
59 |
def setW(self, w): |
60 |
self.w = w
|
61 |
|
62 |
def getW(self): |
63 |
return int(self.w) |
64 |
|
65 |
def setH(self, h): |
66 |
self.h = h
|
67 |
|
68 |
def getH(self): |
69 |
return int(self.h) |
70 |
|
71 |
def setAngle(self, angle): |
72 |
self.angle = angle
|
73 |
|
74 |
def getAngle(self): |
75 |
return self.angle |