Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: fpdfsdk/pdfwindow/PWL_Edit.cpp

Issue 1980973002: Convert border style defines to an enum class. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/pdfwindow/PWL_Edit.h" 7 #include "fpdfsdk/pdfwindow/PWL_Edit.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 void CPWL_Edit::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) { 192 void CPWL_Edit::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
193 CPWL_Wnd::GetThisAppearanceStream(sAppStream); 193 CPWL_Wnd::GetThisAppearanceStream(sAppStream);
194 194
195 CFX_FloatRect rcClient = GetClientRect(); 195 CFX_FloatRect rcClient = GetClientRect();
196 CFX_ByteTextBuf sLine; 196 CFX_ByteTextBuf sLine;
197 197
198 int32_t nCharArray = m_pEdit->GetCharArray(); 198 int32_t nCharArray = m_pEdit->GetCharArray();
199 199
200 if (nCharArray > 0) { 200 if (nCharArray > 0) {
201 switch (GetBorderStyle()) { 201 switch (GetBorderStyle()) {
202 case PBS_SOLID: { 202 case BorderStyle::SOLID: {
203 sLine << "q\n" << GetBorderWidth() << " w\n" 203 sLine << "q\n" << GetBorderWidth() << " w\n"
204 << CPWL_Utils::GetColorAppStream(GetBorderColor(), FALSE) 204 << CPWL_Utils::GetColorAppStream(GetBorderColor(), FALSE)
205 .AsStringC() 205 .AsStringC()
206 << " 2 J 0 j\n"; 206 << " 2 J 0 j\n";
207 207
208 for (int32_t i = 1; i < nCharArray; i++) { 208 for (int32_t i = 1; i < nCharArray; i++) {
209 sLine << rcClient.left + 209 sLine << rcClient.left +
210 ((rcClient.right - rcClient.left) / nCharArray) * i 210 ((rcClient.right - rcClient.left) / nCharArray) * i
211 << " " << rcClient.bottom << " m\n" 211 << " " << rcClient.bottom << " m\n"
212 << rcClient.left + 212 << rcClient.left +
213 ((rcClient.right - rcClient.left) / nCharArray) * i 213 ((rcClient.right - rcClient.left) / nCharArray) * i
214 << " " << rcClient.top << " l S\n"; 214 << " " << rcClient.top << " l S\n";
215 } 215 }
216 216
217 sLine << "Q\n"; 217 sLine << "Q\n";
218 } break; 218 break;
219 case PBS_DASH: { 219 }
220 case BorderStyle::DASH: {
220 sLine << "q\n" << GetBorderWidth() << " w\n" 221 sLine << "q\n" << GetBorderWidth() << " w\n"
221 << CPWL_Utils::GetColorAppStream(GetBorderColor(), FALSE) 222 << CPWL_Utils::GetColorAppStream(GetBorderColor(), FALSE)
222 .AsStringC() 223 .AsStringC()
223 << " 2 J 0 j\n" 224 << " 2 J 0 j\n"
224 << "[" << GetBorderDash().nDash << " " << GetBorderDash().nGap 225 << "[" << GetBorderDash().nDash << " " << GetBorderDash().nGap
225 << "] " << GetBorderDash().nPhase << " d\n"; 226 << "] " << GetBorderDash().nPhase << " d\n";
226 227
227 for (int32_t i = 1; i < nCharArray; i++) { 228 for (int32_t i = 1; i < nCharArray; i++) {
228 sLine << rcClient.left + 229 sLine << rcClient.left +
229 ((rcClient.right - rcClient.left) / nCharArray) * i 230 ((rcClient.right - rcClient.left) / nCharArray) * i
230 << " " << rcClient.bottom << " m\n" 231 << " " << rcClient.bottom << " m\n"
231 << rcClient.left + 232 << rcClient.left +
232 ((rcClient.right - rcClient.left) / nCharArray) * i 233 ((rcClient.right - rcClient.left) / nCharArray) * i
233 << " " << rcClient.top << " l S\n"; 234 << " " << rcClient.top << " l S\n";
234 } 235 }
235 236
236 sLine << "Q\n"; 237 sLine << "Q\n";
237 } break; 238 break;
239 }
240 default:
241 break;
238 } 242 }
239 } 243 }
240 244
241 sAppStream << sLine; 245 sAppStream << sLine;
242 246
243 CFX_ByteTextBuf sText; 247 CFX_ByteTextBuf sText;
244 248
245 CFX_FloatPoint ptOffset = CFX_FloatPoint(0.0f, 0.0f); 249 CFX_FloatPoint ptOffset = CFX_FloatPoint(0.0f, 0.0f);
246 250
247 CPVT_WordRange wrWhole = m_pEdit->GetWholeWordRange(); 251 CPVT_WordRange wrWhole = m_pEdit->GetWholeWordRange();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 CFX_FloatRect rcClient = GetClientRect(); 315 CFX_FloatRect rcClient = GetClientRect();
312 CFX_ByteTextBuf sLine; 316 CFX_ByteTextBuf sLine;
313 317
314 int32_t nCharArray = m_pEdit->GetCharArray(); 318 int32_t nCharArray = m_pEdit->GetCharArray();
315 FX_SAFE_INT32 nCharArraySafe = nCharArray; 319 FX_SAFE_INT32 nCharArraySafe = nCharArray;
316 nCharArraySafe -= 1; 320 nCharArraySafe -= 1;
317 nCharArraySafe *= 2; 321 nCharArraySafe *= 2;
318 322
319 if (nCharArray > 0 && nCharArraySafe.IsValid()) { 323 if (nCharArray > 0 && nCharArraySafe.IsValid()) {
320 switch (GetBorderStyle()) { 324 switch (GetBorderStyle()) {
321 case PBS_SOLID: { 325 case BorderStyle::SOLID: {
322 CFX_GraphStateData gsd; 326 CFX_GraphStateData gsd;
323 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth(); 327 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth();
324 328
325 CFX_PathData path; 329 CFX_PathData path;
326 path.SetPointCount(nCharArraySafe.ValueOrDie()); 330 path.SetPointCount(nCharArraySafe.ValueOrDie());
327 331
328 for (int32_t i = 0; i < nCharArray - 1; i++) { 332 for (int32_t i = 0; i < nCharArray - 1; i++) {
329 path.SetPoint( 333 path.SetPoint(
330 i * 2, 334 i * 2,
331 rcClient.left + 335 rcClient.left +
332 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), 336 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1),
333 rcClient.bottom, FXPT_MOVETO); 337 rcClient.bottom, FXPT_MOVETO);
334 path.SetPoint( 338 path.SetPoint(
335 i * 2 + 1, 339 i * 2 + 1,
336 rcClient.left + 340 rcClient.left +
337 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), 341 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1),
338 rcClient.top, FXPT_LINETO); 342 rcClient.top, FXPT_LINETO);
339 } 343 }
340 if (path.GetPointCount() > 0) 344 if (path.GetPointCount() > 0) {
341 pDevice->DrawPath( 345 pDevice->DrawPath(
342 &path, pUser2Device, &gsd, 0, 346 &path, pUser2Device, &gsd, 0,
343 CPWL_Utils::PWLColorToFXColor(GetBorderColor(), 255), 347 CPWL_Utils::PWLColorToFXColor(GetBorderColor(), 255),
344 FXFILL_ALTERNATE); 348 FXFILL_ALTERNATE);
345 } break; 349 }
346 case PBS_DASH: { 350 break;
351 }
352 case BorderStyle::DASH: {
347 CFX_GraphStateData gsd; 353 CFX_GraphStateData gsd;
348 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth(); 354 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth();
349 355
350 gsd.SetDashCount(2); 356 gsd.SetDashCount(2);
351 gsd.m_DashArray[0] = (FX_FLOAT)GetBorderDash().nDash; 357 gsd.m_DashArray[0] = (FX_FLOAT)GetBorderDash().nDash;
352 gsd.m_DashArray[1] = (FX_FLOAT)GetBorderDash().nGap; 358 gsd.m_DashArray[1] = (FX_FLOAT)GetBorderDash().nGap;
353 gsd.m_DashPhase = (FX_FLOAT)GetBorderDash().nPhase; 359 gsd.m_DashPhase = (FX_FLOAT)GetBorderDash().nPhase;
354 360
355 CFX_PathData path; 361 CFX_PathData path;
356 path.SetPointCount(nCharArraySafe.ValueOrDie()); 362 path.SetPointCount(nCharArraySafe.ValueOrDie());
357 363
358 for (int32_t i = 0; i < nCharArray - 1; i++) { 364 for (int32_t i = 0; i < nCharArray - 1; i++) {
359 path.SetPoint( 365 path.SetPoint(
360 i * 2, 366 i * 2,
361 rcClient.left + 367 rcClient.left +
362 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), 368 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1),
363 rcClient.bottom, FXPT_MOVETO); 369 rcClient.bottom, FXPT_MOVETO);
364 path.SetPoint( 370 path.SetPoint(
365 i * 2 + 1, 371 i * 2 + 1,
366 rcClient.left + 372 rcClient.left +
367 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), 373 ((rcClient.right - rcClient.left) / nCharArray) * (i + 1),
368 rcClient.top, FXPT_LINETO); 374 rcClient.top, FXPT_LINETO);
369 } 375 }
370 if (path.GetPointCount() > 0) 376 if (path.GetPointCount() > 0) {
371 pDevice->DrawPath( 377 pDevice->DrawPath(
372 &path, pUser2Device, &gsd, 0, 378 &path, pUser2Device, &gsd, 0,
373 CPWL_Utils::PWLColorToFXColor(GetBorderColor(), 255), 379 CPWL_Utils::PWLColorToFXColor(GetBorderColor(), 255),
374 FXFILL_ALTERNATE); 380 FXFILL_ALTERNATE);
375 } break; 381 }
382 break;
383 }
384 default:
385 break;
376 } 386 }
377 } 387 }
378 388
379 CFX_FloatRect rcClip; 389 CFX_FloatRect rcClip;
380 CPVT_WordRange wrRange = m_pEdit->GetVisibleWordRange(); 390 CPVT_WordRange wrRange = m_pEdit->GetVisibleWordRange();
381 CPVT_WordRange* pRange = NULL; 391 CPVT_WordRange* pRange = NULL;
382 392
383 if (!HasFlag(PES_TEXTOVERFLOW)) { 393 if (!HasFlag(PES_TEXTOVERFLOW)) {
384 rcClip = GetClientRect(); 394 rcClip = GetClientRect();
385 pRange = &wrRange; 395 pRange = &wrRange;
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 } 944 }
935 945
936 void CPWL_Edit::GeneratePageObjects(CPDF_PageObjectHolder* pObjectHolder, 946 void CPWL_Edit::GeneratePageObjects(CPDF_PageObjectHolder* pObjectHolder,
937 const CFX_FloatPoint& ptOffset) { 947 const CFX_FloatPoint& ptOffset) {
938 CFX_ArrayTemplate<CPDF_TextObject*> ObjArray; 948 CFX_ArrayTemplate<CPDF_TextObject*> ObjArray;
939 IFX_Edit::GeneratePageObjects( 949 IFX_Edit::GeneratePageObjects(
940 pObjectHolder, m_pEdit, ptOffset, NULL, 950 pObjectHolder, m_pEdit, ptOffset, NULL,
941 CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()), 951 CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()),
942 ObjArray); 952 ObjArray);
943 } 953 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698