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