Index: core/src/fpdfapi/fpdf_page/pageint.h |
diff --git a/core/src/fpdfapi/fpdf_page/pageint.h b/core/src/fpdfapi/fpdf_page/pageint.h |
index 4e097ca49eeed677d5e7160217051f4ef117d971..78df6bb293541cfb7731290e8dbee67419d01917 100644 |
--- a/core/src/fpdfapi/fpdf_page/pageint.h |
+++ b/core/src/fpdfapi/fpdf_page/pageint.h |
@@ -1,505 +1,565 @@ |
// Copyright 2014 PDFium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
- |
+ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
#include "../../../include/fpdfapi/fpdf_pageobj.h" |
-#define PARSE_STEP_LIMIT 100 |
-#define STREAM_PARSE_BUFSIZE 20480 |
+#define PARSE_STEP_LIMIT 100 |
+#define STREAM_PARSE_BUFSIZE 20480 |
class CPDF_QuickFontCache; |
#ifndef _FPDFAPI_MINI_ |
-class CPDF_StreamParser : public CFX_Object |
-{ |
-public: |
+class CPDF_StreamParser : public CFX_Object { |
+ public: |
+ CPDF_StreamParser(const FX_BYTE* pData, FX_DWORD dwSize); |
+ ~CPDF_StreamParser(); |
- CPDF_StreamParser(const FX_BYTE* pData, FX_DWORD dwSize); |
- ~CPDF_StreamParser(); |
+ CPDF_Stream* ReadInlineStream(CPDF_Document* pDoc, |
+ CPDF_Dictionary* pDict, |
+ CPDF_Object* pCSObj, |
+ FX_BOOL bDecode); |
+ typedef enum { EndOfData, Number, Keyword, Name, Others } SyntaxType; |
- CPDF_Stream* ReadInlineStream(CPDF_Document* pDoc, CPDF_Dictionary* pDict, CPDF_Object* pCSObj, FX_BOOL bDecode); |
- typedef enum { EndOfData, Number, Keyword, Name, Others } SyntaxType; |
+ SyntaxType ParseNextElement(); |
+ FX_LPBYTE GetWordBuf() { return m_WordBuffer; } |
+ FX_DWORD GetWordSize() { return m_WordSize; } |
+ CPDF_Object* GetObject() { |
+ CPDF_Object* pObj = m_pLastObj; |
+ m_pLastObj = NULL; |
+ return pObj; |
+ } |
+ FX_DWORD GetPos() { return m_Pos; } |
+ void SetPos(FX_DWORD pos) { m_Pos = pos; } |
- SyntaxType ParseNextElement(); |
- FX_LPBYTE GetWordBuf() |
- { |
- return m_WordBuffer; |
- } |
- FX_DWORD GetWordSize() |
- { |
- return m_WordSize; |
- } |
- CPDF_Object* GetObject() |
- { |
- CPDF_Object* pObj = m_pLastObj; |
- m_pLastObj = NULL; |
- return pObj; |
- } |
- FX_DWORD GetPos() |
- { |
- return m_Pos; |
- } |
- void SetPos(FX_DWORD pos) |
- { |
- m_Pos = pos; |
- } |
+ CPDF_Object* ReadNextObject(FX_BOOL bAllowNestedArray = FALSE, |
+ FX_BOOL bInArray = FALSE); |
+ void SkipPathObject(); |
- CPDF_Object* ReadNextObject(FX_BOOL bAllowNestedArray = FALSE, FX_BOOL bInArray = FALSE); |
- void SkipPathObject(); |
-protected: |
- void GetNextWord(FX_BOOL& bIsNumber); |
- CFX_ByteString ReadString(); |
- CFX_ByteString ReadHexString(); |
- const FX_BYTE* m_pBuf; |
- FX_DWORD m_Size; |
- FX_DWORD m_Pos; |
- FX_BYTE m_WordBuffer[256]; |
- FX_DWORD m_WordSize; |
- CPDF_Object* m_pLastObj; |
+ protected: |
+ void GetNextWord(FX_BOOL& bIsNumber); |
+ CFX_ByteString ReadString(); |
+ CFX_ByteString ReadHexString(); |
+ const FX_BYTE* m_pBuf; |
+ FX_DWORD m_Size; |
+ FX_DWORD m_Pos; |
+ FX_BYTE m_WordBuffer[256]; |
+ FX_DWORD m_WordSize; |
+ CPDF_Object* m_pLastObj; |
}; |
#endif |
typedef enum { |
- PDFOP_CloseFillStrokePath = 0, PDFOP_FillStrokePath, |
- PDFOP_CloseEOFillStrokePath, PDFOP_EOFillStrokePath, |
- PDFOP_BeginMarkedContent_Dictionary, PDFOP_BeginImage, |
- PDFOP_BeginMarkedContent, PDFOP_BeginText, |
- PDFOP_BeginSectionUndefined, PDFOP_CurveTo_123, |
- PDFOP_ConcatMatrix, PDFOP_SetColorSpace_Fill, |
- PDFOP_SetColorSpace_Stroke, PDFOP_SetDash, |
- PDFOP_SetCharWidth, PDFOP_SetCachedDevice, |
- PDFOP_ExecuteXObject, PDFOP_MarkPlace_Dictionary, |
- PDFOP_EndImage, PDFOP_EndMarkedContent, |
- PDFOP_EndText, PDFOP_EndSectionUndefined, |
- PDFOP_FillPath, PDFOP_FillPathOld, |
- PDFOP_EOFillPath, PDFOP_SetGray_Fill, |
- PDFOP_SetGray_Stroke, PDFOP_SetExtendGraphState, |
- PDFOP_ClosePath, PDFOP_SetFlat, |
- PDFOP_BeginImageData, PDFOP_SetLineJoin, |
- PDFOP_SetLineCap, PDFOP_SetCMYKColor_Fill, |
- PDFOP_SetCMYKColor_Stroke, PDFOP_LineTo, |
- PDFOP_MoveTo, PDFOP_SetMiterLimit, |
- PDFOP_MarkPlace, PDFOP_EndPath, |
- PDFOP_SaveGraphState, PDFOP_RestoreGraphState, |
- PDFOP_Rectangle, PDFOP_SetRGBColor_Fill, |
- PDFOP_SetRGBColor_Stroke, PDFOP_SetRenderIntent, |
- PDFOP_CloseStrokePath, PDFOP_StrokePath, |
- PDFOP_SetColor_Fill, PDFOP_SetColor_Stroke, |
- PDFOP_SetColorPS_Fill, PDFOP_SetColorPS_Stroke, |
- PDFOP_ShadeFill, PDFOP_SetCharSpace, |
- PDFOP_MoveTextPoint, PDFOP_MoveTextPoint_SetLeading, |
- PDFOP_SetFont, PDFOP_ShowText, |
- PDFOP_ShowText_Positioning, PDFOP_SetTextLeading, |
- PDFOP_SetTextMatrix, PDFOP_SetTextRenderMode, |
- PDFOP_SetTextRise, PDFOP_SetWordSpace, |
- PDFOP_SetHorzScale, PDFOP_MoveToNextLine, |
- PDFOP_CurveTo_23, PDFOP_SetLineWidth, |
- PDFOP_Clip, PDFOP_EOClip, |
- PDFOP_CurveTo_13, PDFOP_NextLineShowText, |
- PDFOP_NextLineShowText_Space, PDFOP_Invalid |
+ PDFOP_CloseFillStrokePath = 0, |
+ PDFOP_FillStrokePath, |
+ PDFOP_CloseEOFillStrokePath, |
+ PDFOP_EOFillStrokePath, |
+ PDFOP_BeginMarkedContent_Dictionary, |
+ PDFOP_BeginImage, |
+ PDFOP_BeginMarkedContent, |
+ PDFOP_BeginText, |
+ PDFOP_BeginSectionUndefined, |
+ PDFOP_CurveTo_123, |
+ PDFOP_ConcatMatrix, |
+ PDFOP_SetColorSpace_Fill, |
+ PDFOP_SetColorSpace_Stroke, |
+ PDFOP_SetDash, |
+ PDFOP_SetCharWidth, |
+ PDFOP_SetCachedDevice, |
+ PDFOP_ExecuteXObject, |
+ PDFOP_MarkPlace_Dictionary, |
+ PDFOP_EndImage, |
+ PDFOP_EndMarkedContent, |
+ PDFOP_EndText, |
+ PDFOP_EndSectionUndefined, |
+ PDFOP_FillPath, |
+ PDFOP_FillPathOld, |
+ PDFOP_EOFillPath, |
+ PDFOP_SetGray_Fill, |
+ PDFOP_SetGray_Stroke, |
+ PDFOP_SetExtendGraphState, |
+ PDFOP_ClosePath, |
+ PDFOP_SetFlat, |
+ PDFOP_BeginImageData, |
+ PDFOP_SetLineJoin, |
+ PDFOP_SetLineCap, |
+ PDFOP_SetCMYKColor_Fill, |
+ PDFOP_SetCMYKColor_Stroke, |
+ PDFOP_LineTo, |
+ PDFOP_MoveTo, |
+ PDFOP_SetMiterLimit, |
+ PDFOP_MarkPlace, |
+ PDFOP_EndPath, |
+ PDFOP_SaveGraphState, |
+ PDFOP_RestoreGraphState, |
+ PDFOP_Rectangle, |
+ PDFOP_SetRGBColor_Fill, |
+ PDFOP_SetRGBColor_Stroke, |
+ PDFOP_SetRenderIntent, |
+ PDFOP_CloseStrokePath, |
+ PDFOP_StrokePath, |
+ PDFOP_SetColor_Fill, |
+ PDFOP_SetColor_Stroke, |
+ PDFOP_SetColorPS_Fill, |
+ PDFOP_SetColorPS_Stroke, |
+ PDFOP_ShadeFill, |
+ PDFOP_SetCharSpace, |
+ PDFOP_MoveTextPoint, |
+ PDFOP_MoveTextPoint_SetLeading, |
+ PDFOP_SetFont, |
+ PDFOP_ShowText, |
+ PDFOP_ShowText_Positioning, |
+ PDFOP_SetTextLeading, |
+ PDFOP_SetTextMatrix, |
+ PDFOP_SetTextRenderMode, |
+ PDFOP_SetTextRise, |
+ PDFOP_SetWordSpace, |
+ PDFOP_SetHorzScale, |
+ PDFOP_MoveToNextLine, |
+ PDFOP_CurveTo_23, |
+ PDFOP_SetLineWidth, |
+ PDFOP_Clip, |
+ PDFOP_EOClip, |
+ PDFOP_CurveTo_13, |
+ PDFOP_NextLineShowText, |
+ PDFOP_NextLineShowText_Space, |
+ PDFOP_Invalid |
} PDFOP; |
-#define PARAM_BUF_SIZE 16 |
+#define PARAM_BUF_SIZE 16 |
typedef struct { |
- int m_Type; |
- union { |
- struct { |
- FX_BOOL m_bInteger; |
- union { |
- int m_Integer; |
- FX_FLOAT m_Float; |
- }; |
- } m_Number; |
- CPDF_Object* m_pObject; |
- struct { |
- int m_Len; |
- char m_Buffer[32]; |
- } m_Name; |
- }; |
+ int m_Type; |
+ union { |
+ struct { |
+ FX_BOOL m_bInteger; |
+ union { |
+ int m_Integer; |
+ FX_FLOAT m_Float; |
+ }; |
+ } m_Number; |
+ CPDF_Object* m_pObject; |
+ struct { |
+ int m_Len; |
+ char m_Buffer[32]; |
+ } m_Name; |
+ }; |
} _ContentParam; |
#if defined(_FPDFAPI_MINI_) |
-#define _FPDF_MAX_FORM_LEVEL_ 17 |
+#define _FPDF_MAX_FORM_LEVEL_ 17 |
#else |
-#define _FPDF_MAX_FORM_LEVEL_ 30 |
+#define _FPDF_MAX_FORM_LEVEL_ 30 |
#endif |
-#define _FPDF_MAX_TYPE3_FORM_LEVEL_ 4 |
+#define _FPDF_MAX_TYPE3_FORM_LEVEL_ 4 |
#define _FPDF_MAX_OBJECT_STACK_SIZE_ 512 |
-class CPDF_StreamContentParser : public CFX_Object |
-{ |
-public: |
- CPDF_StreamContentParser(); |
- ~CPDF_StreamContentParser(); |
- FX_BOOL Initialize(); |
- void PrepareParse(CPDF_Document* pDoc, CPDF_Dictionary* pPageResources, CPDF_Dictionary* pParentResources, |
- CFX_AffineMatrix* pmtContentToUser, |
- CPDF_PageObjects* pObjList, CPDF_Dictionary* pResources, |
- CFX_FloatRect* pBBox, CPDF_ParseOptions* pOptions, |
- CPDF_AllStates* pAllStates, int level); |
- CPDF_Document* m_pDocument; |
- CPDF_Dictionary* m_pPageResources; |
- CPDF_Dictionary* m_pParentResources; |
- CPDF_PageObjects* m_pObjectList; |
- CPDF_Dictionary* m_pResources; |
- int m_Level; |
- CFX_AffineMatrix m_mtContentToUser; |
- CFX_FloatRect m_BBox; |
- CPDF_ParseOptions m_Options; |
- _ContentParam m_ParamBuf1[PARAM_BUF_SIZE]; |
- FX_DWORD m_ParamStartPos; |
- FX_DWORD m_ParamCount; |
- void AddNumberParam(FX_LPCSTR str, int len); |
- void AddObjectParam(CPDF_Object* pObj); |
- void AddNameParam(FX_LPCSTR name, int size); |
- int GetNextParamPos(); |
- void ClearAllParams(); |
- CPDF_Object* GetObject(FX_DWORD index); |
- CFX_ByteString GetString(FX_DWORD index); |
- FX_FLOAT GetNumber(FX_DWORD index); |
- FX_FLOAT GetNumber16(FX_DWORD index); |
- int GetInteger(FX_DWORD index) |
- { |
- return (FX_INT32)(GetNumber(index)); |
- } |
- FX_BOOL OnOperator(FX_LPCSTR op); |
- void BigCaseCaller(int index); |
- FX_BOOL m_bAbort; |
+class CPDF_StreamContentParser : public CFX_Object { |
+ public: |
+ CPDF_StreamContentParser(); |
+ ~CPDF_StreamContentParser(); |
+ FX_BOOL Initialize(); |
+ void PrepareParse(CPDF_Document* pDoc, |
+ CPDF_Dictionary* pPageResources, |
+ CPDF_Dictionary* pParentResources, |
+ CFX_AffineMatrix* pmtContentToUser, |
+ CPDF_PageObjects* pObjList, |
+ CPDF_Dictionary* pResources, |
+ CFX_FloatRect* pBBox, |
+ CPDF_ParseOptions* pOptions, |
+ CPDF_AllStates* pAllStates, |
+ int level); |
+ CPDF_Document* m_pDocument; |
+ CPDF_Dictionary* m_pPageResources; |
+ CPDF_Dictionary* m_pParentResources; |
+ CPDF_PageObjects* m_pObjectList; |
+ CPDF_Dictionary* m_pResources; |
+ int m_Level; |
+ CFX_AffineMatrix m_mtContentToUser; |
+ CFX_FloatRect m_BBox; |
+ CPDF_ParseOptions m_Options; |
+ _ContentParam m_ParamBuf1[PARAM_BUF_SIZE]; |
+ FX_DWORD m_ParamStartPos; |
+ FX_DWORD m_ParamCount; |
+ void AddNumberParam(FX_LPCSTR str, int len); |
+ void AddObjectParam(CPDF_Object* pObj); |
+ void AddNameParam(FX_LPCSTR name, int size); |
+ int GetNextParamPos(); |
+ void ClearAllParams(); |
+ CPDF_Object* GetObject(FX_DWORD index); |
+ CFX_ByteString GetString(FX_DWORD index); |
+ FX_FLOAT GetNumber(FX_DWORD index); |
+ FX_FLOAT GetNumber16(FX_DWORD index); |
+ int GetInteger(FX_DWORD index) { return (FX_INT32)(GetNumber(index)); } |
+ FX_BOOL OnOperator(FX_LPCSTR op); |
+ void BigCaseCaller(int index); |
+ FX_BOOL m_bAbort; |
#ifndef _FPDFAPI_MINI_ |
- CPDF_StreamParser* m_pSyntax; |
- FX_DWORD GetParsePos() |
- { |
- return m_pSyntax->GetPos(); |
- } |
+ CPDF_StreamParser* m_pSyntax; |
+ FX_DWORD GetParsePos() { return m_pSyntax->GetPos(); } |
#else |
- int m_WordState; |
- void InputData(FX_LPCBYTE src_buf, FX_DWORD src_size); |
- void Finish(); |
- void StartArray(); |
- void EndArray(); |
- void StartDict(); |
- void EndDict(); |
- void EndName(); |
- void EndNumber(); |
- void EndKeyword(); |
- void EndHexString(); |
- void EndString(); |
- void EndImageDict(); |
- void EndInlineImage(); |
- FX_LPBYTE m_pWordBuf; |
- FX_DWORD m_WordSize; |
- CFX_BinaryBuf m_StringBuf; |
- int m_StringLevel, m_StringState, m_EscCode; |
- void AddContainer(CPDF_Object* pObject); |
- FX_BOOL SetToCurObj(CPDF_Object* pObject); |
- FX_LPBYTE m_pDictName; |
- FX_BOOL m_bDictName; |
- CPDF_Object** m_pObjectStack; |
- FX_BOOL* m_pObjectState; |
- FX_DWORD m_ObjectSize; |
- int m_InlineImageState; |
- FX_BYTE m_InlineWhiteChar; |
- CFX_BinaryBuf m_ImageSrcBuf; |
- FX_LPBYTE m_pStreamBuf; |
+ int m_WordState; |
+ void InputData(FX_LPCBYTE src_buf, FX_DWORD src_size); |
+ void Finish(); |
+ void StartArray(); |
+ void EndArray(); |
+ void StartDict(); |
+ void EndDict(); |
+ void EndName(); |
+ void EndNumber(); |
+ void EndKeyword(); |
+ void EndHexString(); |
+ void EndString(); |
+ void EndImageDict(); |
+ void EndInlineImage(); |
+ FX_LPBYTE m_pWordBuf; |
+ FX_DWORD m_WordSize; |
+ CFX_BinaryBuf m_StringBuf; |
+ int m_StringLevel, m_StringState, m_EscCode; |
+ void AddContainer(CPDF_Object* pObject); |
+ FX_BOOL SetToCurObj(CPDF_Object* pObject); |
+ FX_LPBYTE m_pDictName; |
+ FX_BOOL m_bDictName; |
+ CPDF_Object** m_pObjectStack; |
+ FX_BOOL* m_pObjectState; |
+ FX_DWORD m_ObjectSize; |
+ int m_InlineImageState; |
+ FX_BYTE m_InlineWhiteChar; |
+ CFX_BinaryBuf m_ImageSrcBuf; |
+ FX_LPBYTE m_pStreamBuf; |
#endif |
- CPDF_AllStates* m_pCurStates; |
- CPDF_ContentMark m_CurContentMark; |
- CFX_PtrArray m_ClipTextList; |
- CPDF_TextObject* m_pLastTextObject; |
- FX_FLOAT m_DefFontSize; |
- void AddTextObject(CFX_ByteString* pText, FX_FLOAT fInitKerning, FX_FLOAT* pKerning, int count); |
+ CPDF_AllStates* m_pCurStates; |
+ CPDF_ContentMark m_CurContentMark; |
+ CFX_PtrArray m_ClipTextList; |
+ CPDF_TextObject* m_pLastTextObject; |
+ FX_FLOAT m_DefFontSize; |
+ void AddTextObject(CFX_ByteString* pText, |
+ FX_FLOAT fInitKerning, |
+ FX_FLOAT* pKerning, |
+ int count); |
- void ConvertUserSpace(FX_FLOAT& x, FX_FLOAT& y); |
- void ConvertTextSpace(FX_FLOAT& x, FX_FLOAT& y); |
- void OnChangeTextMatrix(); |
+ void ConvertUserSpace(FX_FLOAT& x, FX_FLOAT& y); |
+ void ConvertTextSpace(FX_FLOAT& x, FX_FLOAT& y); |
+ void OnChangeTextMatrix(); |
#ifndef _FPDFAPI_MINI_ |
- FX_DWORD Parse(FX_LPCBYTE pData, FX_DWORD dwSize, FX_DWORD max_cost); |
- void ParsePathObject(); |
+ FX_DWORD Parse(FX_LPCBYTE pData, FX_DWORD dwSize, FX_DWORD max_cost); |
+ void ParsePathObject(); |
#endif |
- int m_CompatCount; |
- FX_PATHPOINT* m_pPathPoints; |
- int m_PathPointCount; |
- int m_PathAllocSize; |
- FX_FLOAT m_PathStartX, m_PathStartY; |
- FX_FLOAT m_PathCurrentX, m_PathCurrentY; |
- int m_PathClipType; |
- void AddPathPoint(FX_FLOAT x, FX_FLOAT y, int flag); |
- void AddPathRect(FX_FLOAT x, FX_FLOAT y, FX_FLOAT w, FX_FLOAT h); |
- void AddPathObject(int FillType, FX_BOOL bStroke); |
- CPDF_ImageObject* AddImage(CPDF_Stream* pStream, CPDF_Image* pImage, FX_BOOL bInline); |
- void AddDuplicateImage(); |
- void AddForm(CPDF_Stream*); |
- CFX_ByteString m_LastImageName; |
- CPDF_Image* m_pLastImage; |
- CFX_BinaryBuf m_LastImageDict, m_LastImageData; |
- CPDF_Dictionary* m_pLastImageDict; |
- CPDF_Dictionary* m_pLastCloneImageDict; |
- FX_BOOL m_bReleaseLastDict; |
- FX_BOOL m_bSameLastDict; |
- void SetGraphicStates(CPDF_PageObject* pObj, FX_BOOL bColor, FX_BOOL bText, FX_BOOL bGraph); |
- FX_BOOL m_bColored; |
- FX_FLOAT m_Type3Data[6]; |
- FX_BOOL m_bResourceMissing; |
- CFX_PtrArray m_StateStack; |
- void SaveStates(CPDF_AllStates*); |
- void RestoreStates(CPDF_AllStates*); |
- CPDF_Font* FindFont(const CFX_ByteString& name); |
- CPDF_ColorSpace* FindColorSpace(const CFX_ByteString& name); |
- CPDF_Pattern* FindPattern(const CFX_ByteString& name, FX_BOOL bShading); |
- CPDF_Object* FindResourceObj(FX_BSTR type, const CFX_ByteString& name); |
- void Handle_CloseFillStrokePath(); |
- void Handle_FillStrokePath(); |
- void Handle_CloseEOFillStrokePath(); |
- void Handle_EOFillStrokePath(); |
- void Handle_BeginMarkedContent_Dictionary(); |
- void Handle_BeginImage(); |
- void Handle_BeginMarkedContent(); |
- void Handle_BeginText(); |
- void Handle_BeginSectionUndefined(); |
- void Handle_CurveTo_123(); |
- void Handle_ConcatMatrix(); |
- void Handle_SetColorSpace_Fill(); |
- void Handle_SetColorSpace_Stroke(); |
- void Handle_SetDash(); |
- void Handle_SetCharWidth(); |
- void Handle_SetCachedDevice(); |
- void Handle_ExecuteXObject(); |
- void Handle_MarkPlace_Dictionary(); |
- void Handle_EndImage(); |
- void Handle_EndMarkedContent(); |
- void Handle_EndText(); |
- void Handle_EndSectionUndefined(); |
- void Handle_FillPath(); |
- void Handle_FillPathOld(); |
- void Handle_EOFillPath(); |
- void Handle_SetGray_Fill(); |
- void Handle_SetGray_Stroke(); |
- void Handle_SetExtendGraphState(); |
- void Handle_ClosePath(); |
- void Handle_SetFlat(); |
- void Handle_BeginImageData(); |
- void Handle_SetLineJoin(); |
- void Handle_SetLineCap(); |
- void Handle_SetCMYKColor_Fill(); |
- void Handle_SetCMYKColor_Stroke(); |
- void Handle_LineTo(); |
- void Handle_MoveTo(); |
- void Handle_SetMiterLimit(); |
- void Handle_MarkPlace(); |
- void Handle_EndPath(); |
- void Handle_SaveGraphState(); |
- void Handle_RestoreGraphState(); |
- void Handle_Rectangle(); |
- void Handle_SetRGBColor_Fill(); |
- void Handle_SetRGBColor_Stroke(); |
- void Handle_SetRenderIntent(); |
- void Handle_CloseStrokePath(); |
- void Handle_StrokePath(); |
- void Handle_SetColor_Fill(); |
- void Handle_SetColor_Stroke(); |
- void Handle_SetColorPS_Fill(); |
- void Handle_SetColorPS_Stroke(); |
- void Handle_ShadeFill(); |
- void Handle_SetCharSpace(); |
- void Handle_MoveTextPoint(); |
- void Handle_MoveTextPoint_SetLeading(); |
- void Handle_SetFont(); |
- void Handle_ShowText(); |
- void Handle_ShowText_Positioning(); |
- void Handle_SetTextLeading(); |
- void Handle_SetTextMatrix(); |
- void Handle_SetTextRenderMode(); |
- void Handle_SetTextRise(); |
- void Handle_SetWordSpace(); |
- void Handle_SetHorzScale(); |
- void Handle_MoveToNextLine(); |
- void Handle_CurveTo_23(); |
- void Handle_SetLineWidth(); |
- void Handle_Clip(); |
- void Handle_EOClip(); |
- void Handle_CurveTo_13(); |
- void Handle_NextLineShowText(); |
- void Handle_NextLineShowText_Space(); |
- void Handle_Invalid(); |
+ int m_CompatCount; |
+ FX_PATHPOINT* m_pPathPoints; |
+ int m_PathPointCount; |
+ int m_PathAllocSize; |
+ FX_FLOAT m_PathStartX, m_PathStartY; |
+ FX_FLOAT m_PathCurrentX, m_PathCurrentY; |
+ int m_PathClipType; |
+ void AddPathPoint(FX_FLOAT x, FX_FLOAT y, int flag); |
+ void AddPathRect(FX_FLOAT x, FX_FLOAT y, FX_FLOAT w, FX_FLOAT h); |
+ void AddPathObject(int FillType, FX_BOOL bStroke); |
+ CPDF_ImageObject* AddImage(CPDF_Stream* pStream, |
+ CPDF_Image* pImage, |
+ FX_BOOL bInline); |
+ void AddDuplicateImage(); |
+ void AddForm(CPDF_Stream*); |
+ CFX_ByteString m_LastImageName; |
+ CPDF_Image* m_pLastImage; |
+ CFX_BinaryBuf m_LastImageDict, m_LastImageData; |
+ CPDF_Dictionary* m_pLastImageDict; |
+ CPDF_Dictionary* m_pLastCloneImageDict; |
+ FX_BOOL m_bReleaseLastDict; |
+ FX_BOOL m_bSameLastDict; |
+ void SetGraphicStates(CPDF_PageObject* pObj, |
+ FX_BOOL bColor, |
+ FX_BOOL bText, |
+ FX_BOOL bGraph); |
+ FX_BOOL m_bColored; |
+ FX_FLOAT m_Type3Data[6]; |
+ FX_BOOL m_bResourceMissing; |
+ CFX_PtrArray m_StateStack; |
+ void SaveStates(CPDF_AllStates*); |
+ void RestoreStates(CPDF_AllStates*); |
+ CPDF_Font* FindFont(const CFX_ByteString& name); |
+ CPDF_ColorSpace* FindColorSpace(const CFX_ByteString& name); |
+ CPDF_Pattern* FindPattern(const CFX_ByteString& name, FX_BOOL bShading); |
+ CPDF_Object* FindResourceObj(FX_BSTR type, const CFX_ByteString& name); |
+ void Handle_CloseFillStrokePath(); |
+ void Handle_FillStrokePath(); |
+ void Handle_CloseEOFillStrokePath(); |
+ void Handle_EOFillStrokePath(); |
+ void Handle_BeginMarkedContent_Dictionary(); |
+ void Handle_BeginImage(); |
+ void Handle_BeginMarkedContent(); |
+ void Handle_BeginText(); |
+ void Handle_BeginSectionUndefined(); |
+ void Handle_CurveTo_123(); |
+ void Handle_ConcatMatrix(); |
+ void Handle_SetColorSpace_Fill(); |
+ void Handle_SetColorSpace_Stroke(); |
+ void Handle_SetDash(); |
+ void Handle_SetCharWidth(); |
+ void Handle_SetCachedDevice(); |
+ void Handle_ExecuteXObject(); |
+ void Handle_MarkPlace_Dictionary(); |
+ void Handle_EndImage(); |
+ void Handle_EndMarkedContent(); |
+ void Handle_EndText(); |
+ void Handle_EndSectionUndefined(); |
+ void Handle_FillPath(); |
+ void Handle_FillPathOld(); |
+ void Handle_EOFillPath(); |
+ void Handle_SetGray_Fill(); |
+ void Handle_SetGray_Stroke(); |
+ void Handle_SetExtendGraphState(); |
+ void Handle_ClosePath(); |
+ void Handle_SetFlat(); |
+ void Handle_BeginImageData(); |
+ void Handle_SetLineJoin(); |
+ void Handle_SetLineCap(); |
+ void Handle_SetCMYKColor_Fill(); |
+ void Handle_SetCMYKColor_Stroke(); |
+ void Handle_LineTo(); |
+ void Handle_MoveTo(); |
+ void Handle_SetMiterLimit(); |
+ void Handle_MarkPlace(); |
+ void Handle_EndPath(); |
+ void Handle_SaveGraphState(); |
+ void Handle_RestoreGraphState(); |
+ void Handle_Rectangle(); |
+ void Handle_SetRGBColor_Fill(); |
+ void Handle_SetRGBColor_Stroke(); |
+ void Handle_SetRenderIntent(); |
+ void Handle_CloseStrokePath(); |
+ void Handle_StrokePath(); |
+ void Handle_SetColor_Fill(); |
+ void Handle_SetColor_Stroke(); |
+ void Handle_SetColorPS_Fill(); |
+ void Handle_SetColorPS_Stroke(); |
+ void Handle_ShadeFill(); |
+ void Handle_SetCharSpace(); |
+ void Handle_MoveTextPoint(); |
+ void Handle_MoveTextPoint_SetLeading(); |
+ void Handle_SetFont(); |
+ void Handle_ShowText(); |
+ void Handle_ShowText_Positioning(); |
+ void Handle_SetTextLeading(); |
+ void Handle_SetTextMatrix(); |
+ void Handle_SetTextRenderMode(); |
+ void Handle_SetTextRise(); |
+ void Handle_SetWordSpace(); |
+ void Handle_SetHorzScale(); |
+ void Handle_MoveToNextLine(); |
+ void Handle_CurveTo_23(); |
+ void Handle_SetLineWidth(); |
+ void Handle_Clip(); |
+ void Handle_EOClip(); |
+ void Handle_CurveTo_13(); |
+ void Handle_NextLineShowText(); |
+ void Handle_NextLineShowText_Space(); |
+ void Handle_Invalid(); |
}; |
-class CPDF_ContentParser : public CFX_Object |
-{ |
-public: |
- CPDF_ContentParser(); |
- ~CPDF_ContentParser(); |
- typedef enum { Ready, ToBeContinued, Done } ParseStatus; |
- ParseStatus GetStatus() |
- { |
- return m_Status; |
- } |
- void Start(CPDF_Page* pPage, CPDF_ParseOptions* pOptions); |
- void Start(CPDF_Form* pForm, CPDF_AllStates* pGraphicStates, CFX_AffineMatrix* pParentMatrix, |
- CPDF_Type3Char* pType3Char, CPDF_ParseOptions* pOptions, int level); |
- void Continue(IFX_Pause* pPause); |
- int EstimateProgress(); |
-protected: |
- void Clear(); |
- ParseStatus m_Status; |
- CPDF_PageObjects* m_pObjects; |
- FX_BOOL m_bForm; |
- CPDF_ParseOptions m_Options; |
- CPDF_Type3Char* m_pType3Char; |
- int m_InternalStage; |
- CPDF_StreamAcc* m_pSingleStream; |
- CPDF_StreamAcc** m_pStreamArray; |
- FX_DWORD m_nStreams; |
- FX_LPBYTE m_pData; |
- FX_DWORD m_Size; |
- class CPDF_StreamContentParser* m_pParser; |
- FX_DWORD m_CurrentOffset; |
- CPDF_StreamFilter* m_pStreamFilter; |
+class CPDF_ContentParser : public CFX_Object { |
+ public: |
+ CPDF_ContentParser(); |
+ ~CPDF_ContentParser(); |
+ typedef enum { Ready, ToBeContinued, Done } ParseStatus; |
+ ParseStatus GetStatus() { return m_Status; } |
+ void Start(CPDF_Page* pPage, CPDF_ParseOptions* pOptions); |
+ void Start(CPDF_Form* pForm, |
+ CPDF_AllStates* pGraphicStates, |
+ CFX_AffineMatrix* pParentMatrix, |
+ CPDF_Type3Char* pType3Char, |
+ CPDF_ParseOptions* pOptions, |
+ int level); |
+ void Continue(IFX_Pause* pPause); |
+ int EstimateProgress(); |
+ |
+ protected: |
+ void Clear(); |
+ ParseStatus m_Status; |
+ CPDF_PageObjects* m_pObjects; |
+ FX_BOOL m_bForm; |
+ CPDF_ParseOptions m_Options; |
+ CPDF_Type3Char* m_pType3Char; |
+ int m_InternalStage; |
+ CPDF_StreamAcc* m_pSingleStream; |
+ CPDF_StreamAcc** m_pStreamArray; |
+ FX_DWORD m_nStreams; |
+ FX_LPBYTE m_pData; |
+ FX_DWORD m_Size; |
+ class CPDF_StreamContentParser* m_pParser; |
+ FX_DWORD m_CurrentOffset; |
+ CPDF_StreamFilter* m_pStreamFilter; |
}; |
-class CPDF_AllStates : public CPDF_GraphicStates |
-{ |
-public: |
- CPDF_AllStates(); |
- ~CPDF_AllStates(); |
- void Copy(const CPDF_AllStates& src); |
- void ProcessExtGS(CPDF_Dictionary* pGS, CPDF_StreamContentParser* pParser); |
- void SetLineDash(CPDF_Array*, FX_FLOAT, FX_FLOAT scale); |
- CFX_AffineMatrix m_TextMatrix, m_CTM, m_ParentMatrix; |
- FX_FLOAT m_TextX, m_TextY, m_TextLineX, m_TextLineY; |
- FX_FLOAT m_TextLeading, m_TextRise, m_TextHorzScale; |
+class CPDF_AllStates : public CPDF_GraphicStates { |
+ public: |
+ CPDF_AllStates(); |
+ ~CPDF_AllStates(); |
+ void Copy(const CPDF_AllStates& src); |
+ void ProcessExtGS(CPDF_Dictionary* pGS, CPDF_StreamContentParser* pParser); |
+ void SetLineDash(CPDF_Array*, FX_FLOAT, FX_FLOAT scale); |
+ CFX_AffineMatrix m_TextMatrix, m_CTM, m_ParentMatrix; |
+ FX_FLOAT m_TextX, m_TextY, m_TextLineX, m_TextLineY; |
+ FX_FLOAT m_TextLeading, m_TextRise, m_TextHorzScale; |
}; |
-template <class ObjClass> class CPDF_CountedObject : public CFX_Object |
-{ |
-public: |
- ObjClass m_Obj; |
- FX_DWORD m_nCount; |
+template <class ObjClass> |
+class CPDF_CountedObject : public CFX_Object { |
+ public: |
+ ObjClass m_Obj; |
+ FX_DWORD m_nCount; |
}; |
-typedef CFX_MapPtrTemplate<CPDF_Dictionary*, CPDF_CountedObject<CPDF_Font*>*> CPDF_FontMap; |
-typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_ColorSpace*>*> CPDF_ColorSpaceMap; |
-typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_Pattern*>*> CPDF_PatternMap; |
-typedef CFX_MapPtrTemplate<FX_DWORD, CPDF_CountedObject<CPDF_Image*>*> CPDF_ImageMap; |
-typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedObject<CPDF_IccProfile*>*> CPDF_IccProfileMap; |
-typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedObject<CPDF_StreamAcc*>*> CPDF_FontFileMap; |
+typedef CFX_MapPtrTemplate<CPDF_Dictionary*, CPDF_CountedObject<CPDF_Font*>*> |
+ CPDF_FontMap; |
+typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_ColorSpace*>*> |
+ CPDF_ColorSpaceMap; |
+typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_Pattern*>*> |
+ CPDF_PatternMap; |
+typedef CFX_MapPtrTemplate<FX_DWORD, CPDF_CountedObject<CPDF_Image*>*> |
+ CPDF_ImageMap; |
+typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedObject<CPDF_IccProfile*>*> |
+ CPDF_IccProfileMap; |
+typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedObject<CPDF_StreamAcc*>*> |
+ CPDF_FontFileMap; |
template <class KeyType, class ValueType> |
-KeyType PDF_DocPageData_FindValue(const CFX_MapPtrTemplate<KeyType, CPDF_CountedObject<ValueType>*> &map, ValueType findValue, CPDF_CountedObject<ValueType>*& findData) |
-{ |
- FX_POSITION pos = map.GetStartPosition(); |
- while (pos) { |
- KeyType findKey; |
- map.GetNextAssoc(pos, findKey, findData); |
- if (findData->m_Obj == findValue) { |
- return findKey; |
- } |
+KeyType PDF_DocPageData_FindValue( |
+ const CFX_MapPtrTemplate<KeyType, CPDF_CountedObject<ValueType>*>& map, |
+ ValueType findValue, |
+ CPDF_CountedObject<ValueType>*& findData) { |
+ FX_POSITION pos = map.GetStartPosition(); |
+ while (pos) { |
+ KeyType findKey; |
+ map.GetNextAssoc(pos, findKey, findData); |
+ if (findData->m_Obj == findValue) { |
+ return findKey; |
} |
- findData = NULL; |
- return (KeyType)(FX_UINTPTR)NULL; |
+ } |
+ findData = NULL; |
+ return (KeyType)(FX_UINTPTR) NULL; |
} |
template <class KeyType, class ValueType> |
-FX_BOOL PDF_DocPageData_Release(CFX_MapPtrTemplate<KeyType, CPDF_CountedObject<ValueType>*> &map, KeyType findKey, ValueType findValue, FX_BOOL bForce = FALSE) |
-{ |
- if (!findKey && !findValue) { |
- return FALSE; |
- } |
- CPDF_CountedObject<ValueType>* findData = NULL; |
- if (!findKey) { |
- findKey = PDF_DocPageData_FindValue<KeyType, ValueType>(map, findValue, findData); |
- } else if (!map.Lookup(findKey, findData)) { |
- return FALSE; |
- } |
- if (findData && ((-- findData->m_nCount) == 0 || bForce)) { |
- delete findData->m_Obj; |
- delete findData; |
- map.RemoveKey(findKey); |
- return TRUE; |
- } |
+FX_BOOL PDF_DocPageData_Release( |
+ CFX_MapPtrTemplate<KeyType, CPDF_CountedObject<ValueType>*>& map, |
+ KeyType findKey, |
+ ValueType findValue, |
+ FX_BOOL bForce = FALSE) { |
+ if (!findKey && !findValue) { |
return FALSE; |
+ } |
+ CPDF_CountedObject<ValueType>* findData = NULL; |
+ if (!findKey) { |
+ findKey = |
+ PDF_DocPageData_FindValue<KeyType, ValueType>(map, findValue, findData); |
+ } else if (!map.Lookup(findKey, findData)) { |
+ return FALSE; |
+ } |
+ if (findData && ((--findData->m_nCount) == 0 || bForce)) { |
+ delete findData->m_Obj; |
+ delete findData; |
+ map.RemoveKey(findKey); |
+ return TRUE; |
+ } |
+ return FALSE; |
} |
-class CPDF_DocPageData : public CFX_Object |
-{ |
-public: |
- CPDF_DocPageData(CPDF_Document *pPDFDoc); |
- ~CPDF_DocPageData(); |
- void Clear(FX_BOOL bRelease = FALSE); |
- CPDF_Font* GetFont(CPDF_Dictionary* pFontDict, FX_BOOL findOnly); |
- CPDF_Font* GetStandardFont(FX_BSTR fontName, CPDF_FontEncoding* pEncoding); |
- void ReleaseFont(CPDF_Dictionary* pFontDict); |
- CPDF_ColorSpace* GetColorSpace(CPDF_Object* pCSObj, CPDF_Dictionary* pResources); |
- CPDF_ColorSpace* GetCopiedColorSpace(CPDF_Object* pCSObj); |
- void ReleaseColorSpace(CPDF_Object* pColorSpace); |
- CPDF_Pattern* GetPattern(CPDF_Object* pPatternObj, FX_BOOL bShading, const CFX_AffineMatrix* matrix); |
- void ReleasePattern(CPDF_Object* pPatternObj); |
- CPDF_Image* GetImage(CPDF_Object* pImageStream); |
- void ReleaseImage(CPDF_Object* pImageStream); |
- CPDF_IccProfile* GetIccProfile(CPDF_Stream* pIccProfileStream, FX_INT32 nComponents); |
- void ReleaseIccProfile(CPDF_Stream* pIccProfileStream, CPDF_IccProfile* pIccProfile); |
- CPDF_StreamAcc* GetFontFileStreamAcc(CPDF_Stream* pFontStream); |
- void ReleaseFontFileStreamAcc(CPDF_Stream* pFontStream, FX_BOOL bForce = FALSE); |
- CPDF_Document* m_pPDFDoc; |
- CPDF_FontMap m_FontMap; |
- CPDF_ColorSpaceMap m_ColorSpaceMap; |
- CPDF_PatternMap m_PatternMap; |
- CPDF_ImageMap m_ImageMap; |
- CPDF_IccProfileMap m_IccProfileMap; |
- CFX_MapByteStringToPtr m_HashProfileMap; |
- CPDF_FontFileMap m_FontFileMap; |
+class CPDF_DocPageData : public CFX_Object { |
+ public: |
+ CPDF_DocPageData(CPDF_Document* pPDFDoc); |
+ ~CPDF_DocPageData(); |
+ void Clear(FX_BOOL bRelease = FALSE); |
+ CPDF_Font* GetFont(CPDF_Dictionary* pFontDict, FX_BOOL findOnly); |
+ CPDF_Font* GetStandardFont(FX_BSTR fontName, CPDF_FontEncoding* pEncoding); |
+ void ReleaseFont(CPDF_Dictionary* pFontDict); |
+ CPDF_ColorSpace* GetColorSpace(CPDF_Object* pCSObj, |
+ CPDF_Dictionary* pResources); |
+ CPDF_ColorSpace* GetCopiedColorSpace(CPDF_Object* pCSObj); |
+ void ReleaseColorSpace(CPDF_Object* pColorSpace); |
+ CPDF_Pattern* GetPattern(CPDF_Object* pPatternObj, |
+ FX_BOOL bShading, |
+ const CFX_AffineMatrix* matrix); |
+ void ReleasePattern(CPDF_Object* pPatternObj); |
+ CPDF_Image* GetImage(CPDF_Object* pImageStream); |
+ void ReleaseImage(CPDF_Object* pImageStream); |
+ CPDF_IccProfile* GetIccProfile(CPDF_Stream* pIccProfileStream, |
+ FX_INT32 nComponents); |
+ void ReleaseIccProfile(CPDF_Stream* pIccProfileStream, |
+ CPDF_IccProfile* pIccProfile); |
+ CPDF_StreamAcc* GetFontFileStreamAcc(CPDF_Stream* pFontStream); |
+ void ReleaseFontFileStreamAcc(CPDF_Stream* pFontStream, |
+ FX_BOOL bForce = FALSE); |
+ CPDF_Document* m_pPDFDoc; |
+ CPDF_FontMap m_FontMap; |
+ CPDF_ColorSpaceMap m_ColorSpaceMap; |
+ CPDF_PatternMap m_PatternMap; |
+ CPDF_ImageMap m_ImageMap; |
+ CPDF_IccProfileMap m_IccProfileMap; |
+ CFX_MapByteStringToPtr m_HashProfileMap; |
+ CPDF_FontFileMap m_FontFileMap; |
}; |
-class CPDF_Function : public CFX_Object |
-{ |
-public: |
- static CPDF_Function* Load(CPDF_Object* pFuncObj); |
- virtual ~CPDF_Function(); |
- FX_BOOL Call(FX_FLOAT* inputs, int ninputs, FX_FLOAT* results, int& nresults) const; |
- int CountInputs() |
- { |
- return m_nInputs; |
- } |
- int CountOutputs() |
- { |
- return m_nOutputs; |
- } |
-protected: |
- CPDF_Function(); |
- int m_nInputs, m_nOutputs; |
- FX_FLOAT* m_pDomains; |
- FX_FLOAT* m_pRanges; |
- FX_BOOL Init(CPDF_Object* pObj); |
- virtual FX_BOOL v_Init(CPDF_Object* pObj) = 0; |
- virtual FX_BOOL v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const = 0; |
+class CPDF_Function : public CFX_Object { |
+ public: |
+ static CPDF_Function* Load(CPDF_Object* pFuncObj); |
+ virtual ~CPDF_Function(); |
+ FX_BOOL Call(FX_FLOAT* inputs, |
+ int ninputs, |
+ FX_FLOAT* results, |
+ int& nresults) const; |
+ int CountInputs() { return m_nInputs; } |
+ int CountOutputs() { return m_nOutputs; } |
+ |
+ protected: |
+ CPDF_Function(); |
+ int m_nInputs, m_nOutputs; |
+ FX_FLOAT* m_pDomains; |
+ FX_FLOAT* m_pRanges; |
+ FX_BOOL Init(CPDF_Object* pObj); |
+ virtual FX_BOOL v_Init(CPDF_Object* pObj) = 0; |
+ virtual FX_BOOL v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const = 0; |
}; |
-class CPDF_IccProfile : public CFX_Object |
-{ |
-public: |
- CPDF_IccProfile(FX_LPCBYTE pData, FX_DWORD dwSize, int nComponents); |
- ~CPDF_IccProfile(); |
- FX_BOOL m_bsRGB; |
- FX_LPVOID m_pTransform; |
+class CPDF_IccProfile : public CFX_Object { |
+ public: |
+ CPDF_IccProfile(FX_LPCBYTE pData, FX_DWORD dwSize, int nComponents); |
+ ~CPDF_IccProfile(); |
+ FX_BOOL m_bsRGB; |
+ FX_LPVOID m_pTransform; |
}; |
-class CPDF_DeviceCS : public CPDF_ColorSpace |
-{ |
-public: |
- CPDF_DeviceCS(int family); |
- virtual FX_BOOL GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, FX_FLOAT& B) const; |
- FX_BOOL SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_FLOAT B) const; |
- FX_BOOL v_GetCMYK(FX_FLOAT* pBuf, FX_FLOAT& c, FX_FLOAT& m, FX_FLOAT& y, FX_FLOAT& k) const; |
- FX_BOOL v_SetCMYK(FX_FLOAT* pBuf, FX_FLOAT c, FX_FLOAT m, FX_FLOAT y, FX_FLOAT k) const; |
- virtual void TranslateImageLine(FX_LPBYTE pDestBuf, FX_LPCBYTE pSrcBuf, int pixels, int image_width, int image_height, FX_BOOL bTransMask = FALSE) const; |
+class CPDF_DeviceCS : public CPDF_ColorSpace { |
+ public: |
+ CPDF_DeviceCS(int family); |
+ virtual FX_BOOL GetRGB(FX_FLOAT* pBuf, |
+ FX_FLOAT& R, |
+ FX_FLOAT& G, |
+ FX_FLOAT& B) const; |
+ FX_BOOL SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_FLOAT B) const; |
+ FX_BOOL v_GetCMYK(FX_FLOAT* pBuf, |
+ FX_FLOAT& c, |
+ FX_FLOAT& m, |
+ FX_FLOAT& y, |
+ FX_FLOAT& k) const; |
+ FX_BOOL v_SetCMYK(FX_FLOAT* pBuf, |
+ FX_FLOAT c, |
+ FX_FLOAT m, |
+ FX_FLOAT y, |
+ FX_FLOAT k) const; |
+ virtual void TranslateImageLine(FX_LPBYTE pDestBuf, |
+ FX_LPCBYTE pSrcBuf, |
+ int pixels, |
+ int image_width, |
+ int image_height, |
+ FX_BOOL bTransMask = FALSE) const; |
}; |
-class CPDF_PatternCS : public CPDF_ColorSpace |
-{ |
-public: |
- CPDF_PatternCS(); |
- ~CPDF_PatternCS(); |
- virtual FX_BOOL v_Load(CPDF_Document* pDoc, CPDF_Array* pArray); |
- virtual FX_BOOL GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, FX_FLOAT& B) const; |
- virtual CPDF_ColorSpace* GetBaseCS() const |
- { |
- return m_pBaseCS; |
- } |
- CPDF_ColorSpace* m_pBaseCS; |
+class CPDF_PatternCS : public CPDF_ColorSpace { |
+ public: |
+ CPDF_PatternCS(); |
+ ~CPDF_PatternCS(); |
+ virtual FX_BOOL v_Load(CPDF_Document* pDoc, CPDF_Array* pArray); |
+ virtual FX_BOOL GetRGB(FX_FLOAT* pBuf, |
+ FX_FLOAT& R, |
+ FX_FLOAT& G, |
+ FX_FLOAT& B) const; |
+ virtual CPDF_ColorSpace* GetBaseCS() const { return m_pBaseCS; } |
+ CPDF_ColorSpace* m_pBaseCS; |
}; |
-#define MAX_PAGE_OBJECTS_UNIFY_NAMING 4096 |
-class CPDF_ResourceNaming : public CFX_Object |
-{ |
-public: |
- struct _NamingState : public CFX_Object { |
- CFX_ByteString m_Prefix; |
- int m_nIndex; |
- }; |
- ~CPDF_ResourceNaming(); |
- CFX_ByteString GetName(const CPDF_Dictionary* pResList, FX_LPCSTR szType); |
-protected: |
- CFX_MapByteStringToPtr m_NamingCache; |
+#define MAX_PAGE_OBJECTS_UNIFY_NAMING 4096 |
+class CPDF_ResourceNaming : public CFX_Object { |
+ public: |
+ struct _NamingState : public CFX_Object { |
+ CFX_ByteString m_Prefix; |
+ int m_nIndex; |
+ }; |
+ ~CPDF_ResourceNaming(); |
+ CFX_ByteString GetName(const CPDF_Dictionary* pResList, FX_LPCSTR szType); |
+ |
+ protected: |
+ CFX_MapByteStringToPtr m_NamingCache; |
}; |