1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
// 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
#ifndef _FPDFSDK_DEFINE_H
#define _FPDFSDK_DEFINE_H
#ifdef _WIN32
#include <tchar.h>
#include <math.h>
#endif
//#define API5
#define API6
#define _FPDFAPI_ASYNC_PARSING_
#define _FXSDK_OPENSOURCE_
#ifdef _FPDFEMB_WCE_
#include "../../core/include/fpdfapi/fpdfapi.h"
#include "../../core/include/fpdfapi/fpdf_parser.h"
#include "../../core/include/fpdfapi/fpdf_module.h"
#include "../../core/include/fpdfapi/fpdf_render.h"
#include "../../core/include/fpdfapi/fpdf_pageobj.h"
#include "../../core/include/fpdfapi/fpdf_serial.h"
#include "../../core/include/fpdftext/fpdf_text.h"
#include "../../core/include/fxge/fx_ge_win32.h"
#include "../../core/include/fxge/fx_ge.h"
#include "../../core/include/fxcodec/fx_codec.h"
#include "../../core/include/fpdfdoc/fpdf_doc.h"
#include "../../core/include/fpdfdoc/fpdf_vt.h"
#include "../../core/include/fxcrt/fx_xml.h"
#include "../../core/include/fxcrt/fx_crypt.h"
#else
#ifdef API6
#include "../../core/include/fpdfapi/fpdf_parser.h"
#include "../../core/include/fpdfapi/fpdfapi.h"
#include "../../core/include/fpdfapi/fpdf_parser.h"
#include "../../core/include/fpdfapi/fpdf_module.h"
#include "../../core/include/fpdfapi/fpdf_render.h"
#include "../../core/include/fpdfapi/fpdf_pageobj.h"
#include "../../core/include/fpdfapi/fpdf_serial.h"
#include "../../core/include/fpdftext/fpdf_text.h"
#include "../../core/include/fxge/fx_ge_win32.h"
#include "../../core/include/fxge/fx_ge.h"
#include "../../core/include/fxcodec/fx_codec.h"
#include "../../core/include/fpdfdoc/fpdf_doc.h"
#include "../../core/include/fpdfdoc/fpdf_vt.h"
#include "../../core/include/fxcrt/fx_xml.h"
#include "../../xfa/include/fxbarcode/BC_BarCode.h"
#include "../../xfa/include/fxjse/fxjse.h"
#include "../../xfa/include/fxgraphics/fx_graphics.h"
#include "../../xfa/include/fxfa/fxfa.h"
#include "../../xfa/include/fwl/core/fwl_error.h"
#include "../../xfa/include/fwl/core/fwl_timer.h"
#include "../../xfa/include/fwl/adapter/fwl_adaptertimermgr.h"
#ifdef _LICENSED_BUILD_
#include "../../cryptopp/Cryptlib.h"
#endif
#endif
#endif
#ifndef FX_GetAValue
/** @brief It retrieves an intensity value for the alpha component of a #FX_ARGB value. */
#define FX_GetAValue(argb) ((argb & 0xFF000000) >> 24)
#endif
#ifndef FX_GetRValue
/** @brief It retrieves an intensity value for the red component of a #FX_ARGB value. */
#define FX_GetRValue(argb) ((argb & 0x00FF0000) >> 16)
#endif
#ifndef FX_GetGValue
/** @brief It retrieves an intensity value for the green component of a #FX_ARGB value. */
#define FX_GetGValue(argb) ((argb & 0x0000FF00) >> 8)
#endif
#ifndef FX_GetBValue
/** @brief It retrieves an intensity value for the blue component of a #FX_ARGB value. */
#define FX_GetBValue(argb) (argb & 0x000000FF)
#endif
#ifndef FX_ARGBTOCOLORREF
/** @brief Convert a #FX_ARGB to a #FX_COLORREF. */
#define FX_ARGBTOCOLORREF(argb) ((((FX_DWORD)argb & 0x00FF0000) >> 16)|((FX_DWORD)argb & 0x0000FF00)|(((FX_DWORD)argb & 0x000000FF) << 16))
#endif
#ifndef FX_COLORREFTOARGB
/** @brief Convert a #FX_COLORREF to a #FX_ARGB. */
#define FX_COLORREFTOARGB(rgb) ((FX_DWORD)0xFF000000|(((FX_DWORD)rgb & 0x000000FF) << 16)|((FX_DWORD)rgb & 0x0000FF00)|(((FX_DWORD)rgb & 0x00FF0000) >> 16))
#endif
typedef unsigned int FX_UINT;
#include "fpdfview.h"
class CPDF_CustomAccess FX_FINAL : public IFX_FileRead, public CFX_Object
{
public:
CPDF_CustomAccess(FPDF_FILEACCESS* pFileAccess);
~CPDF_CustomAccess() {}
virtual CFX_ByteString GetFullPath() { return ""; }
virtual FX_FILESIZE GetSize() FX_OVERRIDE { return m_FileAccess.m_FileLen; }
virtual FX_BOOL GetByte(FX_DWORD pos, FX_BYTE& ch);
virtual FX_BOOL GetBlock(FX_DWORD pos, FX_LPBYTE pBuf, FX_DWORD size);
virtual void Release() FX_OVERRIDE { delete this; }
virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) FX_OVERRIDE;
FPDF_FILEACCESS m_FileAccess;
FX_BYTE m_Buffer[512];
FX_DWORD m_BufferOffset;
};
class CFPDF_FileStream : public IFX_FileStream, public CFX_Object
{
public:
CFPDF_FileStream(FPDF_FILEHANDLER* pFS);
virtual ~CFPDF_FileStream() {}
virtual IFX_FileStream* Retain();
virtual void Release();
virtual FX_FILESIZE GetSize();
virtual FX_BOOL IsEOF();
virtual FX_FILESIZE GetPosition() {return m_nCurPos;}
virtual void SetPosition(FX_FILESIZE pos) {m_nCurPos = pos; }
virtual FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size);
virtual size_t ReadBlock(void* buffer, size_t size);
virtual FX_BOOL WriteBlock(const void* buffer, FX_FILESIZE offset, size_t size);
virtual FX_BOOL Flush();
protected:
FPDF_FILEHANDLER* m_pFS;
FX_FILESIZE m_nCurPos;
};
void FSDK_SetSandBoxPolicy(FPDF_DWORD policy, FPDF_BOOL enable);
FPDF_BOOL FSDK_IsSandBoxPolicyEnabled(FPDF_DWORD policy);
#endif//_FPDFSDK_DEFINE_H
|