• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef _FPDFSDK_DEFINE_H
8 #define _FPDFSDK_DEFINE_H
9 
10 #ifdef _WIN32
11 #include <tchar.h>
12 #include <math.h>
13 #endif
14 
15 //#define API5
16 #define API6
17 #define  _FPDFAPI_ASYNC_PARSING_
18 #define _FXSDK_OPENSOURCE_
19 
20 #ifdef _FPDFEMB_WCE_
21 	#include "../../core/include/fpdfapi/fpdfapi.h"
22 	#include "../../core/include/fpdfapi/fpdf_parser.h"
23 	#include "../../core/include/fpdfapi/fpdf_module.h"
24 	#include "../../core/include/fpdfapi/fpdf_render.h"
25 	#include "../../core/include/fpdfapi/fpdf_pageobj.h"
26 	#include "../../core/include/fpdfapi/fpdf_serial.h"
27 
28 	#include "../../core/include/fpdftext/fpdf_text.h"
29 
30 	#include "../../core/include/fxge/fx_ge_win32.h"
31 	#include "../../core/include/fxge/fx_ge.h"
32 
33 	#include "../../core/include/fxcodec/fx_codec.h"
34 
35 	#include "../../core/include/fpdfdoc/fpdf_doc.h"
36 	#include "../../core/include/fpdfdoc/fpdf_vt.h"
37 
38 	#include "../../core/include/fxcrt/fx_xml.h"
39 	#include "../../core/include/fxcrt/fx_crypt.h"
40 
41 #else
42 	#ifdef API6
43 		#include "../../core/include/fpdfapi/fpdf_parser.h"
44 		#include "../../core/include/fpdfapi/fpdfapi.h"
45 		#include "../../core/include/fpdfapi/fpdf_parser.h"
46 		#include "../../core/include/fpdfapi/fpdf_module.h"
47 		#include "../../core/include/fpdfapi/fpdf_render.h"
48 		#include "../../core/include/fpdfapi/fpdf_pageobj.h"
49 		#include "../../core/include/fpdfapi/fpdf_serial.h"
50 
51 		#include "../../core/include/fpdftext/fpdf_text.h"
52 
53 		#include "../../core/include/fxge/fx_ge_win32.h"
54 		#include "../../core/include/fxge/fx_ge.h"
55 
56 		#include "../../core/include/fxcodec/fx_codec.h"
57 
58 		#include "../../core/include/fpdfdoc/fpdf_doc.h"
59 		#include "../../core/include/fpdfdoc/fpdf_vt.h"
60 
61 		#include "../../core/include/fxcrt/fx_xml.h"
62 	//	#include "../../core/include/fdrm/fx_crypt.h"
63 		#ifdef _LICENSED_BUILD_
64 			#include "../../cryptopp/Cryptlib.h"
65 		#endif
66 	#endif
67 #endif
68 
69 
70 #ifndef FX_GetAValue
71 /** @brief It retrieves an intensity value for the alpha component of a #FX_ARGB value. */
72 #define FX_GetAValue(argb)			((argb & 0xFF000000) >> 24)
73 #endif
74 
75 #ifndef FX_GetRValue
76 /** @brief It retrieves an intensity value for the red component of a #FX_ARGB value. */
77 #define FX_GetRValue(argb)			((argb & 0x00FF0000) >> 16)
78 #endif
79 
80 #ifndef FX_GetGValue
81 /** @brief It retrieves an intensity value for the green component of a #FX_ARGB value. */
82 #define FX_GetGValue(argb)			((argb & 0x0000FF00) >> 8)
83 #endif
84 
85 #ifndef FX_GetBValue
86 /** @brief It retrieves an intensity value for the blue component of a #FX_ARGB value. */
87 #define FX_GetBValue(argb)			(argb & 0x000000FF)
88 #endif
89 
90 #ifndef FX_ARGBTOCOLORREF
91 /** @brief Convert a #FX_ARGB to a #FX_COLORREF. */
92 #define FX_ARGBTOCOLORREF(argb)		((((FX_DWORD)argb & 0x00FF0000) >> 16)|((FX_DWORD)argb & 0x0000FF00)|(((FX_DWORD)argb & 0x000000FF) << 16))
93 #endif
94 
95 #ifndef FX_COLORREFTOARGB
96 /** @brief Convert a #FX_COLORREF to a #FX_ARGB. */
97 #define FX_COLORREFTOARGB(rgb)		((FX_DWORD)0xFF000000|(((FX_DWORD)rgb & 0x000000FF) << 16)|((FX_DWORD)rgb & 0x0000FF00)|(((FX_DWORD)rgb & 0x00FF0000) >> 16))
98 #endif
99 
100 typedef unsigned int FX_UINT;
101 
102 #include "fpdfview.h"
103 
104 class CPDF_CustomAccess : public IFX_FileRead, public CFX_Object
105 {
106 public:
107 	CPDF_CustomAccess(FPDF_FILEACCESS* pFileAccess);
~CPDF_CustomAccess()108 	~CPDF_CustomAccess() {}
109 
GetFullPath()110 	virtual CFX_ByteString GetFullPath() { return ""; }
GetSize()111 	virtual FX_FILESIZE	GetSize() { return m_FileAccess.m_FileLen; }
112 
113 	virtual FX_BOOL		GetByte(FX_DWORD pos, FX_BYTE& ch);
114 	virtual FX_BOOL		GetBlock(FX_DWORD pos, FX_LPBYTE pBuf, FX_DWORD size);
Release()115 	virtual void		Release() { delete this; }
116 
117 	virtual FX_BOOL		ReadBlock(void* buffer, FX_FILESIZE offset, size_t size);
118 
119 	FPDF_FILEACCESS		m_FileAccess;
120 	FX_BYTE				m_Buffer[512];
121 	FX_DWORD			m_BufferOffset;
122 };
123 
124 void		FSDK_SetSandBoxPolicy(FPDF_DWORD policy, FPDF_BOOL enable);
125 FPDF_BOOL	FSDK_IsSandBoxPolicyEnabled(FPDF_DWORD policy);
126 
127 
128 #endif//_FPDFSDK_DEFINE_H
129