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

Side by Side Diff: core/src/fxcrt/fx_basic_coords.cpp

Issue 1172793002: Merge to XFA: Use stdint.h types throughout PDFium. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 6 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
« no previous file with comments | « core/src/fxcrt/fx_basic_buffer.cpp ('k') | core/src/fxcrt/fx_basic_gcc.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <limits.h> 7 #include <limits.h>
8 #include "../../include/fxcrt/fx_ext.h" 8 #include "../../include/fxcrt/fx_ext.h"
9 void FX_RECT::Normalize() 9 void FX_RECT::Normalize()
10 { 10 {
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 FX_FLOAT ac = a + c, bd = b + d; 423 FX_FLOAT ac = a + c, bd = b + d;
424 FX_FLOAT C = FXSYS_sqrt(ac * ac + bd * bd); 424 FX_FLOAT C = FXSYS_sqrt(ac * ac + bd * bd);
425 FX_FLOAT P = (A + B + C ) / 2; 425 FX_FLOAT P = (A + B + C ) / 2;
426 return FXSYS_sqrt(P * (P - A) * (P - B) * (P - C)) * 2; 426 return FXSYS_sqrt(P * (P - A) * (P - B) * (P - C)) * 2;
427 } 427 }
428 FX_FLOAT CFX_Matrix::TransformXDistance(FX_FLOAT dx) const 428 FX_FLOAT CFX_Matrix::TransformXDistance(FX_FLOAT dx) const
429 { 429 {
430 FX_FLOAT fx = a * dx, fy = b * dx; 430 FX_FLOAT fx = a * dx, fy = b * dx;
431 return FXSYS_sqrt(fx * fx + fy * fy); 431 return FXSYS_sqrt(fx * fx + fy * fy);
432 } 432 }
433 FX_INT32 CFX_Matrix::TransformXDistance(FX_INT32 dx) const 433 int32_t CFX_Matrix::TransformXDistance(int32_t dx) const
434 { 434 {
435 FX_FLOAT fx = a * dx, fy = b * dx; 435 FX_FLOAT fx = a * dx, fy = b * dx;
436 return FXSYS_round(FXSYS_sqrt(fx * fx + fy * fy)); 436 return FXSYS_round(FXSYS_sqrt(fx * fx + fy * fy));
437 } 437 }
438 FX_FLOAT CFX_Matrix::TransformYDistance(FX_FLOAT dy) const 438 FX_FLOAT CFX_Matrix::TransformYDistance(FX_FLOAT dy) const
439 { 439 {
440 FX_FLOAT fx = c * dy, fy = d * dy; 440 FX_FLOAT fx = c * dy, fy = d * dy;
441 return FXSYS_sqrt(fx * fx + fy * fy); 441 return FXSYS_sqrt(fx * fx + fy * fy);
442 } 442 }
443 FX_INT32 CFX_Matrix::TransformYDistance(FX_INT32 dy) const 443 int32_t CFX_Matrix::TransformYDistance(int32_t dy) const
444 { 444 {
445 FX_FLOAT fx = c * dy, fy = d * dy; 445 FX_FLOAT fx = c * dy, fy = d * dy;
446 return FXSYS_round(FXSYS_sqrt(fx * fx + fy * fy)); 446 return FXSYS_round(FXSYS_sqrt(fx * fx + fy * fy));
447 } 447 }
448 FX_FLOAT CFX_Matrix::TransformDistance(FX_FLOAT dx, FX_FLOAT dy) const 448 FX_FLOAT CFX_Matrix::TransformDistance(FX_FLOAT dx, FX_FLOAT dy) const
449 { 449 {
450 FX_FLOAT fx = a * dx + c * dy, fy = b * dx + d * dy; 450 FX_FLOAT fx = a * dx + c * dy, fy = b * dx + d * dy;
451 return FXSYS_sqrt(fx * fx + fy * fy); 451 return FXSYS_sqrt(fx * fx + fy * fy);
452 } 452 }
453 FX_INT32 CFX_Matrix::TransformDistance(FX_INT32 dx, FX_INT32 dy) const 453 int32_t CFX_Matrix::TransformDistance(int32_t dx, int32_t dy) const
454 { 454 {
455 FX_FLOAT fx = a * dx + c * dy, fy = b * dx + d * dy; 455 FX_FLOAT fx = a * dx + c * dy, fy = b * dx + d * dy;
456 return FXSYS_round(FXSYS_sqrt(fx * fx + fy * fy)); 456 return FXSYS_round(FXSYS_sqrt(fx * fx + fy * fy));
457 } 457 }
458 FX_FLOAT CFX_Matrix::TransformDistance(FX_FLOAT distance) const 458 FX_FLOAT CFX_Matrix::TransformDistance(FX_FLOAT distance) const
459 { 459 {
460 return distance * (GetXUnit() + GetYUnit()) / 2; 460 return distance * (GetXUnit() + GetYUnit()) / 2;
461 } 461 }
462 void CFX_Matrix::TransformVector(CFX_VectorF &v) const 462 void CFX_Matrix::TransformVector(CFX_VectorF &v) const
463 { 463 {
464 FX_FLOAT fx = a * v.x + c * v.y; 464 FX_FLOAT fx = a * v.x + c * v.y;
465 FX_FLOAT fy = b * v.x + d * v.y; 465 FX_FLOAT fy = b * v.x + d * v.y;
466 v.x = fx, v.y = fy; 466 v.x = fx, v.y = fy;
467 } 467 }
468 void CFX_Matrix::TransformVector(CFX_Vector &v) const 468 void CFX_Matrix::TransformVector(CFX_Vector &v) const
469 { 469 {
470 FX_FLOAT fx = a * v.x + c * v.y; 470 FX_FLOAT fx = a * v.x + c * v.y;
471 FX_FLOAT fy = b * v.x + d * v.y; 471 FX_FLOAT fy = b * v.x + d * v.y;
472 v.x = FXSYS_round(fx); 472 v.x = FXSYS_round(fx);
473 v.y = FXSYS_round(fy); 473 v.y = FXSYS_round(fy);
474 } 474 }
475 void CFX_Matrix::TransformPoints(CFX_Point *points, FX_INT32 iCount) const 475 void CFX_Matrix::TransformPoints(CFX_Point *points, int32_t iCount) const
476 { 476 {
477 FXSYS_assert(iCount > 0); 477 FXSYS_assert(iCount > 0);
478 FX_FLOAT fx, fy; 478 FX_FLOAT fx, fy;
479 for (FX_INT32 i = 0; i < iCount; i ++) { 479 for (int32_t i = 0; i < iCount; i ++) {
480 fx = a * points->x + c * points->y + e; 480 fx = a * points->x + c * points->y + e;
481 fy = b * points->x + d * points->y + f; 481 fy = b * points->x + d * points->y + f;
482 points->x = FXSYS_round(fx); 482 points->x = FXSYS_round(fx);
483 points->y = FXSYS_round(fy); 483 points->y = FXSYS_round(fy);
484 points ++; 484 points ++;
485 } 485 }
486 } 486 }
487 void CFX_Matrix::TransformPoints(CFX_PointF *points, FX_INT32 iCount) const 487 void CFX_Matrix::TransformPoints(CFX_PointF *points, int32_t iCount) const
488 { 488 {
489 FXSYS_assert(iCount > 0); 489 FXSYS_assert(iCount > 0);
490 FX_FLOAT fx, fy; 490 FX_FLOAT fx, fy;
491 for (FX_INT32 i = 0; i < iCount; i ++) { 491 for (int32_t i = 0; i < iCount; i ++) {
492 fx = a * points->x + c * points->y + e; 492 fx = a * points->x + c * points->y + e;
493 fy = b * points->x + d * points->y + f; 493 fy = b * points->x + d * points->y + f;
494 points->x = fx, points->y = fy; 494 points->x = fx, points->y = fy;
495 points ++; 495 points ++;
496 } 496 }
497 } 497 }
498 void CFX_Matrix::TransformPoint(FX_FLOAT &x, FX_FLOAT &y) const 498 void CFX_Matrix::TransformPoint(FX_FLOAT &x, FX_FLOAT &y) const
499 { 499 {
500 FX_FLOAT fx = a * x + c * y + e; 500 FX_FLOAT fx = a * x + c * y + e;
501 FX_FLOAT fy = b * x + d * y + f; 501 FX_FLOAT fy = b * x + d * y + f;
502 x = fx, y = fy; 502 x = fx, y = fy;
503 } 503 }
504 void CFX_Matrix::TransformPoint(FX_INT32 &x, FX_INT32 &y) const 504 void CFX_Matrix::TransformPoint(int32_t &x, int32_t &y) const
505 { 505 {
506 FX_FLOAT fx = a * x + c * y + e; 506 FX_FLOAT fx = a * x + c * y + e;
507 FX_FLOAT fy = b * x + d * y + f; 507 FX_FLOAT fy = b * x + d * y + f;
508 x = FXSYS_round(fx); 508 x = FXSYS_round(fx);
509 y = FXSYS_round(fy); 509 y = FXSYS_round(fy);
510 } 510 }
511 void CFX_Matrix::TransformRect(CFX_RectF &rect) const 511 void CFX_Matrix::TransformRect(CFX_RectF &rect) const
512 { 512 {
513 FX_FLOAT right = rect.right(), bottom = rect.bottom(); 513 FX_FLOAT right = rect.right(), bottom = rect.bottom();
514 TransformRect(rect.left, right, bottom, rect.top); 514 TransformRect(rect.left, right, bottom, rect.top);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 left = x[i]; 552 left = x[i];
553 } 553 }
554 if (top < y[i]) { 554 if (top < y[i]) {
555 top = y[i]; 555 top = y[i];
556 } 556 }
557 if (bottom > y[i]) { 557 if (bottom > y[i]) {
558 bottom = y[i]; 558 bottom = y[i];
559 } 559 }
560 } 560 }
561 } 561 }
OLDNEW
« no previous file with comments | « core/src/fxcrt/fx_basic_buffer.cpp ('k') | core/src/fxcrt/fx_basic_gcc.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698