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

Side by Side Diff: core/src/fpdfapi/fpdf_page/pageint.h

Issue 1519693002: Merge to XFA: Remove CFX_AffineMatrix/CPDF_Matrix (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: XFA-specific changes 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
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_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ 7 #ifndef CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_
8 #define CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ 8 #define CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_
9 9
10 #include <map> 10 #include <map>
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 }; 160 };
161 } _ContentParam; 161 } _ContentParam;
162 #define _FPDF_MAX_FORM_LEVEL_ 30 162 #define _FPDF_MAX_FORM_LEVEL_ 30
163 #define _FPDF_MAX_TYPE3_FORM_LEVEL_ 4 163 #define _FPDF_MAX_TYPE3_FORM_LEVEL_ 4
164 #define _FPDF_MAX_OBJECT_STACK_SIZE_ 512 164 #define _FPDF_MAX_OBJECT_STACK_SIZE_ 512
165 class CPDF_StreamContentParser { 165 class CPDF_StreamContentParser {
166 public: 166 public:
167 CPDF_StreamContentParser(CPDF_Document* pDoc, 167 CPDF_StreamContentParser(CPDF_Document* pDoc,
168 CPDF_Dictionary* pPageResources, 168 CPDF_Dictionary* pPageResources,
169 CPDF_Dictionary* pParentResources, 169 CPDF_Dictionary* pParentResources,
170 CFX_AffineMatrix* pmtContentToUser, 170 CFX_Matrix* pmtContentToUser,
171 CPDF_PageObjects* pObjList, 171 CPDF_PageObjects* pObjList,
172 CPDF_Dictionary* pResources, 172 CPDF_Dictionary* pResources,
173 CFX_FloatRect* pBBox, 173 CFX_FloatRect* pBBox,
174 CPDF_ParseOptions* pOptions, 174 CPDF_ParseOptions* pOptions,
175 CPDF_AllStates* pAllStates, 175 CPDF_AllStates* pAllStates,
176 int level); 176 int level);
177 ~CPDF_StreamContentParser(); 177 ~CPDF_StreamContentParser();
178 178
179 CPDF_PageObjects* GetObjectList() const { return m_pObjectList; } 179 CPDF_PageObjects* GetObjectList() const { return m_pObjectList; }
180 CPDF_AllStates* GetCurStates() const { return m_pCurStates.get(); } 180 CPDF_AllStates* GetCurStates() const { return m_pCurStates.get(); }
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 void Handle_NextLineShowText(); 305 void Handle_NextLineShowText();
306 void Handle_NextLineShowText_Space(); 306 void Handle_NextLineShowText_Space();
307 void Handle_Invalid(); 307 void Handle_Invalid();
308 308
309 CPDF_Document* const m_pDocument; 309 CPDF_Document* const m_pDocument;
310 CPDF_Dictionary* m_pPageResources; 310 CPDF_Dictionary* m_pPageResources;
311 CPDF_Dictionary* m_pParentResources; 311 CPDF_Dictionary* m_pParentResources;
312 CPDF_Dictionary* m_pResources; 312 CPDF_Dictionary* m_pResources;
313 CPDF_PageObjects* m_pObjectList; 313 CPDF_PageObjects* m_pObjectList;
314 int m_Level; 314 int m_Level;
315 CFX_AffineMatrix m_mtContentToUser; 315 CFX_Matrix m_mtContentToUser;
316 CFX_FloatRect m_BBox; 316 CFX_FloatRect m_BBox;
317 CPDF_ParseOptions m_Options; 317 CPDF_ParseOptions m_Options;
318 _ContentParam m_ParamBuf1[PARAM_BUF_SIZE]; 318 _ContentParam m_ParamBuf1[PARAM_BUF_SIZE];
319 FX_DWORD m_ParamStartPos; 319 FX_DWORD m_ParamStartPos;
320 FX_DWORD m_ParamCount; 320 FX_DWORD m_ParamCount;
321 CPDF_StreamParser* m_pSyntax; 321 CPDF_StreamParser* m_pSyntax;
322 nonstd::unique_ptr<CPDF_AllStates> m_pCurStates; 322 nonstd::unique_ptr<CPDF_AllStates> m_pCurStates;
323 CPDF_ContentMark m_CurContentMark; 323 CPDF_ContentMark m_CurContentMark;
324 CFX_ArrayTemplate<CPDF_TextObject*> m_ClipTextList; 324 CFX_ArrayTemplate<CPDF_TextObject*> m_ClipTextList;
325 CPDF_TextObject* m_pLastTextObject; 325 CPDF_TextObject* m_pLastTextObject;
(...skipping 24 matching lines...) Expand all
350 public: 350 public:
351 enum ParseStatus { Ready, ToBeContinued, Done }; 351 enum ParseStatus { Ready, ToBeContinued, Done };
352 352
353 CPDF_ContentParser(); 353 CPDF_ContentParser();
354 ~CPDF_ContentParser(); 354 ~CPDF_ContentParser();
355 355
356 ParseStatus GetStatus() { return m_Status; } 356 ParseStatus GetStatus() { return m_Status; }
357 void Start(CPDF_Page* pPage, CPDF_ParseOptions* pOptions); 357 void Start(CPDF_Page* pPage, CPDF_ParseOptions* pOptions);
358 void Start(CPDF_Form* pForm, 358 void Start(CPDF_Form* pForm,
359 CPDF_AllStates* pGraphicStates, 359 CPDF_AllStates* pGraphicStates,
360 CFX_AffineMatrix* pParentMatrix, 360 CFX_Matrix* pParentMatrix,
361 CPDF_Type3Char* pType3Char, 361 CPDF_Type3Char* pType3Char,
362 CPDF_ParseOptions* pOptions, 362 CPDF_ParseOptions* pOptions,
363 int level); 363 int level);
364 void Continue(IFX_Pause* pPause); 364 void Continue(IFX_Pause* pPause);
365 365
366 protected: 366 protected:
367 void Clear(); 367 void Clear();
368 ParseStatus m_Status; 368 ParseStatus m_Status;
369 CPDF_PageObjects* m_pObjects; 369 CPDF_PageObjects* m_pObjects;
370 FX_BOOL m_bForm; 370 FX_BOOL m_bForm;
371 CPDF_ParseOptions m_Options; 371 CPDF_ParseOptions m_Options;
372 CPDF_Type3Char* m_pType3Char; 372 CPDF_Type3Char* m_pType3Char;
373 int m_InternalStage; 373 int m_InternalStage;
374 CPDF_StreamAcc* m_pSingleStream; 374 CPDF_StreamAcc* m_pSingleStream;
375 CPDF_StreamAcc** m_pStreamArray; 375 CPDF_StreamAcc** m_pStreamArray;
376 FX_DWORD m_nStreams; 376 FX_DWORD m_nStreams;
377 uint8_t* m_pData; 377 uint8_t* m_pData;
378 FX_DWORD m_Size; 378 FX_DWORD m_Size;
379 class CPDF_StreamContentParser* m_pParser; 379 class CPDF_StreamContentParser* m_pParser;
380 FX_DWORD m_CurrentOffset; 380 FX_DWORD m_CurrentOffset;
381 }; 381 };
382 class CPDF_AllStates : public CPDF_GraphicStates { 382 class CPDF_AllStates : public CPDF_GraphicStates {
383 public: 383 public:
384 CPDF_AllStates(); 384 CPDF_AllStates();
385 ~CPDF_AllStates(); 385 ~CPDF_AllStates();
386 void Copy(const CPDF_AllStates& src); 386 void Copy(const CPDF_AllStates& src);
387 void ProcessExtGS(CPDF_Dictionary* pGS, CPDF_StreamContentParser* pParser); 387 void ProcessExtGS(CPDF_Dictionary* pGS, CPDF_StreamContentParser* pParser);
388 void SetLineDash(CPDF_Array*, FX_FLOAT, FX_FLOAT scale); 388 void SetLineDash(CPDF_Array*, FX_FLOAT, FX_FLOAT scale);
389 CFX_AffineMatrix m_TextMatrix, m_CTM, m_ParentMatrix; 389 CFX_Matrix m_TextMatrix, m_CTM, m_ParentMatrix;
390 FX_FLOAT m_TextX, m_TextY, m_TextLineX, m_TextLineY; 390 FX_FLOAT m_TextX, m_TextY, m_TextLineX, m_TextLineY;
391 FX_FLOAT m_TextLeading, m_TextRise, m_TextHorzScale; 391 FX_FLOAT m_TextLeading, m_TextRise, m_TextHorzScale;
392 }; 392 };
393 393
394 class CPDF_DocPageData { 394 class CPDF_DocPageData {
395 public: 395 public:
396 explicit CPDF_DocPageData(CPDF_Document* pPDFDoc); 396 explicit CPDF_DocPageData(CPDF_Document* pPDFDoc);
397 ~CPDF_DocPageData(); 397 ~CPDF_DocPageData();
398 398
399 void Clear(FX_BOOL bRelease = FALSE); 399 void Clear(FX_BOOL bRelease = FALSE);
400 CPDF_Font* GetFont(CPDF_Dictionary* pFontDict, FX_BOOL findOnly); 400 CPDF_Font* GetFont(CPDF_Dictionary* pFontDict, FX_BOOL findOnly);
401 CPDF_Font* GetStandardFont(const CFX_ByteStringC& fontName, 401 CPDF_Font* GetStandardFont(const CFX_ByteStringC& fontName,
402 CPDF_FontEncoding* pEncoding); 402 CPDF_FontEncoding* pEncoding);
403 void ReleaseFont(CPDF_Dictionary* pFontDict); 403 void ReleaseFont(CPDF_Dictionary* pFontDict);
404 CPDF_ColorSpace* GetColorSpace(CPDF_Object* pCSObj, 404 CPDF_ColorSpace* GetColorSpace(CPDF_Object* pCSObj,
405 const CPDF_Dictionary* pResources); 405 const CPDF_Dictionary* pResources);
406 CPDF_ColorSpace* GetCopiedColorSpace(CPDF_Object* pCSObj); 406 CPDF_ColorSpace* GetCopiedColorSpace(CPDF_Object* pCSObj);
407 void ReleaseColorSpace(CPDF_Object* pColorSpace); 407 void ReleaseColorSpace(CPDF_Object* pColorSpace);
408 CPDF_Pattern* GetPattern(CPDF_Object* pPatternObj, 408 CPDF_Pattern* GetPattern(CPDF_Object* pPatternObj,
409 FX_BOOL bShading, 409 FX_BOOL bShading,
410 const CFX_AffineMatrix* matrix); 410 const CFX_Matrix* matrix);
411 void ReleasePattern(CPDF_Object* pPatternObj); 411 void ReleasePattern(CPDF_Object* pPatternObj);
412 CPDF_Image* GetImage(CPDF_Object* pImageStream); 412 CPDF_Image* GetImage(CPDF_Object* pImageStream);
413 void ReleaseImage(CPDF_Object* pImageStream); 413 void ReleaseImage(CPDF_Object* pImageStream);
414 CPDF_IccProfile* GetIccProfile(CPDF_Stream* pIccProfileStream); 414 CPDF_IccProfile* GetIccProfile(CPDF_Stream* pIccProfileStream);
415 void ReleaseIccProfile(CPDF_IccProfile* pIccProfile); 415 void ReleaseIccProfile(CPDF_IccProfile* pIccProfile);
416 CPDF_StreamAcc* GetFontFileStreamAcc(CPDF_Stream* pFontStream); 416 CPDF_StreamAcc* GetFontFileStreamAcc(CPDF_Stream* pFontStream);
417 void ReleaseFontFileStreamAcc(CPDF_Stream* pFontStream, 417 void ReleaseFontFileStreamAcc(CPDF_Stream* pFontStream,
418 FX_BOOL bForce = FALSE); 418 FX_BOOL bForce = FALSE);
419 FX_BOOL IsForceClear() const { return m_bForceClear; } 419 FX_BOOL IsForceClear() const { return m_bForceClear; }
420 CPDF_CountedColorSpace* FindColorSpacePtr(CPDF_Object* pCSObj) const; 420 CPDF_CountedColorSpace* FindColorSpacePtr(CPDF_Object* pCSObj) const;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 FX_FLOAT& G, 519 FX_FLOAT& G,
520 FX_FLOAT& B) const override; 520 FX_FLOAT& B) const override;
521 CPDF_ColorSpace* GetBaseCS() const override; 521 CPDF_ColorSpace* GetBaseCS() const override;
522 522
523 private: 523 private:
524 CPDF_ColorSpace* m_pBaseCS; 524 CPDF_ColorSpace* m_pBaseCS;
525 CPDF_CountedColorSpace* m_pCountedBaseCS; 525 CPDF_CountedColorSpace* m_pCountedBaseCS;
526 }; 526 };
527 527
528 #endif // CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ 528 #endif // CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698