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