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

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

Issue 1636503006: Merge to XFA: War on #defines, part 1. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Dircet -> Direct typo. Created 4 years, 11 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/include/fpdfapi/fpdf_objects.h ('k') | core/src/fpdfapi/fpdf_edit/fpdf_edit_content.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 #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 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 class CPDF_ContentMark : public CFX_CountRef<CPDF_ContentMarkData> { 321 class CPDF_ContentMark : public CFX_CountRef<CPDF_ContentMarkData> {
322 public: 322 public:
323 int GetMCID() const { return m_pObject ? m_pObject->GetMCID() : -1; } 323 int GetMCID() const { return m_pObject ? m_pObject->GetMCID() : -1; }
324 324
325 FX_BOOL HasMark(const CFX_ByteStringC& mark) const; 325 FX_BOOL HasMark(const CFX_ByteStringC& mark) const;
326 326
327 FX_BOOL LookupMark(const CFX_ByteStringC& mark, 327 FX_BOOL LookupMark(const CFX_ByteStringC& mark,
328 CPDF_Dictionary*& pDict) const; 328 CPDF_Dictionary*& pDict) const;
329 }; 329 };
330 330
331 #define PDFPAGE_TEXT 1
332 #define PDFPAGE_PATH 2
333 #define PDFPAGE_IMAGE 3
334 #define PDFPAGE_SHADING 4
335 #define PDFPAGE_FORM 5
336
337 class CPDF_GraphicStates { 331 class CPDF_GraphicStates {
338 public: 332 public:
339 void CopyStates(const CPDF_GraphicStates& src); 333 void CopyStates(const CPDF_GraphicStates& src);
340 334
341 void DefaultStates(); 335 void DefaultStates();
342 336
343 CPDF_ClipPath m_ClipPath; 337 CPDF_ClipPath m_ClipPath;
344 338
345 CPDF_GraphState m_GraphState; 339 CPDF_GraphState m_GraphState;
346 340
347 CPDF_ColorState m_ColorState; 341 CPDF_ColorState m_ColorState;
348 342
349 CPDF_TextState m_TextState; 343 CPDF_TextState m_TextState;
350 344
351 CPDF_GeneralState m_GeneralState; 345 CPDF_GeneralState m_GeneralState;
352 }; 346 };
353 347
354 class CPDF_PageObject : public CPDF_GraphicStates { 348 class CPDF_PageObject : public CPDF_GraphicStates {
355 public: 349 public:
350 enum Type {
351 TEXT = 1,
352 PATH,
353 IMAGE,
354 SHADING,
355 FORM,
356 };
357
356 static CPDF_PageObject* Create(int type); 358 static CPDF_PageObject* Create(int type);
357 virtual ~CPDF_PageObject(); 359 virtual ~CPDF_PageObject();
358 360
359 CPDF_PageObject* Clone() const; 361 CPDF_PageObject* Clone() const;
360
361 void Copy(const CPDF_PageObject* pSrcObject); 362 void Copy(const CPDF_PageObject* pSrcObject);
362 363
363 virtual void Transform(const CFX_Matrix& matrix) = 0; 364 virtual void Transform(const CFX_Matrix& matrix) = 0;
364 365
365 void RemoveClipPath(); 366 void RemoveClipPath();
366
367 void AppendClipPath(CPDF_Path path, int type, FX_BOOL bAutoMerge); 367 void AppendClipPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);
368
369 void CopyClipPath(CPDF_PageObject* pObj); 368 void CopyClipPath(CPDF_PageObject* pObj);
370
371 void TransformClipPath(CFX_Matrix& matrix); 369 void TransformClipPath(CFX_Matrix& matrix);
372
373 void TransformGeneralState(CFX_Matrix& matrix); 370 void TransformGeneralState(CFX_Matrix& matrix);
374
375 void SetColorState(CPDF_ColorState state) { m_ColorState = state; } 371 void SetColorState(CPDF_ColorState state) { m_ColorState = state; }
376
377 FX_RECT GetBBox(const CFX_Matrix* pMatrix) const; 372 FX_RECT GetBBox(const CFX_Matrix* pMatrix) const;
378 373
379 int m_Type; 374 const Type m_Type;
380
381 FX_FLOAT m_Left; 375 FX_FLOAT m_Left;
382
383 FX_FLOAT m_Right; 376 FX_FLOAT m_Right;
384
385 FX_FLOAT m_Top; 377 FX_FLOAT m_Top;
386
387 FX_FLOAT m_Bottom; 378 FX_FLOAT m_Bottom;
388
389 CPDF_ContentMark m_ContentMark; 379 CPDF_ContentMark m_ContentMark;
390 380
391 protected: 381 protected:
392 virtual void CopyData(const CPDF_PageObject* pSrcObject) = 0; 382 virtual void CopyData(const CPDF_PageObject* pSrcObject) = 0;
393 383
394 void RecalcBBox(); 384 void RecalcBBox();
395 385 CPDF_PageObject(Type type) : m_Type(type) {}
396 CPDF_PageObject() {}
397 }; 386 };
398 387
399 struct CPDF_TextObjectItem { 388 struct CPDF_TextObjectItem {
400 FX_DWORD m_CharCode; 389 FX_DWORD m_CharCode;
401 FX_FLOAT m_OriginX; 390 FX_FLOAT m_OriginX;
402 FX_FLOAT m_OriginY; 391 FX_FLOAT m_OriginY;
403 }; 392 };
404 393
405 class CPDF_TextObject : public CPDF_PageObject { 394 class CPDF_TextObject : public CPDF_PageObject {
406 public: 395 public:
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 472
484 int m_nChars; 473 int m_nChars;
485 474
486 FX_DWORD* m_pCharCodes; 475 FX_DWORD* m_pCharCodes;
487 476
488 FX_FLOAT* m_pCharPos; 477 FX_FLOAT* m_pCharPos;
489 }; 478 };
490 479
491 class CPDF_PathObject : public CPDF_PageObject { 480 class CPDF_PathObject : public CPDF_PageObject {
492 public: 481 public:
493 CPDF_PathObject() { m_Type = PDFPAGE_PATH; } 482 CPDF_PathObject() : CPDF_PageObject(PATH) {}
494 ~CPDF_PathObject() override {} 483 ~CPDF_PathObject() override {}
495 484
496 void Transform(const CFX_Matrix& maxtrix) override; 485 void Transform(const CFX_Matrix& maxtrix) override;
497 486
498 void SetGraphState(CPDF_GraphState GraphState); 487 void SetGraphState(CPDF_GraphState GraphState);
499 488
500 void CalcBoundingBox(); 489 void CalcBoundingBox();
501 490
502 CPDF_Path m_Path; 491 CPDF_Path m_Path;
503 492
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 void Transform(const CFX_Matrix& matrix) override; 529 void Transform(const CFX_Matrix& matrix) override;
541 530
542 void CalcBoundingBox(); 531 void CalcBoundingBox();
543 532
544 protected: 533 protected:
545 void CopyData(const CPDF_PageObject* pSrcObject) override; 534 void CopyData(const CPDF_PageObject* pSrcObject) override;
546 }; 535 };
547 536
548 class CPDF_FormObject : public CPDF_PageObject { 537 class CPDF_FormObject : public CPDF_PageObject {
549 public: 538 public:
550 CPDF_FormObject() { 539 CPDF_FormObject() : CPDF_PageObject(FORM), m_pForm(nullptr) {}
551 m_Type = PDFPAGE_FORM;
552 m_pForm = NULL;
553 }
554 ~CPDF_FormObject() override; 540 ~CPDF_FormObject() override;
555 541
556 void Transform(const CFX_Matrix& matrix) override; 542 void Transform(const CFX_Matrix& matrix) override;
543 void CalcBoundingBox();
557 544
558 CPDF_Form* m_pForm; 545 CPDF_Form* m_pForm;
559
560 CFX_Matrix m_FormMatrix; 546 CFX_Matrix m_FormMatrix;
561 547
562 void CalcBoundingBox();
563
564 protected: 548 protected:
565 void CopyData(const CPDF_PageObject* pSrcObject) override; 549 void CopyData(const CPDF_PageObject* pSrcObject) override;
566 }; 550 };
567 551
568 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_ 552 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_
OLDNEW
« no previous file with comments | « core/include/fpdfapi/fpdf_objects.h ('k') | core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698