OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "fpdfsdk/include/pdfwindow/PWL_Utils.h" | 7 #include "fpdfsdk/include/pdfwindow/PWL_Utils.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 case PWLPT_BEZIERTO: | 62 case PWLPT_BEZIERTO: |
63 path.SetPoint(i, pPathData[i].point.x, pPathData[i].point.y, | 63 path.SetPoint(i, pPathData[i].point.x, pPathData[i].point.y, |
64 FXPT_BEZIERTO); | 64 FXPT_BEZIERTO); |
65 break; | 65 break; |
66 default: | 66 default: |
67 break; | 67 break; |
68 } | 68 } |
69 } | 69 } |
70 } | 70 } |
71 | 71 |
72 CPDF_Rect CPWL_Utils::MaxRect(const CPDF_Rect& rect1, const CPDF_Rect& rect2) { | 72 CFX_FloatRect CPWL_Utils::MaxRect(const CFX_FloatRect& rect1, |
73 CPDF_Rect rcRet; | 73 const CFX_FloatRect& rect2) { |
| 74 CFX_FloatRect rcRet; |
74 | 75 |
75 rcRet.left = PWL_MIN(rect1.left, rect2.left); | 76 rcRet.left = PWL_MIN(rect1.left, rect2.left); |
76 rcRet.bottom = PWL_MIN(rect1.bottom, rect2.bottom); | 77 rcRet.bottom = PWL_MIN(rect1.bottom, rect2.bottom); |
77 rcRet.right = PWL_MAX(rect1.right, rect2.right); | 78 rcRet.right = PWL_MAX(rect1.right, rect2.right); |
78 rcRet.top = PWL_MAX(rect1.top, rect2.top); | 79 rcRet.top = PWL_MAX(rect1.top, rect2.top); |
79 | 80 |
80 return rcRet; | 81 return rcRet; |
81 } | 82 } |
82 | 83 |
83 CPDF_Rect CPWL_Utils::OffsetRect(const CPDF_Rect& rect, | 84 CFX_FloatRect CPWL_Utils::OffsetRect(const CFX_FloatRect& rect, |
84 FX_FLOAT x, | 85 FX_FLOAT x, |
85 FX_FLOAT y) { | 86 FX_FLOAT y) { |
86 return CPDF_Rect(rect.left + x, rect.bottom + y, rect.right + x, | 87 return CFX_FloatRect(rect.left + x, rect.bottom + y, rect.right + x, |
87 rect.top + y); | 88 rect.top + y); |
88 } | 89 } |
89 | 90 |
90 FX_BOOL CPWL_Utils::ContainsRect(const CPDF_Rect& rcParent, | 91 FX_BOOL CPWL_Utils::ContainsRect(const CFX_FloatRect& rcParent, |
91 const CPDF_Rect& rcChild) { | 92 const CFX_FloatRect& rcChild) { |
92 return rcChild.left >= rcParent.left && rcChild.bottom >= rcParent.bottom && | 93 return rcChild.left >= rcParent.left && rcChild.bottom >= rcParent.bottom && |
93 rcChild.right <= rcParent.right && rcChild.top <= rcParent.top; | 94 rcChild.right <= rcParent.right && rcChild.top <= rcParent.top; |
94 } | 95 } |
95 | 96 |
96 FX_BOOL CPWL_Utils::IntersectRect(const CPDF_Rect& rect1, | 97 FX_BOOL CPWL_Utils::IntersectRect(const CFX_FloatRect& rect1, |
97 const CPDF_Rect& rect2) { | 98 const CFX_FloatRect& rect2) { |
98 FX_FLOAT left = rect1.left > rect2.left ? rect1.left : rect2.left; | 99 FX_FLOAT left = rect1.left > rect2.left ? rect1.left : rect2.left; |
99 FX_FLOAT right = rect1.right < rect2.right ? rect1.right : rect2.right; | 100 FX_FLOAT right = rect1.right < rect2.right ? rect1.right : rect2.right; |
100 FX_FLOAT bottom = rect1.bottom > rect2.bottom ? rect1.bottom : rect2.bottom; | 101 FX_FLOAT bottom = rect1.bottom > rect2.bottom ? rect1.bottom : rect2.bottom; |
101 FX_FLOAT top = rect1.top < rect2.top ? rect1.top : rect2.top; | 102 FX_FLOAT top = rect1.top < rect2.top ? rect1.top : rect2.top; |
102 | 103 |
103 return left < right && bottom < top; | 104 return left < right && bottom < top; |
104 } | 105 } |
105 | 106 |
106 CPDF_Point CPWL_Utils::OffsetPoint(const CPDF_Point& point, | 107 CFX_FloatPoint CPWL_Utils::OffsetPoint(const CFX_FloatPoint& point, |
107 FX_FLOAT x, | 108 FX_FLOAT x, |
108 FX_FLOAT y) { | 109 FX_FLOAT y) { |
109 return CPDF_Point(point.x + x, point.y + y); | 110 return CFX_FloatPoint(point.x + x, point.y + y); |
110 } | 111 } |
111 | 112 |
112 CPVT_WordRange CPWL_Utils::OverlapWordRange(const CPVT_WordRange& wr1, | 113 CPVT_WordRange CPWL_Utils::OverlapWordRange(const CPVT_WordRange& wr1, |
113 const CPVT_WordRange& wr2) { | 114 const CPVT_WordRange& wr2) { |
114 CPVT_WordRange wrRet; | 115 CPVT_WordRange wrRet; |
115 | 116 |
116 if (wr2.EndPos.WordCmp(wr1.BeginPos) < 0 || | 117 if (wr2.EndPos.WordCmp(wr1.BeginPos) < 0 || |
117 wr2.BeginPos.WordCmp(wr1.EndPos) > 0) | 118 wr2.BeginPos.WordCmp(wr1.EndPos) > 0) |
118 return wrRet; | 119 return wrRet; |
119 if (wr1.EndPos.WordCmp(wr2.BeginPos) < 0 || | 120 if (wr1.EndPos.WordCmp(wr2.BeginPos) < 0 || |
120 wr1.BeginPos.WordCmp(wr2.EndPos) > 0) | 121 wr1.BeginPos.WordCmp(wr2.EndPos) > 0) |
121 return wrRet; | 122 return wrRet; |
122 | 123 |
123 if (wr1.BeginPos.WordCmp(wr2.BeginPos) < 0) { | 124 if (wr1.BeginPos.WordCmp(wr2.BeginPos) < 0) { |
124 wrRet.BeginPos = wr2.BeginPos; | 125 wrRet.BeginPos = wr2.BeginPos; |
125 } else { | 126 } else { |
126 wrRet.BeginPos = wr1.BeginPos; | 127 wrRet.BeginPos = wr1.BeginPos; |
127 } | 128 } |
128 | 129 |
129 if (wr1.EndPos.WordCmp(wr2.EndPos) < 0) { | 130 if (wr1.EndPos.WordCmp(wr2.EndPos) < 0) { |
130 wrRet.EndPos = wr1.EndPos; | 131 wrRet.EndPos = wr1.EndPos; |
131 } else { | 132 } else { |
132 wrRet.EndPos = wr2.EndPos; | 133 wrRet.EndPos = wr2.EndPos; |
133 } | 134 } |
134 | 135 |
135 return wrRet; | 136 return wrRet; |
136 } | 137 } |
137 | 138 |
138 CFX_ByteString CPWL_Utils::GetAP_Check(const CPDF_Rect& crBBox) { | 139 CFX_ByteString CPWL_Utils::GetAP_Check(const CFX_FloatRect& crBBox) { |
139 const FX_FLOAT fWidth = crBBox.right - crBBox.left; | 140 const FX_FLOAT fWidth = crBBox.right - crBBox.left; |
140 const FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 141 const FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
141 | 142 |
142 CPWL_Point pts[8][3] = {{CPWL_Point(0.28f, 0.52f), CPWL_Point(0.27f, 0.48f), | 143 CPWL_Point pts[8][3] = {{CPWL_Point(0.28f, 0.52f), CPWL_Point(0.27f, 0.48f), |
143 CPWL_Point(0.29f, 0.40f)}, | 144 CPWL_Point(0.29f, 0.40f)}, |
144 {CPWL_Point(0.30f, 0.33f), CPWL_Point(0.31f, 0.29f), | 145 {CPWL_Point(0.30f, 0.33f), CPWL_Point(0.31f, 0.29f), |
145 CPWL_Point(0.31f, 0.28f)}, | 146 CPWL_Point(0.31f, 0.28f)}, |
146 {CPWL_Point(0.39f, 0.28f), CPWL_Point(0.49f, 0.29f), | 147 {CPWL_Point(0.39f, 0.28f), CPWL_Point(0.49f, 0.29f), |
147 CPWL_Point(0.77f, 0.67f)}, | 148 CPWL_Point(0.77f, 0.67f)}, |
148 {CPWL_Point(0.76f, 0.68f), CPWL_Point(0.78f, 0.69f), | 149 {CPWL_Point(0.76f, 0.68f), CPWL_Point(0.78f, 0.69f), |
(...skipping 28 matching lines...) Expand all Loading... |
177 csAP << pts[i][0].x + px1 * FX_BEZIER << " " | 178 csAP << pts[i][0].x + px1 * FX_BEZIER << " " |
178 << pts[i][0].y + py1 * FX_BEZIER << " " | 179 << pts[i][0].y + py1 * FX_BEZIER << " " |
179 << pts[nNext][0].x + px2 * FX_BEZIER << " " | 180 << pts[nNext][0].x + px2 * FX_BEZIER << " " |
180 << pts[nNext][0].y + py2 * FX_BEZIER << " " << pts[nNext][0].x << " " | 181 << pts[nNext][0].y + py2 * FX_BEZIER << " " << pts[nNext][0].x << " " |
181 << pts[nNext][0].y << " c\n"; | 182 << pts[nNext][0].y << " c\n"; |
182 } | 183 } |
183 | 184 |
184 return csAP.GetByteString(); | 185 return csAP.GetByteString(); |
185 } | 186 } |
186 | 187 |
187 CFX_ByteString CPWL_Utils::GetAP_Circle(const CPDF_Rect& crBBox) { | 188 CFX_ByteString CPWL_Utils::GetAP_Circle(const CFX_FloatRect& crBBox) { |
188 CFX_ByteTextBuf csAP; | 189 CFX_ByteTextBuf csAP; |
189 | 190 |
190 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 191 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
191 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 192 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
192 | 193 |
193 CPDF_Point pt1(crBBox.left, crBBox.bottom + fHeight / 2); | 194 CFX_FloatPoint pt1(crBBox.left, crBBox.bottom + fHeight / 2); |
194 CPDF_Point pt2(crBBox.left + fWidth / 2, crBBox.top); | 195 CFX_FloatPoint pt2(crBBox.left + fWidth / 2, crBBox.top); |
195 CPDF_Point pt3(crBBox.right, crBBox.bottom + fHeight / 2); | 196 CFX_FloatPoint pt3(crBBox.right, crBBox.bottom + fHeight / 2); |
196 CPDF_Point pt4(crBBox.left + fWidth / 2, crBBox.bottom); | 197 CFX_FloatPoint pt4(crBBox.left + fWidth / 2, crBBox.bottom); |
197 | 198 |
198 csAP << pt1.x << " " << pt1.y << " m\n"; | 199 csAP << pt1.x << " " << pt1.y << " m\n"; |
199 | 200 |
200 FX_FLOAT px = pt2.x - pt1.x; | 201 FX_FLOAT px = pt2.x - pt1.x; |
201 FX_FLOAT py = pt2.y - pt1.y; | 202 FX_FLOAT py = pt2.y - pt1.y; |
202 | 203 |
203 csAP << pt1.x << " " << pt1.y + py * FX_BEZIER << " " | 204 csAP << pt1.x << " " << pt1.y + py * FX_BEZIER << " " |
204 << pt2.x - px * FX_BEZIER << " " << pt2.y << " " << pt2.x << " " << pt2.y | 205 << pt2.x - px * FX_BEZIER << " " << pt2.y << " " << pt2.x << " " << pt2.y |
205 << " c\n"; | 206 << " c\n"; |
206 | 207 |
(...skipping 12 matching lines...) Expand all Loading... |
219 | 220 |
220 px = pt4.x - pt1.x; | 221 px = pt4.x - pt1.x; |
221 py = pt1.y - pt4.y; | 222 py = pt1.y - pt4.y; |
222 | 223 |
223 csAP << pt4.x - px * FX_BEZIER << " " << pt4.y << " " << pt1.x << " " | 224 csAP << pt4.x - px * FX_BEZIER << " " << pt4.y << " " << pt1.x << " " |
224 << pt1.y - py * FX_BEZIER << " " << pt1.x << " " << pt1.y << " c\n"; | 225 << pt1.y - py * FX_BEZIER << " " << pt1.x << " " << pt1.y << " c\n"; |
225 | 226 |
226 return csAP.GetByteString(); | 227 return csAP.GetByteString(); |
227 } | 228 } |
228 | 229 |
229 CFX_ByteString CPWL_Utils::GetAP_Cross(const CPDF_Rect& crBBox) { | 230 CFX_ByteString CPWL_Utils::GetAP_Cross(const CFX_FloatRect& crBBox) { |
230 CFX_ByteTextBuf csAP; | 231 CFX_ByteTextBuf csAP; |
231 | 232 |
232 csAP << crBBox.left << " " << crBBox.top << " m\n"; | 233 csAP << crBBox.left << " " << crBBox.top << " m\n"; |
233 csAP << crBBox.right << " " << crBBox.bottom << " l\n"; | 234 csAP << crBBox.right << " " << crBBox.bottom << " l\n"; |
234 csAP << crBBox.left << " " << crBBox.bottom << " m\n"; | 235 csAP << crBBox.left << " " << crBBox.bottom << " m\n"; |
235 csAP << crBBox.right << " " << crBBox.top << " l\n"; | 236 csAP << crBBox.right << " " << crBBox.top << " l\n"; |
236 | 237 |
237 return csAP.GetByteString(); | 238 return csAP.GetByteString(); |
238 } | 239 } |
239 | 240 |
240 CFX_ByteString CPWL_Utils::GetAP_Diamond(const CPDF_Rect& crBBox) { | 241 CFX_ByteString CPWL_Utils::GetAP_Diamond(const CFX_FloatRect& crBBox) { |
241 CFX_ByteTextBuf csAP; | 242 CFX_ByteTextBuf csAP; |
242 | 243 |
243 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 244 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
244 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 245 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
245 | 246 |
246 CPDF_Point pt1(crBBox.left, crBBox.bottom + fHeight / 2); | 247 CFX_FloatPoint pt1(crBBox.left, crBBox.bottom + fHeight / 2); |
247 CPDF_Point pt2(crBBox.left + fWidth / 2, crBBox.top); | 248 CFX_FloatPoint pt2(crBBox.left + fWidth / 2, crBBox.top); |
248 CPDF_Point pt3(crBBox.right, crBBox.bottom + fHeight / 2); | 249 CFX_FloatPoint pt3(crBBox.right, crBBox.bottom + fHeight / 2); |
249 CPDF_Point pt4(crBBox.left + fWidth / 2, crBBox.bottom); | 250 CFX_FloatPoint pt4(crBBox.left + fWidth / 2, crBBox.bottom); |
250 | 251 |
251 csAP << pt1.x << " " << pt1.y << " m\n"; | 252 csAP << pt1.x << " " << pt1.y << " m\n"; |
252 csAP << pt2.x << " " << pt2.y << " l\n"; | 253 csAP << pt2.x << " " << pt2.y << " l\n"; |
253 csAP << pt3.x << " " << pt3.y << " l\n"; | 254 csAP << pt3.x << " " << pt3.y << " l\n"; |
254 csAP << pt4.x << " " << pt4.y << " l\n"; | 255 csAP << pt4.x << " " << pt4.y << " l\n"; |
255 csAP << pt1.x << " " << pt1.y << " l\n"; | 256 csAP << pt1.x << " " << pt1.y << " l\n"; |
256 | 257 |
257 return csAP.GetByteString(); | 258 return csAP.GetByteString(); |
258 } | 259 } |
259 | 260 |
260 CFX_ByteString CPWL_Utils::GetAP_Square(const CPDF_Rect& crBBox) { | 261 CFX_ByteString CPWL_Utils::GetAP_Square(const CFX_FloatRect& crBBox) { |
261 CFX_ByteTextBuf csAP; | 262 CFX_ByteTextBuf csAP; |
262 | 263 |
263 csAP << crBBox.left << " " << crBBox.top << " m\n"; | 264 csAP << crBBox.left << " " << crBBox.top << " m\n"; |
264 csAP << crBBox.right << " " << crBBox.top << " l\n"; | 265 csAP << crBBox.right << " " << crBBox.top << " l\n"; |
265 csAP << crBBox.right << " " << crBBox.bottom << " l\n"; | 266 csAP << crBBox.right << " " << crBBox.bottom << " l\n"; |
266 csAP << crBBox.left << " " << crBBox.bottom << " l\n"; | 267 csAP << crBBox.left << " " << crBBox.bottom << " l\n"; |
267 csAP << crBBox.left << " " << crBBox.top << " l\n"; | 268 csAP << crBBox.left << " " << crBBox.top << " l\n"; |
268 | 269 |
269 return csAP.GetByteString(); | 270 return csAP.GetByteString(); |
270 } | 271 } |
271 | 272 |
272 CFX_ByteString CPWL_Utils::GetAP_Star(const CPDF_Rect& crBBox) { | 273 CFX_ByteString CPWL_Utils::GetAP_Star(const CFX_FloatRect& crBBox) { |
273 CFX_ByteTextBuf csAP; | 274 CFX_ByteTextBuf csAP; |
274 | 275 |
275 FX_FLOAT fRadius = | 276 FX_FLOAT fRadius = |
276 (crBBox.top - crBBox.bottom) / (1 + (FX_FLOAT)cos(FX_PI / 5.0f)); | 277 (crBBox.top - crBBox.bottom) / (1 + (FX_FLOAT)cos(FX_PI / 5.0f)); |
277 CPDF_Point ptCenter = CPDF_Point((crBBox.left + crBBox.right) / 2.0f, | 278 CFX_FloatPoint ptCenter = CFX_FloatPoint((crBBox.left + crBBox.right) / 2.0f, |
278 (crBBox.top + crBBox.bottom) / 2.0f); | 279 (crBBox.top + crBBox.bottom) / 2.0f); |
279 | 280 |
280 FX_FLOAT px[5], py[5]; | 281 FX_FLOAT px[5], py[5]; |
281 | 282 |
282 FX_FLOAT fAngel = FX_PI / 10.0f; | 283 FX_FLOAT fAngel = FX_PI / 10.0f; |
283 | 284 |
284 for (int32_t i = 0; i < 5; i++) { | 285 for (int32_t i = 0; i < 5; i++) { |
285 px[i] = ptCenter.x + fRadius * (FX_FLOAT)cos(fAngel); | 286 px[i] = ptCenter.x + fRadius * (FX_FLOAT)cos(fAngel); |
286 py[i] = ptCenter.y + fRadius * (FX_FLOAT)sin(fAngel); | 287 py[i] = ptCenter.y + fRadius * (FX_FLOAT)sin(fAngel); |
287 | 288 |
288 fAngel += FX_PI * 2 / 5.0f; | 289 fAngel += FX_PI * 2 / 5.0f; |
289 } | 290 } |
290 | 291 |
291 csAP << px[0] << " " << py[0] << " m\n"; | 292 csAP << px[0] << " " << py[0] << " m\n"; |
292 | 293 |
293 int32_t nNext = 0; | 294 int32_t nNext = 0; |
294 for (int32_t j = 0; j < 5; j++) { | 295 for (int32_t j = 0; j < 5; j++) { |
295 nNext += 2; | 296 nNext += 2; |
296 if (nNext >= 5) | 297 if (nNext >= 5) |
297 nNext -= 5; | 298 nNext -= 5; |
298 csAP << px[nNext] << " " << py[nNext] << " l\n"; | 299 csAP << px[nNext] << " " << py[nNext] << " l\n"; |
299 } | 300 } |
300 | 301 |
301 return csAP.GetByteString(); | 302 return csAP.GetByteString(); |
302 } | 303 } |
303 | 304 |
304 CFX_ByteString CPWL_Utils::GetAP_HalfCircle(const CPDF_Rect& crBBox, | 305 CFX_ByteString CPWL_Utils::GetAP_HalfCircle(const CFX_FloatRect& crBBox, |
305 FX_FLOAT fRotate) { | 306 FX_FLOAT fRotate) { |
306 CFX_ByteTextBuf csAP; | 307 CFX_ByteTextBuf csAP; |
307 | 308 |
308 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 309 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
309 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 310 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
310 | 311 |
311 CPDF_Point pt1(-fWidth / 2, 0); | 312 CFX_FloatPoint pt1(-fWidth / 2, 0); |
312 CPDF_Point pt2(0, fHeight / 2); | 313 CFX_FloatPoint pt2(0, fHeight / 2); |
313 CPDF_Point pt3(fWidth / 2, 0); | 314 CFX_FloatPoint pt3(fWidth / 2, 0); |
314 | 315 |
315 FX_FLOAT px, py; | 316 FX_FLOAT px, py; |
316 | 317 |
317 csAP << cos(fRotate) << " " << sin(fRotate) << " " << -sin(fRotate) << " " | 318 csAP << cos(fRotate) << " " << sin(fRotate) << " " << -sin(fRotate) << " " |
318 << cos(fRotate) << " " << crBBox.left + fWidth / 2 << " " | 319 << cos(fRotate) << " " << crBBox.left + fWidth / 2 << " " |
319 << crBBox.bottom + fHeight / 2 << " cm\n"; | 320 << crBBox.bottom + fHeight / 2 << " cm\n"; |
320 | 321 |
321 csAP << pt1.x << " " << pt1.y << " m\n"; | 322 csAP << pt1.x << " " << pt1.y << " m\n"; |
322 | 323 |
323 px = pt2.x - pt1.x; | 324 px = pt2.x - pt1.x; |
324 py = pt2.y - pt1.y; | 325 py = pt2.y - pt1.y; |
325 | 326 |
326 csAP << pt1.x << " " << pt1.y + py * FX_BEZIER << " " | 327 csAP << pt1.x << " " << pt1.y + py * FX_BEZIER << " " |
327 << pt2.x - px * FX_BEZIER << " " << pt2.y << " " << pt2.x << " " << pt2.y | 328 << pt2.x - px * FX_BEZIER << " " << pt2.y << " " << pt2.x << " " << pt2.y |
328 << " c\n"; | 329 << " c\n"; |
329 | 330 |
330 px = pt3.x - pt2.x; | 331 px = pt3.x - pt2.x; |
331 py = pt2.y - pt3.y; | 332 py = pt2.y - pt3.y; |
332 | 333 |
333 csAP << pt2.x + px * FX_BEZIER << " " << pt2.y << " " << pt3.x << " " | 334 csAP << pt2.x + px * FX_BEZIER << " " << pt2.y << " " << pt3.x << " " |
334 << pt3.y + py * FX_BEZIER << " " << pt3.x << " " << pt3.y << " c\n"; | 335 << pt3.y + py * FX_BEZIER << " " << pt3.x << " " << pt3.y << " c\n"; |
335 | 336 |
336 return csAP.GetByteString(); | 337 return csAP.GetByteString(); |
337 } | 338 } |
338 | 339 |
339 CPDF_Rect CPWL_Utils::InflateRect(const CPDF_Rect& rcRect, FX_FLOAT fSize) { | 340 CFX_FloatRect CPWL_Utils::InflateRect(const CFX_FloatRect& rcRect, |
| 341 FX_FLOAT fSize) { |
340 if (rcRect.IsEmpty()) | 342 if (rcRect.IsEmpty()) |
341 return rcRect; | 343 return rcRect; |
342 | 344 |
343 CPDF_Rect rcNew(rcRect.left - fSize, rcRect.bottom - fSize, | 345 CFX_FloatRect rcNew(rcRect.left - fSize, rcRect.bottom - fSize, |
344 rcRect.right + fSize, rcRect.top + fSize); | 346 rcRect.right + fSize, rcRect.top + fSize); |
345 rcNew.Normalize(); | 347 rcNew.Normalize(); |
346 return rcNew; | 348 return rcNew; |
347 } | 349 } |
348 | 350 |
349 CPDF_Rect CPWL_Utils::DeflateRect(const CPDF_Rect& rcRect, FX_FLOAT fSize) { | 351 CFX_FloatRect CPWL_Utils::DeflateRect(const CFX_FloatRect& rcRect, |
| 352 FX_FLOAT fSize) { |
350 if (rcRect.IsEmpty()) | 353 if (rcRect.IsEmpty()) |
351 return rcRect; | 354 return rcRect; |
352 | 355 |
353 CPDF_Rect rcNew(rcRect.left + fSize, rcRect.bottom + fSize, | 356 CFX_FloatRect rcNew(rcRect.left + fSize, rcRect.bottom + fSize, |
354 rcRect.right - fSize, rcRect.top - fSize); | 357 rcRect.right - fSize, rcRect.top - fSize); |
355 rcNew.Normalize(); | 358 rcNew.Normalize(); |
356 return rcNew; | 359 return rcNew; |
357 } | 360 } |
358 | 361 |
359 CPDF_Rect CPWL_Utils::ScaleRect(const CPDF_Rect& rcRect, FX_FLOAT fScale) { | 362 CFX_FloatRect CPWL_Utils::ScaleRect(const CFX_FloatRect& rcRect, |
| 363 FX_FLOAT fScale) { |
360 FX_FLOAT fHalfWidth = (rcRect.right - rcRect.left) / 2.0f; | 364 FX_FLOAT fHalfWidth = (rcRect.right - rcRect.left) / 2.0f; |
361 FX_FLOAT fHalfHeight = (rcRect.top - rcRect.bottom) / 2.0f; | 365 FX_FLOAT fHalfHeight = (rcRect.top - rcRect.bottom) / 2.0f; |
362 | 366 |
363 CPDF_Point ptCenter = CPDF_Point((rcRect.left + rcRect.right) / 2, | 367 CFX_FloatPoint ptCenter = CFX_FloatPoint((rcRect.left + rcRect.right) / 2, |
364 (rcRect.top + rcRect.bottom) / 2); | 368 (rcRect.top + rcRect.bottom) / 2); |
365 | 369 |
366 return CPDF_Rect( | 370 return CFX_FloatRect( |
367 ptCenter.x - fHalfWidth * fScale, ptCenter.y - fHalfHeight * fScale, | 371 ptCenter.x - fHalfWidth * fScale, ptCenter.y - fHalfHeight * fScale, |
368 ptCenter.x + fHalfWidth * fScale, ptCenter.y + fHalfHeight * fScale); | 372 ptCenter.x + fHalfWidth * fScale, ptCenter.y + fHalfHeight * fScale); |
369 } | 373 } |
370 | 374 |
371 CFX_ByteString CPWL_Utils::GetRectFillAppStream(const CPDF_Rect& rect, | 375 CFX_ByteString CPWL_Utils::GetRectFillAppStream(const CFX_FloatRect& rect, |
372 const CPWL_Color& color) { | 376 const CPWL_Color& color) { |
373 CFX_ByteTextBuf sAppStream; | 377 CFX_ByteTextBuf sAppStream; |
374 | 378 |
375 CFX_ByteString sColor = GetColorAppStream(color, TRUE); | 379 CFX_ByteString sColor = GetColorAppStream(color, TRUE); |
376 if (sColor.GetLength() > 0) { | 380 if (sColor.GetLength() > 0) { |
377 sAppStream << "q\n" << sColor; | 381 sAppStream << "q\n" << sColor; |
378 sAppStream << rect.left << " " << rect.bottom << " " | 382 sAppStream << rect.left << " " << rect.bottom << " " |
379 << rect.right - rect.left << " " << rect.top - rect.bottom | 383 << rect.right - rect.left << " " << rect.top - rect.bottom |
380 << " re f\nQ\n"; | 384 << " re f\nQ\n"; |
381 } | 385 } |
382 | 386 |
383 return sAppStream.GetByteString(); | 387 return sAppStream.GetByteString(); |
384 } | 388 } |
385 | 389 |
386 CFX_ByteString CPWL_Utils::GetCircleFillAppStream(const CPDF_Rect& rect, | 390 CFX_ByteString CPWL_Utils::GetCircleFillAppStream(const CFX_FloatRect& rect, |
387 const CPWL_Color& color) { | 391 const CPWL_Color& color) { |
388 CFX_ByteTextBuf sAppStream; | 392 CFX_ByteTextBuf sAppStream; |
389 | 393 |
390 CFX_ByteString sColor = GetColorAppStream(color, TRUE); | 394 CFX_ByteString sColor = GetColorAppStream(color, TRUE); |
391 if (sColor.GetLength() > 0) { | 395 if (sColor.GetLength() > 0) { |
392 sAppStream << "q\n" << sColor << CPWL_Utils::GetAP_Circle(rect) << "f\nQ\n"; | 396 sAppStream << "q\n" << sColor << CPWL_Utils::GetAP_Circle(rect) << "f\nQ\n"; |
393 } | 397 } |
394 | 398 |
395 return sAppStream.GetByteString(); | 399 return sAppStream.GetByteString(); |
396 } | 400 } |
397 | 401 |
398 CPDF_Rect CPWL_Utils::GetCenterSquare(const CPDF_Rect& rect) { | 402 CFX_FloatRect CPWL_Utils::GetCenterSquare(const CFX_FloatRect& rect) { |
399 FX_FLOAT fWidth = rect.right - rect.left; | 403 FX_FLOAT fWidth = rect.right - rect.left; |
400 FX_FLOAT fHeight = rect.top - rect.bottom; | 404 FX_FLOAT fHeight = rect.top - rect.bottom; |
401 | 405 |
402 FX_FLOAT fCenterX = (rect.left + rect.right) / 2.0f; | 406 FX_FLOAT fCenterX = (rect.left + rect.right) / 2.0f; |
403 FX_FLOAT fCenterY = (rect.top + rect.bottom) / 2.0f; | 407 FX_FLOAT fCenterY = (rect.top + rect.bottom) / 2.0f; |
404 | 408 |
405 FX_FLOAT fRadius = (fWidth > fHeight) ? fHeight / 2 : fWidth / 2; | 409 FX_FLOAT fRadius = (fWidth > fHeight) ? fHeight / 2 : fWidth / 2; |
406 | 410 |
407 return CPDF_Rect(fCenterX - fRadius, fCenterY - fRadius, fCenterX + fRadius, | 411 return CFX_FloatRect(fCenterX - fRadius, fCenterY - fRadius, |
408 fCenterY + fRadius); | 412 fCenterX + fRadius, fCenterY + fRadius); |
409 } | 413 } |
410 | 414 |
411 CFX_ByteString CPWL_Utils::GetEditAppStream(IFX_Edit* pEdit, | 415 CFX_ByteString CPWL_Utils::GetEditAppStream(IFX_Edit* pEdit, |
412 const CPDF_Point& ptOffset, | 416 const CFX_FloatPoint& ptOffset, |
413 const CPVT_WordRange* pRange, | 417 const CPVT_WordRange* pRange, |
414 FX_BOOL bContinuous, | 418 FX_BOOL bContinuous, |
415 FX_WORD SubWord) { | 419 FX_WORD SubWord) { |
416 return IFX_Edit::GetEditAppearanceStream(pEdit, ptOffset, pRange, bContinuous, | 420 return IFX_Edit::GetEditAppearanceStream(pEdit, ptOffset, pRange, bContinuous, |
417 SubWord); | 421 SubWord); |
418 } | 422 } |
419 | 423 |
420 CFX_ByteString CPWL_Utils::GetEditSelAppStream(IFX_Edit* pEdit, | 424 CFX_ByteString CPWL_Utils::GetEditSelAppStream(IFX_Edit* pEdit, |
421 const CPDF_Point& ptOffset, | 425 const CFX_FloatPoint& ptOffset, |
422 const CPVT_WordRange* pRange) { | 426 const CPVT_WordRange* pRange) { |
423 return IFX_Edit::GetSelectAppearanceStream(pEdit, ptOffset, pRange); | 427 return IFX_Edit::GetSelectAppearanceStream(pEdit, ptOffset, pRange); |
424 } | 428 } |
425 | 429 |
426 static CFX_ByteString GetSquigglyAppearanceStream(FX_FLOAT fStartX, | 430 static CFX_ByteString GetSquigglyAppearanceStream(FX_FLOAT fStartX, |
427 FX_FLOAT fEndX, | 431 FX_FLOAT fEndX, |
428 FX_FLOAT fY, | 432 FX_FLOAT fY, |
429 FX_FLOAT fStep) { | 433 FX_FLOAT fStep) { |
430 CFX_ByteTextBuf sRet; | 434 CFX_ByteTextBuf sRet; |
431 | 435 |
432 sRet << "0 w\n" << fStartX << " " << fY << " m\n"; | 436 sRet << "0 w\n" << fStartX << " " << fY << " m\n"; |
433 | 437 |
434 FX_FLOAT fx; | 438 FX_FLOAT fx; |
435 int32_t i; | 439 int32_t i; |
436 | 440 |
437 for (i = 1, fx = fStartX + fStep; fx < fEndX; fx += fStep, i++) { | 441 for (i = 1, fx = fStartX + fStep; fx < fEndX; fx += fStep, i++) { |
438 sRet << fx << " " << fY + (i & 1) * fStep << " l\n"; | 442 sRet << fx << " " << fY + (i & 1) * fStep << " l\n"; |
439 } | 443 } |
440 | 444 |
441 sRet << "S\n"; | 445 sRet << "S\n"; |
442 | 446 |
443 return sRet.GetByteString(); | 447 return sRet.GetByteString(); |
444 } | 448 } |
445 | 449 |
446 static CFX_ByteString GetWordSpellCheckAppearanceStream( | 450 static CFX_ByteString GetWordSpellCheckAppearanceStream( |
447 IFX_Edit_Iterator* pIterator, | 451 IFX_Edit_Iterator* pIterator, |
448 const CPDF_Point& ptOffset, | 452 const CFX_FloatPoint& ptOffset, |
449 const CPVT_WordRange& wrWord) { | 453 const CPVT_WordRange& wrWord) { |
450 CFX_ByteTextBuf sRet; | 454 CFX_ByteTextBuf sRet; |
451 | 455 |
452 FX_FLOAT fStartX = 0.0f; | 456 FX_FLOAT fStartX = 0.0f; |
453 FX_FLOAT fEndX = 0.0f; | 457 FX_FLOAT fEndX = 0.0f; |
454 FX_FLOAT fY = 0.0f; | 458 FX_FLOAT fY = 0.0f; |
455 FX_FLOAT fStep = 0.0f; | 459 FX_FLOAT fStep = 0.0f; |
456 | 460 |
457 FX_BOOL bBreak = FALSE; | 461 FX_BOOL bBreak = FALSE; |
458 | 462 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 break; | 501 break; |
498 } while (pIterator->NextLine()); | 502 } while (pIterator->NextLine()); |
499 } | 503 } |
500 | 504 |
501 return sRet.GetByteString(); | 505 return sRet.GetByteString(); |
502 } | 506 } |
503 | 507 |
504 CFX_ByteString CPWL_Utils::GetSpellCheckAppStream( | 508 CFX_ByteString CPWL_Utils::GetSpellCheckAppStream( |
505 IFX_Edit* pEdit, | 509 IFX_Edit* pEdit, |
506 IPWL_SpellCheck* pSpellCheck, | 510 IPWL_SpellCheck* pSpellCheck, |
507 const CPDF_Point& ptOffset, | 511 const CFX_FloatPoint& ptOffset, |
508 const CPVT_WordRange* pRange) { | 512 const CPVT_WordRange* pRange) { |
509 CFX_ByteTextBuf sRet; | 513 CFX_ByteTextBuf sRet; |
510 | 514 |
511 if (pRange && pRange->IsExist()) { | 515 if (pRange && pRange->IsExist()) { |
512 if (IFX_Edit_Iterator* pIterator = pEdit->GetIterator()) { | 516 if (IFX_Edit_Iterator* pIterator = pEdit->GetIterator()) { |
513 pIterator->SetAt(pRange->BeginPos); | 517 pIterator->SetAt(pRange->BeginPos); |
514 | 518 |
515 FX_BOOL bLatinWord = FALSE; | 519 FX_BOOL bLatinWord = FALSE; |
516 CPVT_WordPlace wpWordStart; | 520 CPVT_WordPlace wpWordStart; |
517 CFX_ByteString sWord; | 521 CFX_ByteString sWord; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 | 566 |
563 bLatinWord = FALSE; | 567 bLatinWord = FALSE; |
564 sWord.Empty(); | 568 sWord.Empty(); |
565 } | 569 } |
566 } | 570 } |
567 } | 571 } |
568 | 572 |
569 return sRet.GetByteString(); | 573 return sRet.GetByteString(); |
570 } | 574 } |
571 | 575 |
572 CFX_ByteString CPWL_Utils::GetTextAppStream(const CPDF_Rect& rcBBox, | 576 CFX_ByteString CPWL_Utils::GetTextAppStream(const CFX_FloatRect& rcBBox, |
573 IFX_Edit_FontMap* pFontMap, | 577 IFX_Edit_FontMap* pFontMap, |
574 const CFX_WideString& sText, | 578 const CFX_WideString& sText, |
575 int32_t nAlignmentH, | 579 int32_t nAlignmentH, |
576 int32_t nAlignmentV, | 580 int32_t nAlignmentV, |
577 FX_FLOAT fFontSize, | 581 FX_FLOAT fFontSize, |
578 FX_BOOL bMultiLine, | 582 FX_BOOL bMultiLine, |
579 FX_BOOL bAutoReturn, | 583 FX_BOOL bAutoReturn, |
580 const CPWL_Color& crText) { | 584 const CPWL_Color& crText) { |
581 CFX_ByteTextBuf sRet; | 585 CFX_ByteTextBuf sRet; |
582 | 586 |
583 if (IFX_Edit* pEdit = IFX_Edit::NewEdit()) { | 587 if (IFX_Edit* pEdit = IFX_Edit::NewEdit()) { |
584 pEdit->SetFontMap(pFontMap); | 588 pEdit->SetFontMap(pFontMap); |
585 pEdit->SetPlateRect(rcBBox); | 589 pEdit->SetPlateRect(rcBBox); |
586 pEdit->SetAlignmentH(nAlignmentH); | 590 pEdit->SetAlignmentH(nAlignmentH); |
587 pEdit->SetAlignmentV(nAlignmentV); | 591 pEdit->SetAlignmentV(nAlignmentV); |
588 pEdit->SetMultiLine(bMultiLine); | 592 pEdit->SetMultiLine(bMultiLine); |
589 pEdit->SetAutoReturn(bAutoReturn); | 593 pEdit->SetAutoReturn(bAutoReturn); |
590 if (IsFloatZero(fFontSize)) | 594 if (IsFloatZero(fFontSize)) |
591 pEdit->SetAutoFontSize(TRUE); | 595 pEdit->SetAutoFontSize(TRUE); |
592 else | 596 else |
593 pEdit->SetFontSize(fFontSize); | 597 pEdit->SetFontSize(fFontSize); |
594 | 598 |
595 pEdit->Initialize(); | 599 pEdit->Initialize(); |
596 pEdit->SetText(sText.c_str()); | 600 pEdit->SetText(sText.c_str()); |
597 | 601 |
598 CFX_ByteString sEdit = | 602 CFX_ByteString sEdit = |
599 CPWL_Utils::GetEditAppStream(pEdit, CPDF_Point(0.0f, 0.0f)); | 603 CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, 0.0f)); |
600 if (sEdit.GetLength() > 0) { | 604 if (sEdit.GetLength() > 0) { |
601 sRet << "BT\n" << CPWL_Utils::GetColorAppStream(crText) << sEdit | 605 sRet << "BT\n" << CPWL_Utils::GetColorAppStream(crText) << sEdit |
602 << "ET\n"; | 606 << "ET\n"; |
603 } | 607 } |
604 IFX_Edit::DelEdit(pEdit); | 608 IFX_Edit::DelEdit(pEdit); |
605 } | 609 } |
606 | 610 |
607 return sRet.GetByteString(); | 611 return sRet.GetByteString(); |
608 } | 612 } |
609 | 613 |
610 CFX_ByteString CPWL_Utils::GetPushButtonAppStream(const CPDF_Rect& rcBBox, | 614 CFX_ByteString CPWL_Utils::GetPushButtonAppStream(const CFX_FloatRect& rcBBox, |
611 IFX_Edit_FontMap* pFontMap, | 615 IFX_Edit_FontMap* pFontMap, |
612 CPDF_Stream* pIconStream, | 616 CPDF_Stream* pIconStream, |
613 CPDF_IconFit& IconFit, | 617 CPDF_IconFit& IconFit, |
614 const CFX_WideString& sLabel, | 618 const CFX_WideString& sLabel, |
615 const CPWL_Color& crText, | 619 const CPWL_Color& crText, |
616 FX_FLOAT fFontSize, | 620 FX_FLOAT fFontSize, |
617 int32_t nLayOut) { | 621 int32_t nLayOut) { |
618 const FX_FLOAT fAutoFontScale = 1.0f / 3.0f; | 622 const FX_FLOAT fAutoFontScale = 1.0f / 3.0f; |
619 | 623 |
620 if (IFX_Edit* pEdit = IFX_Edit::NewEdit()) { | 624 if (IFX_Edit* pEdit = IFX_Edit::NewEdit()) { |
621 pEdit->SetFontMap(pFontMap); | 625 pEdit->SetFontMap(pFontMap); |
622 pEdit->SetAlignmentH(1); | 626 pEdit->SetAlignmentH(1); |
623 pEdit->SetAlignmentV(1); | 627 pEdit->SetAlignmentV(1); |
624 pEdit->SetMultiLine(FALSE); | 628 pEdit->SetMultiLine(FALSE); |
625 pEdit->SetAutoReturn(FALSE); | 629 pEdit->SetAutoReturn(FALSE); |
626 if (IsFloatZero(fFontSize)) | 630 if (IsFloatZero(fFontSize)) |
627 pEdit->SetAutoFontSize(TRUE); | 631 pEdit->SetAutoFontSize(TRUE); |
628 else | 632 else |
629 pEdit->SetFontSize(fFontSize); | 633 pEdit->SetFontSize(fFontSize); |
630 | 634 |
631 pEdit->Initialize(); | 635 pEdit->Initialize(); |
632 pEdit->SetText(sLabel.c_str()); | 636 pEdit->SetText(sLabel.c_str()); |
633 | 637 |
634 CPDF_Rect rcLabelContent = pEdit->GetContentRect(); | 638 CFX_FloatRect rcLabelContent = pEdit->GetContentRect(); |
635 CPWL_Icon Icon; | 639 CPWL_Icon Icon; |
636 PWL_CREATEPARAM cp; | 640 PWL_CREATEPARAM cp; |
637 cp.dwFlags = PWS_VISIBLE; | 641 cp.dwFlags = PWS_VISIBLE; |
638 Icon.Create(cp); | 642 Icon.Create(cp); |
639 Icon.SetIconFit(&IconFit); | 643 Icon.SetIconFit(&IconFit); |
640 Icon.SetPDFStream(pIconStream); | 644 Icon.SetPDFStream(pIconStream); |
641 | 645 |
642 CPDF_Rect rcLabel = CPDF_Rect(0, 0, 0, 0); | 646 CFX_FloatRect rcLabel = CFX_FloatRect(0, 0, 0, 0); |
643 CPDF_Rect rcIcon = CPDF_Rect(0, 0, 0, 0); | 647 CFX_FloatRect rcIcon = CFX_FloatRect(0, 0, 0, 0); |
644 FX_FLOAT fWidth = 0.0f; | 648 FX_FLOAT fWidth = 0.0f; |
645 FX_FLOAT fHeight = 0.0f; | 649 FX_FLOAT fHeight = 0.0f; |
646 | 650 |
647 switch (nLayOut) { | 651 switch (nLayOut) { |
648 case PPBL_LABEL: | 652 case PPBL_LABEL: |
649 rcLabel = rcBBox; | 653 rcLabel = rcBBox; |
650 rcIcon = CPDF_Rect(0, 0, 0, 0); | 654 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
651 break; | 655 break; |
652 case PPBL_ICON: | 656 case PPBL_ICON: |
653 rcIcon = rcBBox; | 657 rcIcon = rcBBox; |
654 rcLabel = CPDF_Rect(0, 0, 0, 0); | 658 rcLabel = CFX_FloatRect(0, 0, 0, 0); |
655 break; | 659 break; |
656 case PPBL_ICONTOPLABELBOTTOM: | 660 case PPBL_ICONTOPLABELBOTTOM: |
657 | 661 |
658 if (pIconStream) { | 662 if (pIconStream) { |
659 if (IsFloatZero(fFontSize)) { | 663 if (IsFloatZero(fFontSize)) { |
660 fHeight = rcBBox.top - rcBBox.bottom; | 664 fHeight = rcBBox.top - rcBBox.bottom; |
661 rcLabel = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right, | 665 rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right, |
662 rcBBox.bottom + fHeight * fAutoFontScale); | 666 rcBBox.bottom + fHeight * fAutoFontScale); |
663 rcIcon = | 667 rcIcon = CFX_FloatRect(rcBBox.left, rcLabel.top, rcBBox.right, |
664 CPDF_Rect(rcBBox.left, rcLabel.top, rcBBox.right, rcBBox.top); | 668 rcBBox.top); |
665 } else { | 669 } else { |
666 fHeight = rcLabelContent.Height(); | 670 fHeight = rcLabelContent.Height(); |
667 | 671 |
668 if (rcBBox.bottom + fHeight > rcBBox.top) { | 672 if (rcBBox.bottom + fHeight > rcBBox.top) { |
669 rcIcon = CPDF_Rect(0, 0, 0, 0); | 673 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
670 rcLabel = rcBBox; | 674 rcLabel = rcBBox; |
671 } else { | 675 } else { |
672 rcLabel = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right, | 676 rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right, |
673 rcBBox.bottom + fHeight); | 677 rcBBox.bottom + fHeight); |
674 rcIcon = | 678 rcIcon = CFX_FloatRect(rcBBox.left, rcLabel.top, rcBBox.right, |
675 CPDF_Rect(rcBBox.left, rcLabel.top, rcBBox.right, rcBBox.top); | 679 rcBBox.top); |
676 } | 680 } |
677 } | 681 } |
678 } else { | 682 } else { |
679 rcLabel = rcBBox; | 683 rcLabel = rcBBox; |
680 rcIcon = CPDF_Rect(0, 0, 0, 0); | 684 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
681 } | 685 } |
682 | 686 |
683 break; | 687 break; |
684 case PPBL_LABELTOPICONBOTTOM: | 688 case PPBL_LABELTOPICONBOTTOM: |
685 | 689 |
686 if (pIconStream) { | 690 if (pIconStream) { |
687 if (IsFloatZero(fFontSize)) { | 691 if (IsFloatZero(fFontSize)) { |
688 fHeight = rcBBox.top - rcBBox.bottom; | 692 fHeight = rcBBox.top - rcBBox.bottom; |
689 rcLabel = | 693 rcLabel = CFX_FloatRect(rcBBox.left, |
690 CPDF_Rect(rcBBox.left, rcBBox.top - fHeight * fAutoFontScale, | 694 rcBBox.top - fHeight * fAutoFontScale, |
691 rcBBox.right, rcBBox.top); | 695 rcBBox.right, rcBBox.top); |
692 rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right, | 696 rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right, |
693 rcLabel.bottom); | 697 rcLabel.bottom); |
694 } else { | 698 } else { |
695 fHeight = rcLabelContent.Height(); | 699 fHeight = rcLabelContent.Height(); |
696 | 700 |
697 if (rcBBox.bottom + fHeight > rcBBox.top) { | 701 if (rcBBox.bottom + fHeight > rcBBox.top) { |
698 rcIcon = CPDF_Rect(0, 0, 0, 0); | 702 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
699 rcLabel = rcBBox; | 703 rcLabel = rcBBox; |
700 } else { | 704 } else { |
701 rcLabel = CPDF_Rect(rcBBox.left, rcBBox.top - fHeight, | 705 rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.top - fHeight, |
702 rcBBox.right, rcBBox.top); | 706 rcBBox.right, rcBBox.top); |
703 rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right, | 707 rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right, |
704 rcLabel.bottom); | 708 rcLabel.bottom); |
705 } | 709 } |
706 } | 710 } |
707 } else { | 711 } else { |
708 rcLabel = rcBBox; | 712 rcLabel = rcBBox; |
709 rcIcon = CPDF_Rect(0, 0, 0, 0); | 713 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
710 } | 714 } |
711 | 715 |
712 break; | 716 break; |
713 case PPBL_ICONLEFTLABELRIGHT: | 717 case PPBL_ICONLEFTLABELRIGHT: |
714 | 718 |
715 if (pIconStream) { | 719 if (pIconStream) { |
716 if (IsFloatZero(fFontSize)) { | 720 if (IsFloatZero(fFontSize)) { |
717 fWidth = rcBBox.right - rcBBox.left; | 721 fWidth = rcBBox.right - rcBBox.left; |
718 rcLabel = CPDF_Rect(rcBBox.right - fWidth * fAutoFontScale, | 722 rcLabel = CFX_FloatRect(rcBBox.right - fWidth * fAutoFontScale, |
719 rcBBox.bottom, rcBBox.right, rcBBox.top); | 723 rcBBox.bottom, rcBBox.right, rcBBox.top); |
720 rcIcon = | 724 rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcLabel.left, |
721 CPDF_Rect(rcBBox.left, rcBBox.bottom, rcLabel.left, rcBBox.top); | 725 rcBBox.top); |
722 | 726 |
723 if (rcLabelContent.Width() < fWidth * fAutoFontScale) { | 727 if (rcLabelContent.Width() < fWidth * fAutoFontScale) { |
724 } else { | 728 } else { |
725 if (rcLabelContent.Width() < fWidth) { | 729 if (rcLabelContent.Width() < fWidth) { |
726 rcLabel = CPDF_Rect(rcBBox.right - rcLabelContent.Width(), | 730 rcLabel = |
727 rcBBox.bottom, rcBBox.right, rcBBox.top); | 731 CFX_FloatRect(rcBBox.right - rcLabelContent.Width(), |
728 rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcLabel.left, | 732 rcBBox.bottom, rcBBox.right, rcBBox.top); |
729 rcBBox.top); | 733 rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcLabel.left, |
| 734 rcBBox.top); |
730 } else { | 735 } else { |
731 rcLabel = rcBBox; | 736 rcLabel = rcBBox; |
732 rcIcon = CPDF_Rect(0, 0, 0, 0); | 737 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
733 } | 738 } |
734 } | 739 } |
735 } else { | 740 } else { |
736 fWidth = rcLabelContent.Width(); | 741 fWidth = rcLabelContent.Width(); |
737 | 742 |
738 if (rcBBox.left + fWidth > rcBBox.right) { | 743 if (rcBBox.left + fWidth > rcBBox.right) { |
739 rcLabel = rcBBox; | 744 rcLabel = rcBBox; |
740 rcIcon = CPDF_Rect(0, 0, 0, 0); | 745 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
741 } else { | 746 } else { |
742 rcLabel = CPDF_Rect(rcBBox.right - fWidth, rcBBox.bottom, | 747 rcLabel = CFX_FloatRect(rcBBox.right - fWidth, rcBBox.bottom, |
743 rcBBox.right, rcBBox.top); | 748 rcBBox.right, rcBBox.top); |
744 rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcLabel.left, | 749 rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcLabel.left, |
745 rcBBox.top); | 750 rcBBox.top); |
746 } | 751 } |
747 } | 752 } |
748 } else { | 753 } else { |
749 rcLabel = rcBBox; | 754 rcLabel = rcBBox; |
750 rcIcon = CPDF_Rect(0, 0, 0, 0); | 755 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
751 } | 756 } |
752 | 757 |
753 break; | 758 break; |
754 case PPBL_LABELLEFTICONRIGHT: | 759 case PPBL_LABELLEFTICONRIGHT: |
755 | 760 |
756 if (pIconStream) { | 761 if (pIconStream) { |
757 if (IsFloatZero(fFontSize)) { | 762 if (IsFloatZero(fFontSize)) { |
758 fWidth = rcBBox.right - rcBBox.left; | 763 fWidth = rcBBox.right - rcBBox.left; |
759 rcLabel = | 764 rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom, |
760 CPDF_Rect(rcBBox.left, rcBBox.bottom, | 765 rcBBox.left + fWidth * fAutoFontScale, |
761 rcBBox.left + fWidth * fAutoFontScale, rcBBox.top); | 766 rcBBox.top); |
762 rcIcon = CPDF_Rect(rcLabel.right, rcBBox.bottom, rcBBox.right, | 767 rcIcon = CFX_FloatRect(rcLabel.right, rcBBox.bottom, rcBBox.right, |
763 rcBBox.top); | 768 rcBBox.top); |
764 | 769 |
765 if (rcLabelContent.Width() < fWidth * fAutoFontScale) { | 770 if (rcLabelContent.Width() < fWidth * fAutoFontScale) { |
766 } else { | 771 } else { |
767 if (rcLabelContent.Width() < fWidth) { | 772 if (rcLabelContent.Width() < fWidth) { |
768 rcLabel = | 773 rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom, |
769 CPDF_Rect(rcBBox.left, rcBBox.bottom, | 774 rcBBox.left + rcLabelContent.Width(), |
770 rcBBox.left + rcLabelContent.Width(), rcBBox.top); | 775 rcBBox.top); |
771 rcIcon = CPDF_Rect(rcLabel.right, rcBBox.bottom, rcBBox.right, | 776 rcIcon = CFX_FloatRect(rcLabel.right, rcBBox.bottom, |
772 rcBBox.top); | 777 rcBBox.right, rcBBox.top); |
773 } else { | 778 } else { |
774 rcLabel = rcBBox; | 779 rcLabel = rcBBox; |
775 rcIcon = CPDF_Rect(0, 0, 0, 0); | 780 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
776 } | 781 } |
777 } | 782 } |
778 } else { | 783 } else { |
779 fWidth = rcLabelContent.Width(); | 784 fWidth = rcLabelContent.Width(); |
780 | 785 |
781 if (rcBBox.left + fWidth > rcBBox.right) { | 786 if (rcBBox.left + fWidth > rcBBox.right) { |
782 rcLabel = rcBBox; | 787 rcLabel = rcBBox; |
783 rcIcon = CPDF_Rect(0, 0, 0, 0); | 788 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
784 } else { | 789 } else { |
785 rcLabel = CPDF_Rect(rcBBox.left, rcBBox.bottom, | 790 rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom, |
786 rcBBox.left + fWidth, rcBBox.top); | 791 rcBBox.left + fWidth, rcBBox.top); |
787 rcIcon = CPDF_Rect(rcLabel.right, rcBBox.bottom, rcBBox.right, | 792 rcIcon = CFX_FloatRect(rcLabel.right, rcBBox.bottom, rcBBox.right, |
788 rcBBox.top); | 793 rcBBox.top); |
789 } | 794 } |
790 } | 795 } |
791 } else { | 796 } else { |
792 rcLabel = rcBBox; | 797 rcLabel = rcBBox; |
793 rcIcon = CPDF_Rect(0, 0, 0, 0); | 798 rcIcon = CFX_FloatRect(0, 0, 0, 0); |
794 } | 799 } |
795 | 800 |
796 break; | 801 break; |
797 case PPBL_LABELOVERICON: | 802 case PPBL_LABELOVERICON: |
798 rcLabel = rcBBox; | 803 rcLabel = rcBBox; |
799 rcIcon = rcBBox; | 804 rcIcon = rcBBox; |
800 break; | 805 break; |
801 } | 806 } |
802 | 807 |
803 CFX_ByteTextBuf sAppStream, sTemp; | 808 CFX_ByteTextBuf sAppStream, sTemp; |
804 | 809 |
805 if (!rcIcon.IsEmpty()) { | 810 if (!rcIcon.IsEmpty()) { |
806 Icon.Move(rcIcon, FALSE, FALSE); | 811 Icon.Move(rcIcon, FALSE, FALSE); |
807 sTemp << Icon.GetImageAppStream(); | 812 sTemp << Icon.GetImageAppStream(); |
808 } | 813 } |
809 | 814 |
810 Icon.Destroy(); | 815 Icon.Destroy(); |
811 | 816 |
812 if (!rcLabel.IsEmpty()) { | 817 if (!rcLabel.IsEmpty()) { |
813 pEdit->SetPlateRect(rcLabel); | 818 pEdit->SetPlateRect(rcLabel); |
814 CFX_ByteString sEdit = | 819 CFX_ByteString sEdit = |
815 CPWL_Utils::GetEditAppStream(pEdit, CPDF_Point(0.0f, 0.0f)); | 820 CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, 0.0f)); |
816 if (sEdit.GetLength() > 0) { | 821 if (sEdit.GetLength() > 0) { |
817 sTemp << "BT\n" << CPWL_Utils::GetColorAppStream(crText) << sEdit | 822 sTemp << "BT\n" << CPWL_Utils::GetColorAppStream(crText) << sEdit |
818 << "ET\n"; | 823 << "ET\n"; |
819 } | 824 } |
820 } | 825 } |
821 | 826 |
822 IFX_Edit::DelEdit(pEdit); | 827 IFX_Edit::DelEdit(pEdit); |
823 | 828 |
824 if (sTemp.GetSize() > 0) { | 829 if (sTemp.GetSize() > 0) { |
825 sAppStream << "q\n" << rcBBox.left << " " << rcBBox.bottom << " " | 830 sAppStream << "q\n" << rcBBox.left << " " << rcBBox.bottom << " " |
(...skipping 25 matching lines...) Expand all Loading... |
851 case COLORTYPE_CMYK: | 856 case COLORTYPE_CMYK: |
852 sColorStream << color.fColor1 << " " << color.fColor2 << " " | 857 sColorStream << color.fColor1 << " " << color.fColor2 << " " |
853 << color.fColor3 << " " << color.fColor4 << " " | 858 << color.fColor3 << " " << color.fColor4 << " " |
854 << (bFillOrStroke ? "k" : "K") << "\n"; | 859 << (bFillOrStroke ? "k" : "K") << "\n"; |
855 break; | 860 break; |
856 } | 861 } |
857 | 862 |
858 return sColorStream.GetByteString(); | 863 return sColorStream.GetByteString(); |
859 } | 864 } |
860 | 865 |
861 CFX_ByteString CPWL_Utils::GetBorderAppStream(const CPDF_Rect& rect, | 866 CFX_ByteString CPWL_Utils::GetBorderAppStream(const CFX_FloatRect& rect, |
862 FX_FLOAT fWidth, | 867 FX_FLOAT fWidth, |
863 const CPWL_Color& color, | 868 const CPWL_Color& color, |
864 const CPWL_Color& crLeftTop, | 869 const CPWL_Color& crLeftTop, |
865 const CPWL_Color& crRightBottom, | 870 const CPWL_Color& crRightBottom, |
866 int32_t nStyle, | 871 int32_t nStyle, |
867 const CPWL_Dash& dash) { | 872 const CPWL_Dash& dash) { |
868 CFX_ByteTextBuf sAppStream; | 873 CFX_ByteTextBuf sAppStream; |
869 CFX_ByteString sColor; | 874 CFX_ByteString sColor; |
870 | 875 |
871 FX_FLOAT fLeft = rect.left; | 876 FX_FLOAT fLeft = rect.left; |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 break; | 973 break; |
969 } | 974 } |
970 | 975 |
971 sAppStream << "Q\n"; | 976 sAppStream << "Q\n"; |
972 } | 977 } |
973 | 978 |
974 return sAppStream.GetByteString(); | 979 return sAppStream.GetByteString(); |
975 } | 980 } |
976 | 981 |
977 CFX_ByteString CPWL_Utils::GetCircleBorderAppStream( | 982 CFX_ByteString CPWL_Utils::GetCircleBorderAppStream( |
978 const CPDF_Rect& rect, | 983 const CFX_FloatRect& rect, |
979 FX_FLOAT fWidth, | 984 FX_FLOAT fWidth, |
980 const CPWL_Color& color, | 985 const CPWL_Color& color, |
981 const CPWL_Color& crLeftTop, | 986 const CPWL_Color& crLeftTop, |
982 const CPWL_Color& crRightBottom, | 987 const CPWL_Color& crRightBottom, |
983 int32_t nStyle, | 988 int32_t nStyle, |
984 const CPWL_Dash& dash) { | 989 const CPWL_Dash& dash) { |
985 CFX_ByteTextBuf sAppStream; | 990 CFX_ByteTextBuf sAppStream; |
986 CFX_ByteString sColor; | 991 CFX_ByteString sColor; |
987 | 992 |
988 if (fWidth > 0.0f) { | 993 if (fWidth > 0.0f) { |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 sRet.fColor1 /= fColorDevide; | 1122 sRet.fColor1 /= fColorDevide; |
1118 sRet.fColor2 /= fColorDevide; | 1123 sRet.fColor2 /= fColorDevide; |
1119 sRet.fColor3 /= fColorDevide; | 1124 sRet.fColor3 /= fColorDevide; |
1120 sRet.fColor4 /= fColorDevide; | 1125 sRet.fColor4 /= fColorDevide; |
1121 break; | 1126 break; |
1122 } | 1127 } |
1123 | 1128 |
1124 return sRet; | 1129 return sRet; |
1125 } | 1130 } |
1126 | 1131 |
1127 CFX_ByteString CPWL_Utils::GetAppStream_Check(const CPDF_Rect& rcBBox, | 1132 CFX_ByteString CPWL_Utils::GetAppStream_Check(const CFX_FloatRect& rcBBox, |
1128 const CPWL_Color& crText) { | 1133 const CPWL_Color& crText) { |
1129 CFX_ByteTextBuf sAP; | 1134 CFX_ByteTextBuf sAP; |
1130 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) | 1135 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) |
1131 << CPWL_Utils::GetAP_Check(rcBBox) << "f\nQ\n"; | 1136 << CPWL_Utils::GetAP_Check(rcBBox) << "f\nQ\n"; |
1132 return sAP.GetByteString(); | 1137 return sAP.GetByteString(); |
1133 } | 1138 } |
1134 | 1139 |
1135 CFX_ByteString CPWL_Utils::GetAppStream_Circle(const CPDF_Rect& rcBBox, | 1140 CFX_ByteString CPWL_Utils::GetAppStream_Circle(const CFX_FloatRect& rcBBox, |
1136 const CPWL_Color& crText) { | 1141 const CPWL_Color& crText) { |
1137 CFX_ByteTextBuf sAP; | 1142 CFX_ByteTextBuf sAP; |
1138 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) | 1143 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) |
1139 << CPWL_Utils::GetAP_Circle(rcBBox) << "f\nQ\n"; | 1144 << CPWL_Utils::GetAP_Circle(rcBBox) << "f\nQ\n"; |
1140 return sAP.GetByteString(); | 1145 return sAP.GetByteString(); |
1141 } | 1146 } |
1142 | 1147 |
1143 CFX_ByteString CPWL_Utils::GetAppStream_Cross(const CPDF_Rect& rcBBox, | 1148 CFX_ByteString CPWL_Utils::GetAppStream_Cross(const CFX_FloatRect& rcBBox, |
1144 const CPWL_Color& crText) { | 1149 const CPWL_Color& crText) { |
1145 CFX_ByteTextBuf sAP; | 1150 CFX_ByteTextBuf sAP; |
1146 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, FALSE) | 1151 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, FALSE) |
1147 << CPWL_Utils::GetAP_Cross(rcBBox) << "S\nQ\n"; | 1152 << CPWL_Utils::GetAP_Cross(rcBBox) << "S\nQ\n"; |
1148 return sAP.GetByteString(); | 1153 return sAP.GetByteString(); |
1149 } | 1154 } |
1150 | 1155 |
1151 CFX_ByteString CPWL_Utils::GetAppStream_Diamond(const CPDF_Rect& rcBBox, | 1156 CFX_ByteString CPWL_Utils::GetAppStream_Diamond(const CFX_FloatRect& rcBBox, |
1152 const CPWL_Color& crText) { | 1157 const CPWL_Color& crText) { |
1153 CFX_ByteTextBuf sAP; | 1158 CFX_ByteTextBuf sAP; |
1154 sAP << "q\n1 w\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) | 1159 sAP << "q\n1 w\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) |
1155 << CPWL_Utils::GetAP_Diamond(rcBBox) << "f\nQ\n"; | 1160 << CPWL_Utils::GetAP_Diamond(rcBBox) << "f\nQ\n"; |
1156 return sAP.GetByteString(); | 1161 return sAP.GetByteString(); |
1157 } | 1162 } |
1158 | 1163 |
1159 CFX_ByteString CPWL_Utils::GetAppStream_Square(const CPDF_Rect& rcBBox, | 1164 CFX_ByteString CPWL_Utils::GetAppStream_Square(const CFX_FloatRect& rcBBox, |
1160 const CPWL_Color& crText) { | 1165 const CPWL_Color& crText) { |
1161 CFX_ByteTextBuf sAP; | 1166 CFX_ByteTextBuf sAP; |
1162 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) | 1167 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) |
1163 << CPWL_Utils::GetAP_Square(rcBBox) << "f\nQ\n"; | 1168 << CPWL_Utils::GetAP_Square(rcBBox) << "f\nQ\n"; |
1164 return sAP.GetByteString(); | 1169 return sAP.GetByteString(); |
1165 } | 1170 } |
1166 | 1171 |
1167 CFX_ByteString CPWL_Utils::GetAppStream_Star(const CPDF_Rect& rcBBox, | 1172 CFX_ByteString CPWL_Utils::GetAppStream_Star(const CFX_FloatRect& rcBBox, |
1168 const CPWL_Color& crText) { | 1173 const CPWL_Color& crText) { |
1169 CFX_ByteTextBuf sAP; | 1174 CFX_ByteTextBuf sAP; |
1170 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) | 1175 sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE) |
1171 << CPWL_Utils::GetAP_Star(rcBBox) << "f\nQ\n"; | 1176 << CPWL_Utils::GetAP_Star(rcBBox) << "f\nQ\n"; |
1172 return sAP.GetByteString(); | 1177 return sAP.GetByteString(); |
1173 } | 1178 } |
1174 | 1179 |
1175 CFX_ByteString CPWL_Utils::GetCheckBoxAppStream(const CPDF_Rect& rcBBox, | 1180 CFX_ByteString CPWL_Utils::GetCheckBoxAppStream(const CFX_FloatRect& rcBBox, |
1176 int32_t nStyle, | 1181 int32_t nStyle, |
1177 const CPWL_Color& crText) { | 1182 const CPWL_Color& crText) { |
1178 CPDF_Rect rcCenter = GetCenterSquare(rcBBox); | 1183 CFX_FloatRect rcCenter = GetCenterSquare(rcBBox); |
1179 switch (nStyle) { | 1184 switch (nStyle) { |
1180 default: | 1185 default: |
1181 case PCS_CHECK: | 1186 case PCS_CHECK: |
1182 return GetAppStream_Check(rcCenter, crText); | 1187 return GetAppStream_Check(rcCenter, crText); |
1183 case PCS_CIRCLE: | 1188 case PCS_CIRCLE: |
1184 return GetAppStream_Circle(ScaleRect(rcCenter, 2.0f / 3.0f), crText); | 1189 return GetAppStream_Circle(ScaleRect(rcCenter, 2.0f / 3.0f), crText); |
1185 case PCS_CROSS: | 1190 case PCS_CROSS: |
1186 return GetAppStream_Cross(rcCenter, crText); | 1191 return GetAppStream_Cross(rcCenter, crText); |
1187 case PCS_DIAMOND: | 1192 case PCS_DIAMOND: |
1188 return GetAppStream_Diamond(ScaleRect(rcCenter, 2.0f / 3.0f), crText); | 1193 return GetAppStream_Diamond(ScaleRect(rcCenter, 2.0f / 3.0f), crText); |
1189 case PCS_SQUARE: | 1194 case PCS_SQUARE: |
1190 return GetAppStream_Square(ScaleRect(rcCenter, 2.0f / 3.0f), crText); | 1195 return GetAppStream_Square(ScaleRect(rcCenter, 2.0f / 3.0f), crText); |
1191 case PCS_STAR: | 1196 case PCS_STAR: |
1192 return GetAppStream_Star(ScaleRect(rcCenter, 2.0f / 3.0f), crText); | 1197 return GetAppStream_Star(ScaleRect(rcCenter, 2.0f / 3.0f), crText); |
1193 } | 1198 } |
1194 } | 1199 } |
1195 | 1200 |
1196 CFX_ByteString CPWL_Utils::GetRadioButtonAppStream(const CPDF_Rect& rcBBox, | 1201 CFX_ByteString CPWL_Utils::GetRadioButtonAppStream(const CFX_FloatRect& rcBBox, |
1197 int32_t nStyle, | 1202 int32_t nStyle, |
1198 const CPWL_Color& crText) { | 1203 const CPWL_Color& crText) { |
1199 CPDF_Rect rcCenter = GetCenterSquare(rcBBox); | 1204 CFX_FloatRect rcCenter = GetCenterSquare(rcBBox); |
1200 switch (nStyle) { | 1205 switch (nStyle) { |
1201 default: | 1206 default: |
1202 case PCS_CHECK: | 1207 case PCS_CHECK: |
1203 return GetAppStream_Check(rcCenter, crText); | 1208 return GetAppStream_Check(rcCenter, crText); |
1204 case PCS_CIRCLE: | 1209 case PCS_CIRCLE: |
1205 return GetAppStream_Circle(ScaleRect(rcCenter, 1.0f / 2.0f), crText); | 1210 return GetAppStream_Circle(ScaleRect(rcCenter, 1.0f / 2.0f), crText); |
1206 case PCS_CROSS: | 1211 case PCS_CROSS: |
1207 return GetAppStream_Cross(rcCenter, crText); | 1212 return GetAppStream_Cross(rcCenter, crText); |
1208 case PCS_DIAMOND: | 1213 case PCS_DIAMOND: |
1209 return GetAppStream_Diamond(ScaleRect(rcCenter, 2.0f / 3.0f), crText); | 1214 return GetAppStream_Diamond(ScaleRect(rcCenter, 2.0f / 3.0f), crText); |
1210 case PCS_SQUARE: | 1215 case PCS_SQUARE: |
1211 return GetAppStream_Square(ScaleRect(rcCenter, 2.0f / 3.0f), crText); | 1216 return GetAppStream_Square(ScaleRect(rcCenter, 2.0f / 3.0f), crText); |
1212 case PCS_STAR: | 1217 case PCS_STAR: |
1213 return GetAppStream_Star(ScaleRect(rcCenter, 2.0f / 3.0f), crText); | 1218 return GetAppStream_Star(ScaleRect(rcCenter, 2.0f / 3.0f), crText); |
1214 } | 1219 } |
1215 } | 1220 } |
1216 | 1221 |
1217 CFX_ByteString CPWL_Utils::GetDropButtonAppStream(const CPDF_Rect& rcBBox) { | 1222 CFX_ByteString CPWL_Utils::GetDropButtonAppStream(const CFX_FloatRect& rcBBox) { |
1218 CFX_ByteTextBuf sAppStream; | 1223 CFX_ByteTextBuf sAppStream; |
1219 | 1224 |
1220 if (!rcBBox.IsEmpty()) { | 1225 if (!rcBBox.IsEmpty()) { |
1221 sAppStream << "q\n" << CPWL_Utils::GetColorAppStream( | 1226 sAppStream << "q\n" << CPWL_Utils::GetColorAppStream( |
1222 CPWL_Color(COLORTYPE_RGB, 220.0f / 255.0f, | 1227 CPWL_Color(COLORTYPE_RGB, 220.0f / 255.0f, |
1223 220.0f / 255.0f, 220.0f / 255.0f), | 1228 220.0f / 255.0f, 220.0f / 255.0f), |
1224 TRUE); | 1229 TRUE); |
1225 sAppStream << rcBBox.left << " " << rcBBox.bottom << " " | 1230 sAppStream << rcBBox.left << " " << rcBBox.bottom << " " |
1226 << rcBBox.right - rcBBox.left << " " | 1231 << rcBBox.right - rcBBox.left << " " |
1227 << rcBBox.top - rcBBox.bottom << " re f\n"; | 1232 << rcBBox.top - rcBBox.bottom << " re f\n"; |
1228 sAppStream << "Q\n"; | 1233 sAppStream << "Q\n"; |
1229 | 1234 |
1230 sAppStream << "q\n" << CPWL_Utils::GetBorderAppStream( | 1235 sAppStream << "q\n" << CPWL_Utils::GetBorderAppStream( |
1231 rcBBox, 2, CPWL_Color(COLORTYPE_GRAY, 0), | 1236 rcBBox, 2, CPWL_Color(COLORTYPE_GRAY, 0), |
1232 CPWL_Color(COLORTYPE_GRAY, 1), | 1237 CPWL_Color(COLORTYPE_GRAY, 1), |
1233 CPWL_Color(COLORTYPE_GRAY, 0.5), PBS_BEVELED, | 1238 CPWL_Color(COLORTYPE_GRAY, 0.5), PBS_BEVELED, |
1234 CPWL_Dash(3, 0, 0)) | 1239 CPWL_Dash(3, 0, 0)) |
1235 << "Q\n"; | 1240 << "Q\n"; |
1236 | 1241 |
1237 CPDF_Point ptCenter = CPDF_Point((rcBBox.left + rcBBox.right) / 2, | 1242 CFX_FloatPoint ptCenter = CFX_FloatPoint((rcBBox.left + rcBBox.right) / 2, |
1238 (rcBBox.top + rcBBox.bottom) / 2); | 1243 (rcBBox.top + rcBBox.bottom) / 2); |
1239 if (IsFloatBigger(rcBBox.right - rcBBox.left, 6) && | 1244 if (IsFloatBigger(rcBBox.right - rcBBox.left, 6) && |
1240 IsFloatBigger(rcBBox.top - rcBBox.bottom, 6)) { | 1245 IsFloatBigger(rcBBox.top - rcBBox.bottom, 6)) { |
1241 sAppStream << "q\n" | 1246 sAppStream << "q\n" |
1242 << " 0 g\n"; | 1247 << " 0 g\n"; |
1243 sAppStream << ptCenter.x - 3 << " " << ptCenter.y + 1.5f << " m\n"; | 1248 sAppStream << ptCenter.x - 3 << " " << ptCenter.y + 1.5f << " m\n"; |
1244 sAppStream << ptCenter.x + 3 << " " << ptCenter.y + 1.5f << " l\n"; | 1249 sAppStream << ptCenter.x + 3 << " " << ptCenter.y + 1.5f << " l\n"; |
1245 sAppStream << ptCenter.x << " " << ptCenter.y - 1.5f << " l\n"; | 1250 sAppStream << ptCenter.x << " " << ptCenter.y - 1.5f << " l\n"; |
1246 sAppStream << ptCenter.x - 3 << " " << ptCenter.y + 1.5f << " l f\n"; | 1251 sAppStream << ptCenter.x - 3 << " " << ptCenter.y + 1.5f << " l f\n"; |
1247 sAppStream << "Q\n"; | 1252 sAppStream << "Q\n"; |
1248 } | 1253 } |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1358 FX_FLOAT dBlue = 0; | 1363 FX_FLOAT dBlue = 0; |
1359 | 1364 |
1360 PWLColorToARGB(color, nAlpha, dRed, dGreen, dBlue); | 1365 PWLColorToARGB(color, nAlpha, dRed, dGreen, dBlue); |
1361 | 1366 |
1362 return ArgbEncode(nAlpha, (int32_t)(dRed * 255), (int32_t)(dGreen * 255), | 1367 return ArgbEncode(nAlpha, (int32_t)(dRed * 255), (int32_t)(dGreen * 255), |
1363 (int32_t)(dBlue * 255)); | 1368 (int32_t)(dBlue * 255)); |
1364 } | 1369 } |
1365 | 1370 |
1366 void CPWL_Utils::DrawFillRect(CFX_RenderDevice* pDevice, | 1371 void CPWL_Utils::DrawFillRect(CFX_RenderDevice* pDevice, |
1367 CFX_Matrix* pUser2Device, | 1372 CFX_Matrix* pUser2Device, |
1368 const CPDF_Rect& rect, | 1373 const CFX_FloatRect& rect, |
1369 const FX_COLORREF& color) { | 1374 const FX_COLORREF& color) { |
1370 CFX_PathData path; | 1375 CFX_PathData path; |
1371 CPDF_Rect rcTemp(rect); | 1376 CFX_FloatRect rcTemp(rect); |
1372 path.AppendRect(rcTemp.left, rcTemp.bottom, rcTemp.right, rcTemp.top); | 1377 path.AppendRect(rcTemp.left, rcTemp.bottom, rcTemp.right, rcTemp.top); |
1373 pDevice->DrawPath(&path, pUser2Device, NULL, color, 0, FXFILL_WINDING); | 1378 pDevice->DrawPath(&path, pUser2Device, NULL, color, 0, FXFILL_WINDING); |
1374 } | 1379 } |
1375 | 1380 |
1376 void CPWL_Utils::DrawFillArea(CFX_RenderDevice* pDevice, | 1381 void CPWL_Utils::DrawFillArea(CFX_RenderDevice* pDevice, |
1377 CFX_Matrix* pUser2Device, | 1382 CFX_Matrix* pUser2Device, |
1378 const CPDF_Point* pPts, | 1383 const CFX_FloatPoint* pPts, |
1379 int32_t nCount, | 1384 int32_t nCount, |
1380 const FX_COLORREF& color) { | 1385 const FX_COLORREF& color) { |
1381 CFX_PathData path; | 1386 CFX_PathData path; |
1382 path.SetPointCount(nCount); | 1387 path.SetPointCount(nCount); |
1383 | 1388 |
1384 path.SetPoint(0, pPts[0].x, pPts[0].y, FXPT_MOVETO); | 1389 path.SetPoint(0, pPts[0].x, pPts[0].y, FXPT_MOVETO); |
1385 for (int32_t i = 1; i < nCount; i++) | 1390 for (int32_t i = 1; i < nCount; i++) |
1386 path.SetPoint(i, pPts[i].x, pPts[i].y, FXPT_LINETO); | 1391 path.SetPoint(i, pPts[i].x, pPts[i].y, FXPT_LINETO); |
1387 | 1392 |
1388 pDevice->DrawPath(&path, pUser2Device, NULL, color, 0, FXFILL_ALTERNATE); | 1393 pDevice->DrawPath(&path, pUser2Device, NULL, color, 0, FXFILL_ALTERNATE); |
1389 } | 1394 } |
1390 | 1395 |
1391 void CPWL_Utils::DrawStrokeRect(CFX_RenderDevice* pDevice, | 1396 void CPWL_Utils::DrawStrokeRect(CFX_RenderDevice* pDevice, |
1392 CFX_Matrix* pUser2Device, | 1397 CFX_Matrix* pUser2Device, |
1393 const CPDF_Rect& rect, | 1398 const CFX_FloatRect& rect, |
1394 const FX_COLORREF& color, | 1399 const FX_COLORREF& color, |
1395 FX_FLOAT fWidth) { | 1400 FX_FLOAT fWidth) { |
1396 CFX_PathData path; | 1401 CFX_PathData path; |
1397 CPDF_Rect rcTemp(rect); | 1402 CFX_FloatRect rcTemp(rect); |
1398 path.AppendRect(rcTemp.left, rcTemp.bottom, rcTemp.right, rcTemp.top); | 1403 path.AppendRect(rcTemp.left, rcTemp.bottom, rcTemp.right, rcTemp.top); |
1399 | 1404 |
1400 CFX_GraphStateData gsd; | 1405 CFX_GraphStateData gsd; |
1401 gsd.m_LineWidth = fWidth; | 1406 gsd.m_LineWidth = fWidth; |
1402 | 1407 |
1403 pDevice->DrawPath(&path, pUser2Device, &gsd, 0, color, FXFILL_ALTERNATE); | 1408 pDevice->DrawPath(&path, pUser2Device, &gsd, 0, color, FXFILL_ALTERNATE); |
1404 } | 1409 } |
1405 | 1410 |
1406 void CPWL_Utils::DrawStrokeLine(CFX_RenderDevice* pDevice, | 1411 void CPWL_Utils::DrawStrokeLine(CFX_RenderDevice* pDevice, |
1407 CFX_Matrix* pUser2Device, | 1412 CFX_Matrix* pUser2Device, |
1408 const CPDF_Point& ptMoveTo, | 1413 const CFX_FloatPoint& ptMoveTo, |
1409 const CPDF_Point& ptLineTo, | 1414 const CFX_FloatPoint& ptLineTo, |
1410 const FX_COLORREF& color, | 1415 const FX_COLORREF& color, |
1411 FX_FLOAT fWidth) { | 1416 FX_FLOAT fWidth) { |
1412 CFX_PathData path; | 1417 CFX_PathData path; |
1413 path.SetPointCount(2); | 1418 path.SetPointCount(2); |
1414 path.SetPoint(0, ptMoveTo.x, ptMoveTo.y, FXPT_MOVETO); | 1419 path.SetPoint(0, ptMoveTo.x, ptMoveTo.y, FXPT_MOVETO); |
1415 path.SetPoint(1, ptLineTo.x, ptLineTo.y, FXPT_LINETO); | 1420 path.SetPoint(1, ptLineTo.x, ptLineTo.y, FXPT_LINETO); |
1416 | 1421 |
1417 CFX_GraphStateData gsd; | 1422 CFX_GraphStateData gsd; |
1418 gsd.m_LineWidth = fWidth; | 1423 gsd.m_LineWidth = fWidth; |
1419 | 1424 |
1420 pDevice->DrawPath(&path, pUser2Device, &gsd, 0, color, FXFILL_ALTERNATE); | 1425 pDevice->DrawPath(&path, pUser2Device, &gsd, 0, color, FXFILL_ALTERNATE); |
1421 } | 1426 } |
1422 | 1427 |
1423 void CPWL_Utils::DrawFillRect(CFX_RenderDevice* pDevice, | 1428 void CPWL_Utils::DrawFillRect(CFX_RenderDevice* pDevice, |
1424 CFX_Matrix* pUser2Device, | 1429 CFX_Matrix* pUser2Device, |
1425 const CPDF_Rect& rect, | 1430 const CFX_FloatRect& rect, |
1426 const CPWL_Color& color, | 1431 const CPWL_Color& color, |
1427 int32_t nTransparancy) { | 1432 int32_t nTransparancy) { |
1428 CPWL_Utils::DrawFillRect(pDevice, pUser2Device, rect, | 1433 CPWL_Utils::DrawFillRect(pDevice, pUser2Device, rect, |
1429 PWLColorToFXColor(color, nTransparancy)); | 1434 PWLColorToFXColor(color, nTransparancy)); |
1430 } | 1435 } |
1431 | 1436 |
1432 void CPWL_Utils::DrawShadow(CFX_RenderDevice* pDevice, | 1437 void CPWL_Utils::DrawShadow(CFX_RenderDevice* pDevice, |
1433 CFX_Matrix* pUser2Device, | 1438 CFX_Matrix* pUser2Device, |
1434 FX_BOOL bVertical, | 1439 FX_BOOL bVertical, |
1435 FX_BOOL bHorizontal, | 1440 FX_BOOL bHorizontal, |
1436 CPDF_Rect rect, | 1441 CFX_FloatRect rect, |
1437 int32_t nTransparancy, | 1442 int32_t nTransparancy, |
1438 int32_t nStartGray, | 1443 int32_t nStartGray, |
1439 int32_t nEndGray) { | 1444 int32_t nEndGray) { |
1440 FX_FLOAT fStepGray = 1.0f; | 1445 FX_FLOAT fStepGray = 1.0f; |
1441 | 1446 |
1442 if (bVertical) { | 1447 if (bVertical) { |
1443 fStepGray = (nEndGray - nStartGray) / rect.Height(); | 1448 fStepGray = (nEndGray - nStartGray) / rect.Height(); |
1444 | 1449 |
1445 for (FX_FLOAT fy = rect.bottom + 0.5f; fy <= rect.top - 0.5f; fy += 1.0f) { | 1450 for (FX_FLOAT fy = rect.bottom + 0.5f; fy <= rect.top - 0.5f; fy += 1.0f) { |
1446 int32_t nGray = nStartGray + (int32_t)(fStepGray * (fy - rect.bottom)); | 1451 int32_t nGray = nStartGray + (int32_t)(fStepGray * (fy - rect.bottom)); |
1447 CPWL_Utils::DrawStrokeLine( | 1452 CPWL_Utils::DrawStrokeLine( |
1448 pDevice, pUser2Device, CPDF_Point(rect.left, fy), | 1453 pDevice, pUser2Device, CFX_FloatPoint(rect.left, fy), |
1449 CPDF_Point(rect.right, fy), | 1454 CFX_FloatPoint(rect.right, fy), |
1450 ArgbEncode(nTransparancy, nGray, nGray, nGray), 1.5f); | 1455 ArgbEncode(nTransparancy, nGray, nGray, nGray), 1.5f); |
1451 } | 1456 } |
1452 } | 1457 } |
1453 | 1458 |
1454 if (bHorizontal) { | 1459 if (bHorizontal) { |
1455 fStepGray = (nEndGray - nStartGray) / rect.Width(); | 1460 fStepGray = (nEndGray - nStartGray) / rect.Width(); |
1456 | 1461 |
1457 for (FX_FLOAT fx = rect.left + 0.5f; fx <= rect.right - 0.5f; fx += 1.0f) { | 1462 for (FX_FLOAT fx = rect.left + 0.5f; fx <= rect.right - 0.5f; fx += 1.0f) { |
1458 int32_t nGray = nStartGray + (int32_t)(fStepGray * (fx - rect.left)); | 1463 int32_t nGray = nStartGray + (int32_t)(fStepGray * (fx - rect.left)); |
1459 CPWL_Utils::DrawStrokeLine( | 1464 CPWL_Utils::DrawStrokeLine( |
1460 pDevice, pUser2Device, CPDF_Point(fx, rect.bottom), | 1465 pDevice, pUser2Device, CFX_FloatPoint(fx, rect.bottom), |
1461 CPDF_Point(fx, rect.top), | 1466 CFX_FloatPoint(fx, rect.top), |
1462 ArgbEncode(nTransparancy, nGray, nGray, nGray), 1.5f); | 1467 ArgbEncode(nTransparancy, nGray, nGray, nGray), 1.5f); |
1463 } | 1468 } |
1464 } | 1469 } |
1465 } | 1470 } |
1466 | 1471 |
1467 void CPWL_Utils::DrawBorder(CFX_RenderDevice* pDevice, | 1472 void CPWL_Utils::DrawBorder(CFX_RenderDevice* pDevice, |
1468 CFX_Matrix* pUser2Device, | 1473 CFX_Matrix* pUser2Device, |
1469 const CPDF_Rect& rect, | 1474 const CFX_FloatRect& rect, |
1470 FX_FLOAT fWidth, | 1475 FX_FLOAT fWidth, |
1471 const CPWL_Color& color, | 1476 const CPWL_Color& color, |
1472 const CPWL_Color& crLeftTop, | 1477 const CPWL_Color& crLeftTop, |
1473 const CPWL_Color& crRightBottom, | 1478 const CPWL_Color& crRightBottom, |
1474 int32_t nStyle, | 1479 int32_t nStyle, |
1475 int32_t nTransparancy) { | 1480 int32_t nTransparancy) { |
1476 FX_FLOAT fLeft = rect.left; | 1481 FX_FLOAT fLeft = rect.left; |
1477 FX_FLOAT fRight = rect.right; | 1482 FX_FLOAT fRight = rect.right; |
1478 FX_FLOAT fTop = rect.top; | 1483 FX_FLOAT fTop = rect.top; |
1479 FX_FLOAT fBottom = rect.bottom; | 1484 FX_FLOAT fBottom = rect.bottom; |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1666 | 1671 |
1667 if (bBreak) | 1672 if (bBreak) |
1668 break; | 1673 break; |
1669 } while (pIterator->NextLine()); | 1674 } while (pIterator->NextLine()); |
1670 } | 1675 } |
1671 } | 1676 } |
1672 | 1677 |
1673 void CPWL_Utils::DrawEditSpellCheck(CFX_RenderDevice* pDevice, | 1678 void CPWL_Utils::DrawEditSpellCheck(CFX_RenderDevice* pDevice, |
1674 CFX_Matrix* pUser2Device, | 1679 CFX_Matrix* pUser2Device, |
1675 IFX_Edit* pEdit, | 1680 IFX_Edit* pEdit, |
1676 const CPDF_Rect& rcClip, | 1681 const CFX_FloatRect& rcClip, |
1677 const CPDF_Point& ptOffset, | 1682 const CFX_FloatPoint& ptOffset, |
1678 const CPVT_WordRange* pRange, | 1683 const CPVT_WordRange* pRange, |
1679 IPWL_SpellCheck* pSpellCheck) { | 1684 IPWL_SpellCheck* pSpellCheck) { |
1680 const FX_COLORREF crSpell = ArgbEncode(255, 255, 0, 0); | 1685 const FX_COLORREF crSpell = ArgbEncode(255, 255, 0, 0); |
1681 | 1686 |
1682 // for spellcheck | 1687 // for spellcheck |
1683 FX_BOOL bLatinWord = FALSE; | 1688 FX_BOOL bLatinWord = FALSE; |
1684 CPVT_WordPlace wpWordStart; | 1689 CPVT_WordPlace wpWordStart; |
1685 CFX_ByteString sLatinWord; | 1690 CFX_ByteString sLatinWord; |
1686 | 1691 |
1687 CFX_PathData pathSpell; | 1692 CFX_PathData pathSpell; |
1688 | 1693 |
1689 pDevice->SaveState(); | 1694 pDevice->SaveState(); |
1690 | 1695 |
1691 if (!rcClip.IsEmpty()) { | 1696 if (!rcClip.IsEmpty()) { |
1692 CPDF_Rect rcTemp = rcClip; | 1697 CFX_FloatRect rcTemp = rcClip; |
1693 pUser2Device->TransformRect(rcTemp); | 1698 pUser2Device->TransformRect(rcTemp); |
1694 FX_RECT rcDevClip; | 1699 FX_RECT rcDevClip; |
1695 rcDevClip.left = (int32_t)rcTemp.left; | 1700 rcDevClip.left = (int32_t)rcTemp.left; |
1696 rcDevClip.right = (int32_t)rcTemp.right; | 1701 rcDevClip.right = (int32_t)rcTemp.right; |
1697 rcDevClip.top = (int32_t)rcTemp.top; | 1702 rcDevClip.top = (int32_t)rcTemp.top; |
1698 rcDevClip.bottom = (int32_t)rcTemp.bottom; | 1703 rcDevClip.bottom = (int32_t)rcTemp.bottom; |
1699 pDevice->SetClip_Rect(&rcDevClip); | 1704 pDevice->SetClip_Rect(&rcDevClip); |
1700 } | 1705 } |
1701 | 1706 |
1702 if (IFX_Edit_Iterator* pIterator = pEdit->GetIterator()) { | 1707 if (IFX_Edit_Iterator* pIterator = pEdit->GetIterator()) { |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1805 crRet.fColor2 = 1.0f - crRet.fColor2; | 1810 crRet.fColor2 = 1.0f - crRet.fColor2; |
1806 crRet.fColor3 = 1.0f - crRet.fColor3; | 1811 crRet.fColor3 = 1.0f - crRet.fColor3; |
1807 crRet.fColor4 = 1.0f - crRet.fColor4; | 1812 crRet.fColor4 = 1.0f - crRet.fColor4; |
1808 break; | 1813 break; |
1809 } | 1814 } |
1810 | 1815 |
1811 return crRet; | 1816 return crRet; |
1812 } | 1817 } |
1813 | 1818 |
1814 CFX_ByteString CPWL_Utils::GetIconAppStream(int32_t nType, | 1819 CFX_ByteString CPWL_Utils::GetIconAppStream(int32_t nType, |
1815 const CPDF_Rect& rect, | 1820 const CFX_FloatRect& rect, |
1816 const CPWL_Color& crFill, | 1821 const CPWL_Color& crFill, |
1817 const CPWL_Color& crStroke) { | 1822 const CPWL_Color& crStroke) { |
1818 CFX_ByteString sAppStream = CPWL_Utils::GetColorAppStream(crStroke, FALSE); | 1823 CFX_ByteString sAppStream = CPWL_Utils::GetColorAppStream(crStroke, FALSE); |
1819 sAppStream += CPWL_Utils::GetColorAppStream(crFill, TRUE); | 1824 sAppStream += CPWL_Utils::GetColorAppStream(crFill, TRUE); |
1820 | 1825 |
1821 CFX_ByteString sPath; | 1826 CFX_ByteString sPath; |
1822 CFX_PathData path; | 1827 CFX_PathData path; |
1823 | 1828 |
1824 switch (nType) { | 1829 switch (nType) { |
1825 case PWL_ICONTYPE_CHECKMARK: | 1830 case PWL_ICONTYPE_CHECKMARK: |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1889 sAppStream += "B*\n"; | 1894 sAppStream += "B*\n"; |
1890 else | 1895 else |
1891 sAppStream += "f*\n"; | 1896 sAppStream += "f*\n"; |
1892 | 1897 |
1893 return sAppStream; | 1898 return sAppStream; |
1894 } | 1899 } |
1895 | 1900 |
1896 void CPWL_Utils::DrawIconAppStream(CFX_RenderDevice* pDevice, | 1901 void CPWL_Utils::DrawIconAppStream(CFX_RenderDevice* pDevice, |
1897 CFX_Matrix* pUser2Device, | 1902 CFX_Matrix* pUser2Device, |
1898 int32_t nType, | 1903 int32_t nType, |
1899 const CPDF_Rect& rect, | 1904 const CFX_FloatRect& rect, |
1900 const CPWL_Color& crFill, | 1905 const CPWL_Color& crFill, |
1901 const CPWL_Color& crStroke, | 1906 const CPWL_Color& crStroke, |
1902 const int32_t nTransparancy) { | 1907 const int32_t nTransparancy) { |
1903 CFX_GraphStateData gsd; | 1908 CFX_GraphStateData gsd; |
1904 gsd.m_LineWidth = 1.0f; | 1909 gsd.m_LineWidth = 1.0f; |
1905 | 1910 |
1906 CFX_ByteString sPath; | 1911 CFX_ByteString sPath; |
1907 CFX_PathData path; | 1912 CFX_PathData path; |
1908 | 1913 |
1909 switch (nType) { | 1914 switch (nType) { |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1971 return; | 1976 return; |
1972 } | 1977 } |
1973 | 1978 |
1974 pDevice->DrawPath( | 1979 pDevice->DrawPath( |
1975 &path, pUser2Device, &gsd, PWLColorToFXColor(crFill, nTransparancy), | 1980 &path, pUser2Device, &gsd, PWLColorToFXColor(crFill, nTransparancy), |
1976 PWLColorToFXColor(crStroke, nTransparancy), FXFILL_ALTERNATE); | 1981 PWLColorToFXColor(crStroke, nTransparancy), FXFILL_ALTERNATE); |
1977 } | 1982 } |
1978 | 1983 |
1979 void CPWL_Utils::GetGraphics_Checkmark(CFX_ByteString& sPathData, | 1984 void CPWL_Utils::GetGraphics_Checkmark(CFX_ByteString& sPathData, |
1980 CFX_PathData& path, | 1985 CFX_PathData& path, |
1981 const CPDF_Rect& crBBox, | 1986 const CFX_FloatRect& crBBox, |
1982 const PWL_PATH_TYPE type) { | 1987 const PWL_PATH_TYPE type) { |
1983 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 1988 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
1984 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 1989 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
1985 | 1990 |
1986 CPWL_PathData PathArray[] = { | 1991 CPWL_PathData PathArray[] = { |
1987 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 15.0f, | 1992 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 15.0f, |
1988 crBBox.bottom + fHeight * 2 / 5.0f), | 1993 crBBox.bottom + fHeight * 2 / 5.0f), |
1989 PWLPT_MOVETO), | 1994 PWLPT_MOVETO), |
1990 CPWL_PathData( | 1995 CPWL_PathData( |
1991 CPWL_Point(crBBox.left + fWidth / 15.0f + | 1996 CPWL_Point(crBBox.left + fWidth / 15.0f + |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2058 PWLPT_BEZIERTO)}; | 2063 PWLPT_BEZIERTO)}; |
2059 | 2064 |
2060 if (type == PWLPT_STREAM) | 2065 if (type == PWLPT_STREAM) |
2061 sPathData = GetAppStreamFromArray(PathArray, 16); | 2066 sPathData = GetAppStreamFromArray(PathArray, 16); |
2062 else | 2067 else |
2063 GetPathDataFromArray(path, PathArray, 16); | 2068 GetPathDataFromArray(path, PathArray, 16); |
2064 } | 2069 } |
2065 | 2070 |
2066 void CPWL_Utils::GetGraphics_Circle(CFX_ByteString& sPathData, | 2071 void CPWL_Utils::GetGraphics_Circle(CFX_ByteString& sPathData, |
2067 CFX_PathData& path, | 2072 CFX_PathData& path, |
2068 const CPDF_Rect& crBBox, | 2073 const CFX_FloatRect& crBBox, |
2069 const PWL_PATH_TYPE type) { | 2074 const PWL_PATH_TYPE type) { |
2070 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2075 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2071 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2076 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2072 | 2077 |
2073 CPWL_PathData PathArray[] = { | 2078 CPWL_PathData PathArray[] = { |
2074 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 15.0f, | 2079 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 15.0f, |
2075 crBBox.bottom + fHeight / 2.0f), | 2080 crBBox.bottom + fHeight / 2.0f), |
2076 PWLPT_MOVETO), | 2081 PWLPT_MOVETO), |
2077 CPWL_PathData( | 2082 CPWL_PathData( |
2078 CPWL_Point(crBBox.left + fWidth / 15.0f, | 2083 CPWL_Point(crBBox.left + fWidth / 15.0f, |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2181 PWLPT_BEZIERTO)}; | 2186 PWLPT_BEZIERTO)}; |
2182 | 2187 |
2183 if (type == PWLPT_STREAM) | 2188 if (type == PWLPT_STREAM) |
2184 sPathData = GetAppStreamFromArray(PathArray, 26); | 2189 sPathData = GetAppStreamFromArray(PathArray, 26); |
2185 else | 2190 else |
2186 GetPathDataFromArray(path, PathArray, 26); | 2191 GetPathDataFromArray(path, PathArray, 26); |
2187 } | 2192 } |
2188 | 2193 |
2189 void CPWL_Utils::GetGraphics_Comment(CFX_ByteString& sPathData, | 2194 void CPWL_Utils::GetGraphics_Comment(CFX_ByteString& sPathData, |
2190 CFX_PathData& path, | 2195 CFX_PathData& path, |
2191 const CPDF_Rect& crBBox, | 2196 const CFX_FloatRect& crBBox, |
2192 const PWL_PATH_TYPE type) { | 2197 const PWL_PATH_TYPE type) { |
2193 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2198 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2194 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2199 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2195 | 2200 |
2196 CPWL_PathData PathArray[] = { | 2201 CPWL_PathData PathArray[] = { |
2197 CPWL_PathData( | 2202 CPWL_PathData( |
2198 CPWL_Point(crBBox.left + fWidth / 15.0f, crBBox.top - fHeight / 6.0f), | 2203 CPWL_Point(crBBox.left + fWidth / 15.0f, crBBox.top - fHeight / 6.0f), |
2199 PWLPT_MOVETO), | 2204 PWLPT_MOVETO), |
2200 CPWL_PathData( | 2205 CPWL_PathData( |
2201 CPWL_Point(crBBox.left + fWidth / 15.0f, | 2206 CPWL_Point(crBBox.left + fWidth / 15.0f, |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2300 PWLPT_LINETO)}; | 2305 PWLPT_LINETO)}; |
2301 | 2306 |
2302 if (type == PWLPT_STREAM) | 2307 if (type == PWLPT_STREAM) |
2303 sPathData = GetAppStreamFromArray(PathArray, 30); | 2308 sPathData = GetAppStreamFromArray(PathArray, 30); |
2304 else | 2309 else |
2305 GetPathDataFromArray(path, PathArray, 30); | 2310 GetPathDataFromArray(path, PathArray, 30); |
2306 } | 2311 } |
2307 | 2312 |
2308 void CPWL_Utils::GetGraphics_Cross(CFX_ByteString& sPathData, | 2313 void CPWL_Utils::GetGraphics_Cross(CFX_ByteString& sPathData, |
2309 CFX_PathData& path, | 2314 CFX_PathData& path, |
2310 const CPDF_Rect& crBBox, | 2315 const CFX_FloatRect& crBBox, |
2311 const PWL_PATH_TYPE type) { | 2316 const PWL_PATH_TYPE type) { |
2312 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2317 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2313 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2318 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2314 CPWL_Point center_point(crBBox.left + fWidth / 2, | 2319 CPWL_Point center_point(crBBox.left + fWidth / 2, |
2315 crBBox.bottom + fHeight / 2); | 2320 crBBox.bottom + fHeight / 2); |
2316 | 2321 |
2317 CPWL_PathData PathArray[] = { | 2322 CPWL_PathData PathArray[] = { |
2318 CPWL_PathData( | 2323 CPWL_PathData( |
2319 CPWL_Point(center_point.x, center_point.y + fHeight / 10.0f), | 2324 CPWL_Point(center_point.x, center_point.y + fHeight / 10.0f), |
2320 PWLPT_MOVETO), | 2325 PWLPT_MOVETO), |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2357 PWLPT_LINETO)}; | 2362 PWLPT_LINETO)}; |
2358 | 2363 |
2359 if (type == PWLPT_STREAM) | 2364 if (type == PWLPT_STREAM) |
2360 sPathData = GetAppStreamFromArray(PathArray, 13); | 2365 sPathData = GetAppStreamFromArray(PathArray, 13); |
2361 else | 2366 else |
2362 GetPathDataFromArray(path, PathArray, 13); | 2367 GetPathDataFromArray(path, PathArray, 13); |
2363 } | 2368 } |
2364 | 2369 |
2365 void CPWL_Utils::GetGraphics_Help(CFX_ByteString& sPathData, | 2370 void CPWL_Utils::GetGraphics_Help(CFX_ByteString& sPathData, |
2366 CFX_PathData& path, | 2371 CFX_PathData& path, |
2367 const CPDF_Rect& crBBox, | 2372 const CFX_FloatRect& crBBox, |
2368 const PWL_PATH_TYPE type) { | 2373 const PWL_PATH_TYPE type) { |
2369 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2374 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2370 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2375 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2371 | 2376 |
2372 CPWL_PathData PathArray[] = { | 2377 CPWL_PathData PathArray[] = { |
2373 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 60.0f, | 2378 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 60.0f, |
2374 crBBox.bottom + fHeight / 2.0f), | 2379 crBBox.bottom + fHeight / 2.0f), |
2375 PWLPT_MOVETO), | 2380 PWLPT_MOVETO), |
2376 CPWL_PathData( | 2381 CPWL_PathData( |
2377 CPWL_Point(crBBox.left + fWidth / 60.0f, | 2382 CPWL_Point(crBBox.left + fWidth / 60.0f, |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2587 PWLPT_BEZIERTO)}; | 2592 PWLPT_BEZIERTO)}; |
2588 | 2593 |
2589 if (type == PWLPT_STREAM) | 2594 if (type == PWLPT_STREAM) |
2590 sPathData = GetAppStreamFromArray(PathArray, 59); | 2595 sPathData = GetAppStreamFromArray(PathArray, 59); |
2591 else | 2596 else |
2592 GetPathDataFromArray(path, PathArray, 59); | 2597 GetPathDataFromArray(path, PathArray, 59); |
2593 } | 2598 } |
2594 | 2599 |
2595 void CPWL_Utils::GetGraphics_InsertText(CFX_ByteString& sPathData, | 2600 void CPWL_Utils::GetGraphics_InsertText(CFX_ByteString& sPathData, |
2596 CFX_PathData& path, | 2601 CFX_PathData& path, |
2597 const CPDF_Rect& crBBox, | 2602 const CFX_FloatRect& crBBox, |
2598 const PWL_PATH_TYPE type) { | 2603 const PWL_PATH_TYPE type) { |
2599 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2604 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2600 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2605 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2601 | 2606 |
2602 CPWL_PathData PathArray[] = { | 2607 CPWL_PathData PathArray[] = { |
2603 CPWL_PathData( | 2608 CPWL_PathData( |
2604 CPWL_Point(crBBox.left + fWidth / 10, crBBox.bottom + fHeight / 10), | 2609 CPWL_Point(crBBox.left + fWidth / 10, crBBox.bottom + fHeight / 10), |
2605 PWLPT_MOVETO), | 2610 PWLPT_MOVETO), |
2606 CPWL_PathData( | 2611 CPWL_PathData( |
2607 CPWL_Point(crBBox.left + fWidth / 2, crBBox.top - fHeight * 2 / 15), | 2612 CPWL_Point(crBBox.left + fWidth / 2, crBBox.top - fHeight * 2 / 15), |
2608 PWLPT_LINETO), | 2613 PWLPT_LINETO), |
2609 CPWL_PathData( | 2614 CPWL_PathData( |
2610 CPWL_Point(crBBox.right - fWidth / 10, crBBox.bottom + fHeight / 10), | 2615 CPWL_Point(crBBox.right - fWidth / 10, crBBox.bottom + fHeight / 10), |
2611 PWLPT_LINETO), | 2616 PWLPT_LINETO), |
2612 CPWL_PathData( | 2617 CPWL_PathData( |
2613 CPWL_Point(crBBox.left + fWidth / 10, crBBox.bottom + fHeight / 10), | 2618 CPWL_Point(crBBox.left + fWidth / 10, crBBox.bottom + fHeight / 10), |
2614 PWLPT_LINETO)}; | 2619 PWLPT_LINETO)}; |
2615 | 2620 |
2616 if (type == PWLPT_STREAM) | 2621 if (type == PWLPT_STREAM) |
2617 sPathData = GetAppStreamFromArray(PathArray, 4); | 2622 sPathData = GetAppStreamFromArray(PathArray, 4); |
2618 else | 2623 else |
2619 GetPathDataFromArray(path, PathArray, 4); | 2624 GetPathDataFromArray(path, PathArray, 4); |
2620 } | 2625 } |
2621 | 2626 |
2622 void CPWL_Utils::GetGraphics_Key(CFX_ByteString& sPathData, | 2627 void CPWL_Utils::GetGraphics_Key(CFX_ByteString& sPathData, |
2623 CFX_PathData& path, | 2628 CFX_PathData& path, |
2624 const CPDF_Rect& crBBox, | 2629 const CFX_FloatRect& crBBox, |
2625 const PWL_PATH_TYPE type) { | 2630 const PWL_PATH_TYPE type) { |
2626 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2631 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2627 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2632 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2628 FX_FLOAT k = -fHeight / fWidth; | 2633 FX_FLOAT k = -fHeight / fWidth; |
2629 CPWL_Point tail; | 2634 CPWL_Point tail; |
2630 CPWL_Point CicleCenter; | 2635 CPWL_Point CicleCenter; |
2631 tail.x = crBBox.left + fWidth * 0.9f; | 2636 tail.x = crBBox.left + fWidth * 0.9f; |
2632 tail.y = k * (tail.x - crBBox.right) + crBBox.bottom; | 2637 tail.y = k * (tail.x - crBBox.right) + crBBox.bottom; |
2633 CicleCenter.x = crBBox.left + fWidth * 0.15f; | 2638 CicleCenter.x = crBBox.left + fWidth * 0.15f; |
2634 CicleCenter.y = k * (CicleCenter.x - crBBox.right) + crBBox.bottom; | 2639 CicleCenter.y = k * (CicleCenter.x - crBBox.right) + crBBox.bottom; |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2745 PWLPT_BEZIERTO)}; | 2750 PWLPT_BEZIERTO)}; |
2746 | 2751 |
2747 if (type == PWLPT_STREAM) | 2752 if (type == PWLPT_STREAM) |
2748 sPathData = GetAppStreamFromArray(PathArray, 28); | 2753 sPathData = GetAppStreamFromArray(PathArray, 28); |
2749 else | 2754 else |
2750 GetPathDataFromArray(path, PathArray, 28); | 2755 GetPathDataFromArray(path, PathArray, 28); |
2751 } | 2756 } |
2752 | 2757 |
2753 void CPWL_Utils::GetGraphics_NewParagraph(CFX_ByteString& sPathData, | 2758 void CPWL_Utils::GetGraphics_NewParagraph(CFX_ByteString& sPathData, |
2754 CFX_PathData& path, | 2759 CFX_PathData& path, |
2755 const CPDF_Rect& crBBox, | 2760 const CFX_FloatRect& crBBox, |
2756 const PWL_PATH_TYPE type) { | 2761 const PWL_PATH_TYPE type) { |
2757 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2762 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2758 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2763 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2759 | 2764 |
2760 CPWL_PathData PathArray[] = { | 2765 CPWL_PathData PathArray[] = { |
2761 CPWL_PathData( | 2766 CPWL_PathData( |
2762 CPWL_Point(crBBox.left + fWidth / 2.0f, crBBox.top - fHeight / 20.0f), | 2767 CPWL_Point(crBBox.left + fWidth / 2.0f, crBBox.top - fHeight / 20.0f), |
2763 PWLPT_MOVETO), | 2768 PWLPT_MOVETO), |
2764 CPWL_PathData( | 2769 CPWL_PathData( |
2765 CPWL_Point(crBBox.left + fWidth / 10.0f, crBBox.top - fHeight / 2.0f), | 2770 CPWL_Point(crBBox.left + fWidth / 10.0f, crBBox.top - fHeight / 2.0f), |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2849 PWLPT_LINETO)}; | 2854 PWLPT_LINETO)}; |
2850 | 2855 |
2851 if (type == PWLPT_STREAM) | 2856 if (type == PWLPT_STREAM) |
2852 sPathData = GetAppStreamFromArray(PathArray, 28); | 2857 sPathData = GetAppStreamFromArray(PathArray, 28); |
2853 else | 2858 else |
2854 GetPathDataFromArray(path, PathArray, 28); | 2859 GetPathDataFromArray(path, PathArray, 28); |
2855 } | 2860 } |
2856 | 2861 |
2857 void CPWL_Utils::GetGraphics_TextNote(CFX_ByteString& sPathData, | 2862 void CPWL_Utils::GetGraphics_TextNote(CFX_ByteString& sPathData, |
2858 CFX_PathData& path, | 2863 CFX_PathData& path, |
2859 const CPDF_Rect& crBBox, | 2864 const CFX_FloatRect& crBBox, |
2860 const PWL_PATH_TYPE type) { | 2865 const PWL_PATH_TYPE type) { |
2861 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2866 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2862 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2867 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2863 | 2868 |
2864 CPWL_PathData PathArray[] = { | 2869 CPWL_PathData PathArray[] = { |
2865 CPWL_PathData(CPWL_Point(crBBox.right - fWidth * 3 / 10.0f, | 2870 CPWL_PathData(CPWL_Point(crBBox.right - fWidth * 3 / 10.0f, |
2866 crBBox.bottom + fHeight / 15.0f), | 2871 crBBox.bottom + fHeight / 15.0f), |
2867 PWLPT_MOVETO), | 2872 PWLPT_MOVETO), |
2868 CPWL_PathData(CPWL_Point(crBBox.left + fWidth * 7 / 10.0f, | 2873 CPWL_PathData(CPWL_Point(crBBox.left + fWidth * 7 / 10.0f, |
2869 crBBox.bottom + fHeight * 4 / 15.0f), | 2874 crBBox.bottom + fHeight * 4 / 15.0f), |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2915 PWLPT_LINETO)}; | 2920 PWLPT_LINETO)}; |
2916 | 2921 |
2917 if (type == PWLPT_STREAM) | 2922 if (type == PWLPT_STREAM) |
2918 sPathData = GetAppStreamFromArray(PathArray, 17); | 2923 sPathData = GetAppStreamFromArray(PathArray, 17); |
2919 else | 2924 else |
2920 GetPathDataFromArray(path, PathArray, 17); | 2925 GetPathDataFromArray(path, PathArray, 17); |
2921 } | 2926 } |
2922 | 2927 |
2923 void CPWL_Utils::GetGraphics_Paragraph(CFX_ByteString& sPathData, | 2928 void CPWL_Utils::GetGraphics_Paragraph(CFX_ByteString& sPathData, |
2924 CFX_PathData& path, | 2929 CFX_PathData& path, |
2925 const CPDF_Rect& crBBox, | 2930 const CFX_FloatRect& crBBox, |
2926 const PWL_PATH_TYPE type) { | 2931 const PWL_PATH_TYPE type) { |
2927 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2932 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2928 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2933 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2929 | 2934 |
2930 CPWL_PathData PathArray[] = { | 2935 CPWL_PathData PathArray[] = { |
2931 CPWL_PathData( | 2936 CPWL_PathData( |
2932 CPWL_Point(crBBox.left + fWidth / 2.0f, crBBox.top - fHeight / 15.0f), | 2937 CPWL_Point(crBBox.left + fWidth / 2.0f, crBBox.top - fHeight / 15.0f), |
2933 PWLPT_MOVETO), | 2938 PWLPT_MOVETO), |
2934 CPWL_PathData( | 2939 CPWL_PathData( |
2935 CPWL_Point(crBBox.left + fWidth * 0.7f, crBBox.top - fHeight / 15.0f), | 2940 CPWL_Point(crBBox.left + fWidth * 0.7f, crBBox.top - fHeight / 15.0f), |
(...skipping 30 matching lines...) Expand all Loading... |
2966 PWLPT_BEZIERTO)}; | 2971 PWLPT_BEZIERTO)}; |
2967 | 2972 |
2968 if (type == PWLPT_STREAM) | 2973 if (type == PWLPT_STREAM) |
2969 sPathData = GetAppStreamFromArray(PathArray, 12); | 2974 sPathData = GetAppStreamFromArray(PathArray, 12); |
2970 else | 2975 else |
2971 GetPathDataFromArray(path, PathArray, 12); | 2976 GetPathDataFromArray(path, PathArray, 12); |
2972 } | 2977 } |
2973 | 2978 |
2974 void CPWL_Utils::GetGraphics_RightArrow(CFX_ByteString& sPathData, | 2979 void CPWL_Utils::GetGraphics_RightArrow(CFX_ByteString& sPathData, |
2975 CFX_PathData& path, | 2980 CFX_PathData& path, |
2976 const CPDF_Rect& crBBox, | 2981 const CFX_FloatRect& crBBox, |
2977 const PWL_PATH_TYPE type) { | 2982 const PWL_PATH_TYPE type) { |
2978 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 2983 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
2979 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 2984 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
2980 | 2985 |
2981 CPWL_PathData PathArray[] = { | 2986 CPWL_PathData PathArray[] = { |
2982 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 15.0f, | 2987 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 15.0f, |
2983 crBBox.top - fHeight / 2.0f), | 2988 crBBox.top - fHeight / 2.0f), |
2984 PWLPT_MOVETO), | 2989 PWLPT_MOVETO), |
2985 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 2.0f + fWidth / 8.0f, | 2990 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 2.0f + fWidth / 8.0f, |
2986 crBBox.bottom + fHeight / 5.0f), | 2991 crBBox.bottom + fHeight / 5.0f), |
(...skipping 24 matching lines...) Expand all Loading... |
3011 PWLPT_LINETO)}; | 3016 PWLPT_LINETO)}; |
3012 | 3017 |
3013 if (type == PWLPT_STREAM) | 3018 if (type == PWLPT_STREAM) |
3014 sPathData = GetAppStreamFromArray(PathArray, 10); | 3019 sPathData = GetAppStreamFromArray(PathArray, 10); |
3015 else | 3020 else |
3016 GetPathDataFromArray(path, PathArray, 10); | 3021 GetPathDataFromArray(path, PathArray, 10); |
3017 } | 3022 } |
3018 | 3023 |
3019 void CPWL_Utils::GetGraphics_RightPointer(CFX_ByteString& sPathData, | 3024 void CPWL_Utils::GetGraphics_RightPointer(CFX_ByteString& sPathData, |
3020 CFX_PathData& path, | 3025 CFX_PathData& path, |
3021 const CPDF_Rect& crBBox, | 3026 const CFX_FloatRect& crBBox, |
3022 const PWL_PATH_TYPE type) { | 3027 const PWL_PATH_TYPE type) { |
3023 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 3028 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
3024 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 3029 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
3025 | 3030 |
3026 CPWL_PathData PathArray[] = { | 3031 CPWL_PathData PathArray[] = { |
3027 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 30.0f, | 3032 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 30.0f, |
3028 crBBox.top - fHeight / 2.0f), | 3033 crBBox.top - fHeight / 2.0f), |
3029 PWLPT_MOVETO), | 3034 PWLPT_MOVETO), |
3030 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 30.0f, | 3035 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 30.0f, |
3031 crBBox.bottom + fHeight / 6.0f), | 3036 crBBox.bottom + fHeight / 6.0f), |
3032 PWLPT_LINETO), | 3037 PWLPT_LINETO), |
3033 CPWL_PathData(CPWL_Point(crBBox.left + fWidth * 4 / 15.0f, | 3038 CPWL_PathData(CPWL_Point(crBBox.left + fWidth * 4 / 15.0f, |
3034 crBBox.top - fHeight / 2.0f), | 3039 crBBox.top - fHeight / 2.0f), |
3035 PWLPT_LINETO), | 3040 PWLPT_LINETO), |
3036 CPWL_PathData( | 3041 CPWL_PathData( |
3037 CPWL_Point(crBBox.left + fWidth / 30.0f, crBBox.top - fHeight / 6.0f), | 3042 CPWL_Point(crBBox.left + fWidth / 30.0f, crBBox.top - fHeight / 6.0f), |
3038 PWLPT_LINETO), | 3043 PWLPT_LINETO), |
3039 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 30.0f, | 3044 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 30.0f, |
3040 crBBox.top - fHeight / 2.0f), | 3045 crBBox.top - fHeight / 2.0f), |
3041 PWLPT_LINETO)}; | 3046 PWLPT_LINETO)}; |
3042 | 3047 |
3043 if (type == PWLPT_STREAM) | 3048 if (type == PWLPT_STREAM) |
3044 sPathData = GetAppStreamFromArray(PathArray, 5); | 3049 sPathData = GetAppStreamFromArray(PathArray, 5); |
3045 else | 3050 else |
3046 GetPathDataFromArray(path, PathArray, 5); | 3051 GetPathDataFromArray(path, PathArray, 5); |
3047 } | 3052 } |
3048 | 3053 |
3049 void CPWL_Utils::GetGraphics_Star(CFX_ByteString& sPathData, | 3054 void CPWL_Utils::GetGraphics_Star(CFX_ByteString& sPathData, |
3050 CFX_PathData& path, | 3055 CFX_PathData& path, |
3051 const CPDF_Rect& crBBox, | 3056 const CFX_FloatRect& crBBox, |
3052 const PWL_PATH_TYPE type) { | 3057 const PWL_PATH_TYPE type) { |
3053 FX_FLOAT fLongRadius = | 3058 FX_FLOAT fLongRadius = |
3054 (crBBox.top - crBBox.bottom) / (1 + (FX_FLOAT)cos(FX_PI / 5.0f)); | 3059 (crBBox.top - crBBox.bottom) / (1 + (FX_FLOAT)cos(FX_PI / 5.0f)); |
3055 fLongRadius = fLongRadius * 0.7f; | 3060 fLongRadius = fLongRadius * 0.7f; |
3056 FX_FLOAT fShortRadius = fLongRadius * 0.55f; | 3061 FX_FLOAT fShortRadius = fLongRadius * 0.55f; |
3057 CPDF_Point ptCenter = CPDF_Point((crBBox.left + crBBox.right) / 2.0f, | 3062 CFX_FloatPoint ptCenter = CFX_FloatPoint((crBBox.left + crBBox.right) / 2.0f, |
3058 (crBBox.top + crBBox.bottom) / 2.0f); | 3063 (crBBox.top + crBBox.bottom) / 2.0f); |
3059 | 3064 |
3060 FX_FLOAT px1[5], py1[5]; | 3065 FX_FLOAT px1[5], py1[5]; |
3061 FX_FLOAT px2[5], py2[5]; | 3066 FX_FLOAT px2[5], py2[5]; |
3062 | 3067 |
3063 FX_FLOAT fAngel = FX_PI / 10.0f; | 3068 FX_FLOAT fAngel = FX_PI / 10.0f; |
3064 | 3069 |
3065 for (int32_t i = 0; i < 5; i++) { | 3070 for (int32_t i = 0; i < 5; i++) { |
3066 px1[i] = ptCenter.x + fLongRadius * (FX_FLOAT)cos(fAngel); | 3071 px1[i] = ptCenter.x + fLongRadius * (FX_FLOAT)cos(fAngel); |
3067 py1[i] = ptCenter.y + fLongRadius * (FX_FLOAT)sin(fAngel); | 3072 py1[i] = ptCenter.y + fLongRadius * (FX_FLOAT)sin(fAngel); |
3068 | 3073 |
(...skipping 23 matching lines...) Expand all Loading... |
3092 PathArray[10] = CPWL_PathData(CPWL_Point(px1[0], py1[0]), PWLPT_LINETO); | 3097 PathArray[10] = CPWL_PathData(CPWL_Point(px1[0], py1[0]), PWLPT_LINETO); |
3093 | 3098 |
3094 if (type == PWLPT_STREAM) | 3099 if (type == PWLPT_STREAM) |
3095 sPathData = GetAppStreamFromArray(PathArray, 11); | 3100 sPathData = GetAppStreamFromArray(PathArray, 11); |
3096 else | 3101 else |
3097 GetPathDataFromArray(path, PathArray, 11); | 3102 GetPathDataFromArray(path, PathArray, 11); |
3098 } | 3103 } |
3099 | 3104 |
3100 void CPWL_Utils::GetGraphics_UpArrow(CFX_ByteString& sPathData, | 3105 void CPWL_Utils::GetGraphics_UpArrow(CFX_ByteString& sPathData, |
3101 CFX_PathData& path, | 3106 CFX_PathData& path, |
3102 const CPDF_Rect& crBBox, | 3107 const CFX_FloatRect& crBBox, |
3103 const PWL_PATH_TYPE type) { | 3108 const PWL_PATH_TYPE type) { |
3104 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 3109 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
3105 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 3110 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
3106 | 3111 |
3107 CPWL_PathData PathArray[] = { | 3112 CPWL_PathData PathArray[] = { |
3108 CPWL_PathData( | 3113 CPWL_PathData( |
3109 CPWL_Point(crBBox.left + fWidth / 2.0f, crBBox.top - fHeight / 15.0f), | 3114 CPWL_Point(crBBox.left + fWidth / 2.0f, crBBox.top - fHeight / 15.0f), |
3110 PWLPT_MOVETO), | 3115 PWLPT_MOVETO), |
3111 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 10.0f, | 3116 CPWL_PathData(CPWL_Point(crBBox.right - fWidth / 10.0f, |
3112 crBBox.top - fWidth * 3 / 5.0f), | 3117 crBBox.top - fWidth * 3 / 5.0f), |
(...skipping 18 matching lines...) Expand all Loading... |
3131 PWLPT_LINETO)}; | 3136 PWLPT_LINETO)}; |
3132 | 3137 |
3133 if (type == PWLPT_STREAM) | 3138 if (type == PWLPT_STREAM) |
3134 sPathData = GetAppStreamFromArray(PathArray, 8); | 3139 sPathData = GetAppStreamFromArray(PathArray, 8); |
3135 else | 3140 else |
3136 GetPathDataFromArray(path, PathArray, 8); | 3141 GetPathDataFromArray(path, PathArray, 8); |
3137 } | 3142 } |
3138 | 3143 |
3139 void CPWL_Utils::GetGraphics_UpLeftArrow(CFX_ByteString& sPathData, | 3144 void CPWL_Utils::GetGraphics_UpLeftArrow(CFX_ByteString& sPathData, |
3140 CFX_PathData& path, | 3145 CFX_PathData& path, |
3141 const CPDF_Rect& crBBox, | 3146 const CFX_FloatRect& crBBox, |
3142 const PWL_PATH_TYPE type) { | 3147 const PWL_PATH_TYPE type) { |
3143 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 3148 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
3144 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 3149 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
3145 CPWL_Point leftup(crBBox.left, crBBox.top); | 3150 CPWL_Point leftup(crBBox.left, crBBox.top); |
3146 CPWL_Point rightdown(crBBox.right, crBBox.bottom); | 3151 CPWL_Point rightdown(crBBox.right, crBBox.bottom); |
3147 FX_FLOAT k = -fHeight / fWidth; | 3152 FX_FLOAT k = -fHeight / fWidth; |
3148 CPWL_Point tail; | 3153 CPWL_Point tail; |
3149 tail.x = crBBox.left + fWidth * 4 / 5.0f; | 3154 tail.x = crBBox.left + fWidth * 4 / 5.0f; |
3150 tail.y = k * (tail.x - crBBox.right) + rightdown.y; | 3155 tail.y = k * (tail.x - crBBox.right) + rightdown.y; |
3151 | 3156 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3186 PWLPT_LINETO)}; | 3191 PWLPT_LINETO)}; |
3187 | 3192 |
3188 if (type == PWLPT_STREAM) | 3193 if (type == PWLPT_STREAM) |
3189 sPathData = GetAppStreamFromArray(PathArray, 8); | 3194 sPathData = GetAppStreamFromArray(PathArray, 8); |
3190 else | 3195 else |
3191 GetPathDataFromArray(path, PathArray, 8); | 3196 GetPathDataFromArray(path, PathArray, 8); |
3192 } | 3197 } |
3193 | 3198 |
3194 void CPWL_Utils::GetGraphics_Graph(CFX_ByteString& sPathData, | 3199 void CPWL_Utils::GetGraphics_Graph(CFX_ByteString& sPathData, |
3195 CFX_PathData& path, | 3200 CFX_PathData& path, |
3196 const CPDF_Rect& crBBox, | 3201 const CFX_FloatRect& crBBox, |
3197 const PWL_PATH_TYPE type) { | 3202 const PWL_PATH_TYPE type) { |
3198 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 3203 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
3199 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 3204 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
3200 | 3205 |
3201 CPWL_PathData PathArray[] = { | 3206 CPWL_PathData PathArray[] = { |
3202 CPWL_PathData( | 3207 CPWL_PathData( |
3203 CPWL_Point(crBBox.left + fWidth * 0.05f, crBBox.top - fWidth * 0.15f), | 3208 CPWL_Point(crBBox.left + fWidth * 0.05f, crBBox.top - fWidth * 0.15f), |
3204 PWLPT_MOVETO), | 3209 PWLPT_MOVETO), |
3205 CPWL_PathData(CPWL_Point(crBBox.left + fWidth * 0.25f, | 3210 CPWL_PathData(CPWL_Point(crBBox.left + fWidth * 0.25f, |
3206 crBBox.top - fHeight * 0.15f), | 3211 crBBox.top - fHeight * 0.15f), |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3264 PWLPT_LINETO)}; | 3269 PWLPT_LINETO)}; |
3265 | 3270 |
3266 if (type == PWLPT_STREAM) | 3271 if (type == PWLPT_STREAM) |
3267 sPathData = GetAppStreamFromArray(PathArray, 20); | 3272 sPathData = GetAppStreamFromArray(PathArray, 20); |
3268 else | 3273 else |
3269 GetPathDataFromArray(path, PathArray, 20); | 3274 GetPathDataFromArray(path, PathArray, 20); |
3270 } | 3275 } |
3271 | 3276 |
3272 void CPWL_Utils::GetGraphics_Paperclip(CFX_ByteString& sPathData, | 3277 void CPWL_Utils::GetGraphics_Paperclip(CFX_ByteString& sPathData, |
3273 CFX_PathData& path, | 3278 CFX_PathData& path, |
3274 const CPDF_Rect& crBBox, | 3279 const CFX_FloatRect& crBBox, |
3275 const PWL_PATH_TYPE type) { | 3280 const PWL_PATH_TYPE type) { |
3276 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 3281 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
3277 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 3282 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
3278 | 3283 |
3279 CPWL_PathData PathArray[] = { | 3284 CPWL_PathData PathArray[] = { |
3280 CPWL_PathData( | 3285 CPWL_PathData( |
3281 CPWL_Point(crBBox.left + fWidth / 60, crBBox.top - fHeight * 0.25f), | 3286 CPWL_Point(crBBox.left + fWidth / 60, crBBox.top - fHeight * 0.25f), |
3282 PWLPT_MOVETO), | 3287 PWLPT_MOVETO), |
3283 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 60, | 3288 CPWL_PathData(CPWL_Point(crBBox.left + fWidth / 60, |
3284 crBBox.bottom + fHeight * 0.25f), | 3289 crBBox.bottom + fHeight * 0.25f), |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3407 PWLPT_BEZIERTO)}; | 3412 PWLPT_BEZIERTO)}; |
3408 | 3413 |
3409 if (type == PWLPT_STREAM) | 3414 if (type == PWLPT_STREAM) |
3410 sPathData = GetAppStreamFromArray(PathArray, 33); | 3415 sPathData = GetAppStreamFromArray(PathArray, 33); |
3411 else | 3416 else |
3412 GetPathDataFromArray(path, PathArray, 33); | 3417 GetPathDataFromArray(path, PathArray, 33); |
3413 } | 3418 } |
3414 | 3419 |
3415 void CPWL_Utils::GetGraphics_Attachment(CFX_ByteString& sPathData, | 3420 void CPWL_Utils::GetGraphics_Attachment(CFX_ByteString& sPathData, |
3416 CFX_PathData& path, | 3421 CFX_PathData& path, |
3417 const CPDF_Rect& crBBox, | 3422 const CFX_FloatRect& crBBox, |
3418 const PWL_PATH_TYPE type) { | 3423 const PWL_PATH_TYPE type) { |
3419 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 3424 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
3420 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 3425 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
3421 | 3426 |
3422 CPWL_PathData PathArray[] = { | 3427 CPWL_PathData PathArray[] = { |
3423 CPWL_PathData( | 3428 CPWL_PathData( |
3424 CPWL_Point(crBBox.left + fWidth * 0.25f, crBBox.top - fHeight * 0.1f), | 3429 CPWL_Point(crBBox.left + fWidth * 0.25f, crBBox.top - fHeight * 0.1f), |
3425 PWLPT_MOVETO), | 3430 PWLPT_MOVETO), |
3426 CPWL_PathData( | 3431 CPWL_PathData( |
3427 CPWL_Point(crBBox.left + fWidth * 0.4f, crBBox.top - fHeight * 0.23f), | 3432 CPWL_Point(crBBox.left + fWidth * 0.4f, crBBox.top - fHeight * 0.23f), |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3503 PWLPT_LINETO)}; | 3508 PWLPT_LINETO)}; |
3504 | 3509 |
3505 if (type == PWLPT_STREAM) | 3510 if (type == PWLPT_STREAM) |
3506 sPathData = GetAppStreamFromArray(PathArray, 24); | 3511 sPathData = GetAppStreamFromArray(PathArray, 24); |
3507 else | 3512 else |
3508 GetPathDataFromArray(path, PathArray, 24); | 3513 GetPathDataFromArray(path, PathArray, 24); |
3509 } | 3514 } |
3510 | 3515 |
3511 void CPWL_Utils::GetGraphics_Tag(CFX_ByteString& sPathData, | 3516 void CPWL_Utils::GetGraphics_Tag(CFX_ByteString& sPathData, |
3512 CFX_PathData& path, | 3517 CFX_PathData& path, |
3513 const CPDF_Rect& crBBox, | 3518 const CFX_FloatRect& crBBox, |
3514 const PWL_PATH_TYPE type) { | 3519 const PWL_PATH_TYPE type) { |
3515 FX_FLOAT fWidth = crBBox.right - crBBox.left; | 3520 FX_FLOAT fWidth = crBBox.right - crBBox.left; |
3516 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; | 3521 FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
3517 | 3522 |
3518 CPWL_PathData PathArray[] = { | 3523 CPWL_PathData PathArray[] = { |
3519 CPWL_PathData( | 3524 CPWL_PathData( |
3520 CPWL_Point(crBBox.left + fWidth * 0.4f, crBBox.top - fHeight * 0.1f), | 3525 CPWL_Point(crBBox.left + fWidth * 0.4f, crBBox.top - fHeight * 0.1f), |
3521 PWLPT_MOVETO), | 3526 PWLPT_MOVETO), |
3522 CPWL_PathData( | 3527 CPWL_PathData( |
3523 CPWL_Point(crBBox.left + fWidth * 0.1f, crBBox.top - fHeight * 0.5f), | 3528 CPWL_Point(crBBox.left + fWidth * 0.1f, crBBox.top - fHeight * 0.5f), |
(...skipping 30 matching lines...) Expand all Loading... |
3554 PWLPT_LINETO)}; | 3559 PWLPT_LINETO)}; |
3555 | 3560 |
3556 if (type == PWLPT_STREAM) | 3561 if (type == PWLPT_STREAM) |
3557 sPathData = GetAppStreamFromArray(PathArray, 12); | 3562 sPathData = GetAppStreamFromArray(PathArray, 12); |
3558 else | 3563 else |
3559 GetPathDataFromArray(path, PathArray, 12); | 3564 GetPathDataFromArray(path, PathArray, 12); |
3560 } | 3565 } |
3561 | 3566 |
3562 void CPWL_Utils::GetGraphics_Foxit(CFX_ByteString& sPathData, | 3567 void CPWL_Utils::GetGraphics_Foxit(CFX_ByteString& sPathData, |
3563 CFX_PathData& path, | 3568 CFX_PathData& path, |
3564 const CPDF_Rect& crBBox, | 3569 const CFX_FloatRect& crBBox, |
3565 const PWL_PATH_TYPE type) { | 3570 const PWL_PATH_TYPE type) { |
3566 FX_FLOAT fOutWidth = crBBox.right - crBBox.left; | 3571 FX_FLOAT fOutWidth = crBBox.right - crBBox.left; |
3567 FX_FLOAT fOutHeight = crBBox.top - crBBox.bottom; | 3572 FX_FLOAT fOutHeight = crBBox.top - crBBox.bottom; |
3568 | 3573 |
3569 CPDF_Rect crInBox = crBBox; | 3574 CFX_FloatRect crInBox = crBBox; |
3570 crInBox.left = crBBox.left + fOutWidth * 0.08f; | 3575 crInBox.left = crBBox.left + fOutWidth * 0.08f; |
3571 crInBox.right = crBBox.right - fOutWidth * 0.08f; | 3576 crInBox.right = crBBox.right - fOutWidth * 0.08f; |
3572 crInBox.top = crBBox.top - fOutHeight * 0.08f; | 3577 crInBox.top = crBBox.top - fOutHeight * 0.08f; |
3573 crInBox.bottom = crBBox.bottom + fOutHeight * 0.08f; | 3578 crInBox.bottom = crBBox.bottom + fOutHeight * 0.08f; |
3574 | 3579 |
3575 FX_FLOAT fWidth = crInBox.right - crInBox.left; | 3580 FX_FLOAT fWidth = crInBox.right - crInBox.left; |
3576 FX_FLOAT fHeight = crInBox.top - crInBox.bottom; | 3581 FX_FLOAT fHeight = crInBox.top - crInBox.bottom; |
3577 | 3582 |
3578 CPWL_PathData PathArray[] = { | 3583 CPWL_PathData PathArray[] = { |
3579 CPWL_PathData(CPWL_Point(crInBox.left, crInBox.top), PWLPT_MOVETO), | 3584 CPWL_PathData(CPWL_Point(crInBox.left, crInBox.top), PWLPT_MOVETO), |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3672 break; | 3677 break; |
3673 case COLORTYPE_RGB: | 3678 case COLORTYPE_RGB: |
3674 CPWL_Utils::ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4, | 3679 CPWL_Utils::ConvertCMYK2RGB(fColor1, fColor2, fColor3, fColor4, |
3675 fColor1, fColor2, fColor3); | 3680 fColor1, fColor2, fColor3); |
3676 break; | 3681 break; |
3677 } | 3682 } |
3678 break; | 3683 break; |
3679 } | 3684 } |
3680 nColorType = other_nColorType; | 3685 nColorType = other_nColorType; |
3681 } | 3686 } |
OLD | NEW |