Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fgas / include / fx_sys.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _FX_SYSTEM\r
8 #define _FX_SYSTEM\r
9 #ifdef __cplusplus\r
10 extern "C" {\r
11 #endif\r
12 #define FX_RAD2DEG(r)           ((r) * 180.0f / FX_PI)\r
13 #define FX_DEG2RAD(a)           ((a) * FX_PI / 180.0f)\r
14 typedef FX_INT8 *                       FX_LPINT8;\r
15 typedef FX_INT8 const *         FX_LPCINT8;\r
16 typedef FX_INT32 *                      FX_LPINT32;\r
17 typedef FX_INT32 const *        FX_LPCINT32;\r
18 typedef long                            FX_LONG;\r
19 typedef FX_LONG *                       FX_LPLONG;\r
20 typedef FX_LONG const *         FX_LPCLONG;\r
21 typedef FX_FLOAT const *        FX_LPCFLOAT;\r
22 typedef double                          FX_DOUBLE;\r
23 typedef FX_DOUBLE *                     FX_LPDOUBLE;\r
24 typedef FX_DOUBLE const *       FX_LPCDOUBLE;\r
25 FX_FLOAT        FX_tan(FX_FLOAT a);\r
26 FX_FLOAT        FX_log(FX_FLOAT b, FX_FLOAT x);\r
27 FX_FLOAT        FX_strtof(FX_LPCSTR pcsStr, FX_INT32 iLength = -1, FX_INT32 *pUsedLen = NULL);\r
28 FX_FLOAT        FX_wcstof(FX_LPCWSTR pwsStr, FX_INT32 iLength = -1, FX_INT32 *pUsedLen = NULL);\r
29 FX_LPWSTR       FX_wcsncpy(FX_LPWSTR dstStr, FX_LPCWSTR srcStr, size_t count);\r
30 FX_INT32        FX_wcsnicmp(FX_LPCWSTR s1, FX_LPCWSTR s2, size_t count);\r
31 FX_INT32        FX_strnicmp(FX_LPCSTR s1, FX_LPCSTR s2, size_t count);\r
32 inline FX_BOOL  FX_islower(FX_INT32 ch)\r
33 {\r
34     return ch >= 'a' && ch <= 'z';\r
35 }\r
36 inline FX_BOOL  FX_isupper(FX_INT32 ch)\r
37 {\r
38     return ch >= 'A' && ch <= 'Z';\r
39 }\r
40 inline FX_INT32 FX_tolower(FX_INT32 ch)\r
41 {\r
42     return FX_isupper(ch) ? (ch + 0x20) : ch;\r
43 }\r
44 inline FX_INT32 FX_toupper(FX_INT32 ch)\r
45 {\r
46     return FX_islower(ch) ? (ch - 0x20) : ch;\r
47 }\r
48 FX_INT32        FX_filelength(FXSYS_FILE *file);\r
49 FX_BOOL         FX_fsetsize(FXSYS_FILE *file, FX_INT32 size);\r
50 void            FX_memset(FX_LPVOID pBuf, FX_INT32 iValue, size_t size);\r
51 void            FX_memcpy(FX_LPVOID pDst, FX_LPCVOID pSrc, size_t size);\r
52 FX_BOOL         FX_IsRelativePath(const CFX_WideStringC &wsPath);\r
53 FX_BOOL         FX_JoinPath(const CFX_WideStringC &wsBasePath, const CFX_WideStringC &wsRelativePath, CFX_WideString &wsAbsolutePath);\r
54 typedef struct _FX_VERSION {\r
55     FX_DWORD    dwMajorVersion;\r
56     FX_DWORD    dwMinorVersion;\r
57     FX_DWORD    dwBuildVersion;\r
58 } FX_VERSION, * FX_LPVERSION;\r
59 typedef FX_VERSION const * FX_LPCVERSION;\r
60 #ifdef __cplusplus\r
61 };\r
62 #endif\r
63 #endif\r