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

Side by Side Diff: core/include/fpdfapi/fpdf_pageobj.h

Issue 1513363002: Remove CFX_AffineMatrix/CPDF_Matrix (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Nits Created 5 years 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/include/fpdfapi/fpdf_page.h ('k') | core/include/fpdfapi/fpdf_parser.h » ('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 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_ 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_
8 #define CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_ 8 #define CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_
9 9
10 #include "core/include/fxge/fx_ge.h" 10 #include "core/include/fxge/fx_ge.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 45
46 FX_PATHPOINT* GetPoints() { return m_pObject->m_pPoints; } 46 FX_PATHPOINT* GetPoints() { return m_pObject->m_pPoints; }
47 47
48 CFX_FloatRect GetBoundingBox() const { return m_pObject->GetBoundingBox(); } 48 CFX_FloatRect GetBoundingBox() const { return m_pObject->GetBoundingBox(); }
49 49
50 CFX_FloatRect GetBoundingBox(FX_FLOAT line_width, 50 CFX_FloatRect GetBoundingBox(FX_FLOAT line_width,
51 FX_FLOAT miter_limit) const { 51 FX_FLOAT miter_limit) const {
52 return m_pObject->GetBoundingBox(line_width, miter_limit); 52 return m_pObject->GetBoundingBox(line_width, miter_limit);
53 } 53 }
54 54
55 void Transform(const CFX_AffineMatrix* pMatrix) { 55 void Transform(const CFX_Matrix* pMatrix) { GetModify()->Transform(pMatrix); }
56 GetModify()->Transform(pMatrix);
57 }
58 56
59 void Append(CPDF_Path src, const CFX_AffineMatrix* pMatrix) { 57 void Append(CPDF_Path src, const CFX_Matrix* pMatrix) {
60 m_pObject->Append(src.m_pObject, pMatrix); 58 m_pObject->Append(src.m_pObject, pMatrix);
61 } 59 }
62 60
63 void AppendRect(FX_FLOAT left, 61 void AppendRect(FX_FLOAT left,
64 FX_FLOAT bottom, 62 FX_FLOAT bottom,
65 FX_FLOAT right, 63 FX_FLOAT right,
66 FX_FLOAT top) { 64 FX_FLOAT top) {
67 m_pObject->AppendRect(left, bottom, right, top); 65 m_pObject->AppendRect(left, bottom, right, top);
68 } 66 }
69 67
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 CPDF_TextObject* GetText(int i) const { return m_pObject->m_pTextList[i]; } 100 CPDF_TextObject* GetText(int i) const { return m_pObject->m_pTextList[i]; }
103 101
104 CFX_FloatRect GetClipBox() const; 102 CFX_FloatRect GetClipBox() const;
105 103
106 void AppendPath(CPDF_Path path, int type, FX_BOOL bAutoMerge); 104 void AppendPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);
107 105
108 void DeletePath(int layer_index); 106 void DeletePath(int layer_index);
109 107
110 void AppendTexts(CPDF_TextObject** pTexts, int count); 108 void AppendTexts(CPDF_TextObject** pTexts, int count);
111 109
112 void Transform(const CFX_AffineMatrix& matrix); 110 void Transform(const CFX_Matrix& matrix);
113 }; 111 };
114 class CPDF_ColorStateData { 112 class CPDF_ColorStateData {
115 public: 113 public:
116 CPDF_ColorStateData() : m_FillRGB(0), m_StrokeRGB(0) {} 114 CPDF_ColorStateData() : m_FillRGB(0), m_StrokeRGB(0) {}
117 115
118 CPDF_ColorStateData(const CPDF_ColorStateData& src); 116 CPDF_ColorStateData(const CPDF_ColorStateData& src);
119 117
120 void Default(); 118 void Default();
121 119
122 CPDF_Color m_FillColor; 120 CPDF_Color m_FillColor;
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 353
356 class CPDF_PageObject : public CPDF_GraphicStates { 354 class CPDF_PageObject : public CPDF_GraphicStates {
357 public: 355 public:
358 static CPDF_PageObject* Create(int type); 356 static CPDF_PageObject* Create(int type);
359 virtual ~CPDF_PageObject(); 357 virtual ~CPDF_PageObject();
360 358
361 CPDF_PageObject* Clone() const; 359 CPDF_PageObject* Clone() const;
362 360
363 void Copy(const CPDF_PageObject* pSrcObject); 361 void Copy(const CPDF_PageObject* pSrcObject);
364 362
365 virtual void Transform(const CFX_AffineMatrix& matrix) = 0; 363 virtual void Transform(const CFX_Matrix& matrix) = 0;
366 364
367 void RemoveClipPath(); 365 void RemoveClipPath();
368 366
369 void AppendClipPath(CPDF_Path path, int type, FX_BOOL bAutoMerge); 367 void AppendClipPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);
370 368
371 void CopyClipPath(CPDF_PageObject* pObj); 369 void CopyClipPath(CPDF_PageObject* pObj);
372 370
373 void TransformClipPath(CFX_AffineMatrix& matrix); 371 void TransformClipPath(CFX_Matrix& matrix);
374 372
375 void TransformGeneralState(CFX_AffineMatrix& matrix); 373 void TransformGeneralState(CFX_Matrix& matrix);
376 374
377 void SetColorState(CPDF_ColorState state) { m_ColorState = state; } 375 void SetColorState(CPDF_ColorState state) { m_ColorState = state; }
378 376
379 FX_RECT GetBBox(const CFX_AffineMatrix* pMatrix) const; 377 FX_RECT GetBBox(const CFX_Matrix* pMatrix) const;
380 378
381 int m_Type; 379 int m_Type;
382 380
383 FX_FLOAT m_Left; 381 FX_FLOAT m_Left;
384 382
385 FX_FLOAT m_Right; 383 FX_FLOAT m_Right;
386 384
387 FX_FLOAT m_Top; 385 FX_FLOAT m_Top;
388 386
389 FX_FLOAT m_Bottom; 387 FX_FLOAT m_Bottom;
(...skipping 30 matching lines...) Expand all
420 418
421 void GetCharRect(int index, CFX_FloatRect& rect) const; 419 void GetCharRect(int index, CFX_FloatRect& rect) const;
422 420
423 FX_FLOAT GetCharWidth(FX_DWORD charcode) const; 421 FX_FLOAT GetCharWidth(FX_DWORD charcode) const;
424 FX_FLOAT GetSpaceCharWidth() const; 422 FX_FLOAT GetSpaceCharWidth() const;
425 423
426 FX_FLOAT GetPosX() const { return m_PosX; } 424 FX_FLOAT GetPosX() const { return m_PosX; }
427 425
428 FX_FLOAT GetPosY() const { return m_PosY; } 426 FX_FLOAT GetPosY() const { return m_PosY; }
429 427
430 void GetTextMatrix(CFX_AffineMatrix* pMatrix) const; 428 void GetTextMatrix(CFX_Matrix* pMatrix) const;
431 429
432 CPDF_Font* GetFont() const { return m_TextState.GetFont(); } 430 CPDF_Font* GetFont() const { return m_TextState.GetFont(); }
433 431
434 FX_FLOAT GetFontSize() const { return m_TextState.GetFontSize(); } 432 FX_FLOAT GetFontSize() const { return m_TextState.GetFontSize(); }
435 433
436 void SetEmpty(); 434 void SetEmpty();
437 435
438 void SetText(const CFX_ByteString& text); 436 void SetText(const CFX_ByteString& text);
439 437
440 void SetText(CFX_ByteString* pStrs, FX_FLOAT* pKerning, int nSegs); 438 void SetText(CFX_ByteString* pStrs, FX_FLOAT* pKerning, int nSegs);
441 439
442 void SetText(int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pKernings); 440 void SetText(int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pKernings);
443 441
444 void SetPosition(FX_FLOAT x, FX_FLOAT y); 442 void SetPosition(FX_FLOAT x, FX_FLOAT y);
445 443
446 void SetTextState(CPDF_TextState TextState); 444 void SetTextState(CPDF_TextState TextState);
447 445
448 // CPDF_PageObject: 446 // CPDF_PageObject:
449 void Transform(const CFX_AffineMatrix& matrix) override; 447 void Transform(const CFX_Matrix& matrix) override;
450 448
451 void CalcCharPos(FX_FLOAT* pPosArray) const; 449 void CalcCharPos(FX_FLOAT* pPosArray) const;
452 450
453 void SetData(int nChars, 451 void SetData(int nChars,
454 FX_DWORD* pCharCodes, 452 FX_DWORD* pCharCodes,
455 FX_FLOAT* pCharPos, 453 FX_FLOAT* pCharPos,
456 FX_FLOAT x, 454 FX_FLOAT x,
457 FX_FLOAT y); 455 FX_FLOAT y);
458 456
459 void GetData(int& nChars, FX_DWORD*& pCharCodes, FX_FLOAT*& pCharPos) { 457 void GetData(int& nChars, FX_DWORD*& pCharCodes, FX_FLOAT*& pCharPos) {
(...skipping 28 matching lines...) Expand all
488 FX_DWORD* m_pCharCodes; 486 FX_DWORD* m_pCharCodes;
489 487
490 FX_FLOAT* m_pCharPos; 488 FX_FLOAT* m_pCharPos;
491 }; 489 };
492 490
493 class CPDF_PathObject : public CPDF_PageObject { 491 class CPDF_PathObject : public CPDF_PageObject {
494 public: 492 public:
495 CPDF_PathObject() { m_Type = PDFPAGE_PATH; } 493 CPDF_PathObject() { m_Type = PDFPAGE_PATH; }
496 ~CPDF_PathObject() override {} 494 ~CPDF_PathObject() override {}
497 495
498 void Transform(const CFX_AffineMatrix& maxtrix) override; 496 void Transform(const CFX_Matrix& maxtrix) override;
499 497
500 void SetGraphState(CPDF_GraphState GraphState); 498 void SetGraphState(CPDF_GraphState GraphState);
501 499
502 void CalcBoundingBox(); 500 void CalcBoundingBox();
503 501
504 CPDF_Path m_Path; 502 CPDF_Path m_Path;
505 503
506 int m_FillType; 504 int m_FillType;
507 505
508 FX_BOOL m_bStroke; 506 FX_BOOL m_bStroke;
509 507
510 CFX_AffineMatrix m_Matrix; 508 CFX_Matrix m_Matrix;
511 509
512 protected: 510 protected:
513 void CopyData(const CPDF_PageObject* pSrcObject) override; 511 void CopyData(const CPDF_PageObject* pSrcObject) override;
514 }; 512 };
515 513
516 class CPDF_ImageObject : public CPDF_PageObject { 514 class CPDF_ImageObject : public CPDF_PageObject {
517 public: 515 public:
518 CPDF_ImageObject(); 516 CPDF_ImageObject();
519 ~CPDF_ImageObject() override; 517 ~CPDF_ImageObject() override;
520 518
521 void Transform(const CFX_AffineMatrix& matrix) override; 519 void Transform(const CFX_Matrix& matrix) override;
522 520
523 CPDF_Image* m_pImage; 521 CPDF_Image* m_pImage;
524 522
525 CFX_AffineMatrix m_Matrix; 523 CFX_Matrix m_Matrix;
526 524
527 void CalcBoundingBox(); 525 void CalcBoundingBox();
528 526
529 private: 527 private:
530 void CopyData(const CPDF_PageObject* pSrcObject) override; 528 void CopyData(const CPDF_PageObject* pSrcObject) override;
531 }; 529 };
532 530
533 class CPDF_ShadingObject : public CPDF_PageObject { 531 class CPDF_ShadingObject : public CPDF_PageObject {
534 public: 532 public:
535 CPDF_ShadingObject(); 533 CPDF_ShadingObject();
536 ~CPDF_ShadingObject() override; 534 ~CPDF_ShadingObject() override;
537 535
538 CPDF_ShadingPattern* m_pShading; 536 CPDF_ShadingPattern* m_pShading;
539 537
540 CFX_AffineMatrix m_Matrix; 538 CFX_Matrix m_Matrix;
541 539
542 void Transform(const CFX_AffineMatrix& matrix) override; 540 void Transform(const CFX_Matrix& matrix) override;
543 541
544 void CalcBoundingBox(); 542 void CalcBoundingBox();
545 543
546 protected: 544 protected:
547 void CopyData(const CPDF_PageObject* pSrcObject) override; 545 void CopyData(const CPDF_PageObject* pSrcObject) override;
548 }; 546 };
549 547
550 class CPDF_FormObject : public CPDF_PageObject { 548 class CPDF_FormObject : public CPDF_PageObject {
551 public: 549 public:
552 CPDF_FormObject() { 550 CPDF_FormObject() {
553 m_Type = PDFPAGE_FORM; 551 m_Type = PDFPAGE_FORM;
554 m_pForm = NULL; 552 m_pForm = NULL;
555 } 553 }
556 ~CPDF_FormObject() override; 554 ~CPDF_FormObject() override;
557 555
558 void Transform(const CFX_AffineMatrix& matrix) override; 556 void Transform(const CFX_Matrix& matrix) override;
559 557
560 CPDF_Form* m_pForm; 558 CPDF_Form* m_pForm;
561 559
562 CFX_AffineMatrix m_FormMatrix; 560 CFX_Matrix m_FormMatrix;
563 561
564 void CalcBoundingBox(); 562 void CalcBoundingBox();
565 563
566 protected: 564 protected:
567 void CopyData(const CPDF_PageObject* pSrcObject) override; 565 void CopyData(const CPDF_PageObject* pSrcObject) override;
568 }; 566 };
569 567
570 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_ 568 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_
OLDNEW
« no previous file with comments | « core/include/fpdfapi/fpdf_page.h ('k') | core/include/fpdfapi/fpdf_parser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698