blob: f2fe2157c66028c275fd4cb9e1e33a86715805e9 [file] [log] [blame]
// 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 _FX_SYSTEM
#define _FX_SYSTEM
#ifdef __cplusplus
extern "C" {
#endif
#define FX_RAD2DEG(r) ((r)*180.0f / FX_PI)
#define FX_DEG2RAD(a) ((a)*FX_PI / 180.0f)
typedef int8_t* FX_LPINT8;
typedef int8_t const* FX_LPCINT8;
typedef int32_t* FX_LPINT32;
typedef int32_t const* FX_LPCINT32;
typedef long FX_LONG;
typedef FX_LONG* FX_LPLONG;
typedef FX_LONG const* FX_LPCLONG;
typedef FX_FLOAT const* FX_LPCFLOAT;
typedef double FX_DOUBLE;
typedef FX_DOUBLE* FX_LPDOUBLE;
typedef FX_DOUBLE const* FX_LPCDOUBLE;
FX_FLOAT FX_tan(FX_FLOAT a);
FX_FLOAT FX_log(FX_FLOAT b, FX_FLOAT x);
FX_FLOAT FX_strtof(const FX_CHAR* pcsStr,
int32_t iLength = -1,
int32_t* pUsedLen = NULL);
FX_FLOAT FX_wcstof(const FX_WCHAR* pwsStr,
int32_t iLength = -1,
int32_t* pUsedLen = NULL);
FX_WCHAR* FX_wcsncpy(FX_WCHAR* dstStr, const FX_WCHAR* srcStr, size_t count);
int32_t FX_wcsnicmp(const FX_WCHAR* s1, const FX_WCHAR* s2, size_t count);
int32_t FX_strnicmp(const FX_CHAR* s1, const FX_CHAR* s2, size_t count);
inline FX_BOOL FX_islower(int32_t ch) {
return ch >= 'a' && ch <= 'z';
}
inline FX_BOOL FX_isupper(int32_t ch) {
return ch >= 'A' && ch <= 'Z';
}
inline int32_t FX_tolower(int32_t ch) {
return FX_isupper(ch) ? (ch + 0x20) : ch;
}
inline int32_t FX_toupper(int32_t ch) {
return FX_islower(ch) ? (ch - 0x20) : ch;
}
int32_t FX_filelength(FXSYS_FILE* file);
FX_BOOL FX_fsetsize(FXSYS_FILE* file, int32_t size);
void FX_memset(void* pBuf, int32_t iValue, size_t size);
void FX_memcpy(void* pDst, const void* pSrc, size_t size);
FX_BOOL FX_IsRelativePath(const CFX_WideStringC& wsPath);
FX_BOOL FX_JoinPath(const CFX_WideStringC& wsBasePath,
const CFX_WideStringC& wsRelativePath,
CFX_WideString& wsAbsolutePath);
typedef struct _FX_VERSION {
FX_DWORD dwMajorVersion;
FX_DWORD dwMinorVersion;
FX_DWORD dwBuildVersion;
} FX_VERSION, *FX_LPVERSION;
typedef FX_VERSION const* FX_LPCVERSION;
#ifdef __cplusplus
};
#endif
#endif