Foxit PDF SDK
FXCRT

Classes

struct  FX_HFILE
 File accessing handle. More...
 
struct  FX_HTHREAD
 Type definition of mutex handle. More...
 
struct  FXMEM_FoxitMgr
 Foxit memory manager. More...
 
class  CFX_ArchiveLoader
 
class  CFX_ArchiveSaver
 
class  CFX_ArrayTemplate< TYPE >
 
class  CFX_ATemplate< baseType >
 
class  CFX_AutoRestorer< T >
 
class  CFX_BaseSegmentedArray
 
class  CFX_BasicArray
 
class  CFX_BinaryBuf
 Dynamic binary buffers designed for more efficient appending. More...
 
class  CFX_BitStream
 
class  CFX_BitWriter
 
class  CFX_ByteString
 BYTE STRING CLASS. More...
 
class  CFX_ByteStringC
 CONSTANT BYTE STRING CLASS. More...
 
class  CFX_ByteTextBuf
 
class  CFX_CachedFileRead
 Cached file read interface. More...
 
struct  CFX_CharMap
 
class  CFX_CMapByteStringToPtr
 
class  CFX_CMapDWordToDWord
 
class  CFX_CountRef< ObjClass >
 
class  CFX_DataFilter
 
class  CFX_ETemplate< baseType >
 
class  CFX_ExceptionErrorContext
 
class  CFX_FileBufferArchive
 
class  CFX_FixedBufGrow< DataType, FixedSize >
 
class  CFX_FloatRect
 
class  CFX_JmpStack
 
class  CFX_ListArrayTemplate< T1, T2 >
 
class  CFX_MapByteStringToPtr
 
class  CFX_MapPtrTemplate< KeyType, ValueType >
 
class  CFX_MapPtrToPtr
 
class  CFX_Matrix
 
class  CFX_ObjectArray< ObjectClass >
 
class  CFX_ObjectStack< TYPE >
 
class  CFX_PrivateData
 
class  CFX_PRLTemplate< baseType >
 
class  CFX_PSVTemplate< BaseType >
 
class  CFX_PtrList
 
class  CFX_RRTemplate< baseType >
 
class  CFX_RTemplate< baseType >
 
class  CFX_SegmentedArray< ElementType >
 
class  CFX_SmartPointer< T >
 
class  CFX_SortListArray< unit >
 
class  CFX_Stack< TYPE >
 
class  CFX_Stack< CFX_ByteString >
 
class  CFX_StringBufBase
 A fixed string buffer holding up to certain number of characters. More...
 
class  CFX_StringBufTemplate< limit >
 A fixed string buffer template. More...
 
struct  CFX_StringData
 This class represents the data of a byte string object. More...
 
struct  CFX_StringDataW
 This class represents the data of a wide string object. More...
 
class  CFX_TempBuf< DataType >
 
class  CFX_UTF8Decoder
 
class  CFX_UTF8Encoder
 
class  CFX_VTemplate< baseType >
 
class  CFX_WideString
 WIDE STRING CLASS. More...
 
class  CFX_WideStringC
 CONSTANT WIDE STRING CLASS. More...
 
class  CFX_WideTextBuf
 
struct  FX_MEMCONFIG
 Structure of fixed memory configuration. More...
 
struct  FX_PRIVATEDATA
 
struct  FX_RECT
 
struct  FX_SMALL_RECT
 
struct  FX_SYSTEMTIME
 Structure of system time. More...
 
struct  FXCRT_DATETIMEZONE
 Structure for date and time. More...
 
struct  FXMEM_Debugger
 Memory debugger interface. All functions must be implemented. More...
 
struct  FXMEM_SystemMgr
 System level memory manager. Application can implement their own system memory manager. More...
 
struct  FXMEM_SystemMgr2
 Fixed memory manager. More...
 
struct  IFX_Allocator
 Foxit allocator interface. More...
 
class  IFX_BufferArchive
 
class  IFX_BufferRead
 IFX_BufferRead stream provides an optimized approach to read stream data. Usually, one stream maintains an internal buffer for data access, this buffer can be used directly to caller, and avoids data-copy. More...
 
class  IFX_FileAccess
 File access interface, open file. More...
 
class  IFX_FileRead
 File reading interface. More...
 
class  IFX_FileStream
 File stream interface, reading & writing. More...
 
class  IFX_FileWrite
 File writing interface. More...
 
class  IFX_MemoryStream
 Memory stream interface. More...
 
class  IFX_Pause
 
class  IFX_StreamRead
 Stream reading interface. More...
 
class  IFX_StreamWrite
 Stream writing interface. More...
 
class  IFX_Unknown
 

Macros

#define _FX_LARGEFILE_USED_
 Preprocessor for large file support.
 
#define FX_Alloc(type, size)
 A macro for Foxit memory allocation operation.
 
#define FX_Allocator_Alloc(fxAllocator, type, size)   ((fxAllocator) ? (type*)(fxAllocator)->m_Alloc((fxAllocator), (size) * sizeof(type)) : (FX_Alloc(type, size)))
 Release-mode allocation on an allocator.
 
#define FX_Allocator_Free(fxAllocator, ptr)   ((fxAllocator) ? (fxAllocator)->m_Free((fxAllocator), (ptr)) : (FX_Free(ptr)))
 Free memory block on an allocator.
 
#define FX_Allocator_Realloc(fxAllocator, type, ptr, new_size)   ((fxAllocator) ? (type*)(fxAllocator)->m_Realloc((fxAllocator), (ptr), (new_size) * sizeof(type)) : (FX_Realloc(type, ptr, new_size)))
 Release-mode re-allocation on an allocator.
 
#define FX_AllocNL(type, size)
 A macro for Foxit memory allocation operation with non-leaving (return NULL if OOM).
 
#define FX_BSTRC(str)   CFX_ByteStringC(str, sizeof str-1)
 All application should use the following macro when specifying a string constant. "str" must be a character string constant. More...
 
#define FX_FILESIZE   FX_INT64
 Support large file directly.
 
#define FX_FIXEDMEM_MIDBLOCKSIZE   (4096)
 Size of middle data block, 4KB.
 
#define FX_FIXEDMEM_PAGESIZE   (4096 * 16)
 Size of memory page, 64KB.
 
#define FX_Free(pointer)   FXMEM_DefaultFree(pointer, 0)
 A macro for Foxit memory free operation.
 
#define FX_IsOdd(a)   ((a) & 1)
 Judge whether an integer is odd or even.
 
#define FX_Realloc(type, ptr, size)
 A macro for Foxit memory reallocation operation.
 
#define FX_ReallocNL(type, ptr, size)
 A macro for Foxit memory reallocation operation with non-leaving (return NULL if OOM).
 
#define FX_WSTRC(wstr)   CFX_WideStringC((FX_LPCWSTR)wstr, sizeof(wstr) / sizeof(FX_WCHAR) - 1)
 All application should use the following macro when specifying a wide string constant. "wstr" must be a wide string constant. More...
 
#define FXMEM_DISCARDABLE   4
 Flag for allocate discardable memory.
 
#define FXMEM_MOVABLE   2
 Flag for allocate movable memory.
 
#define FXMEM_NONLEAVE   1
 Flag for no calling OOM-handler when memory allocation failed.
 
#define FXSYS_bsearch
 Performs a binary search of a sorted array. A generic algorithm.
 
#define FXSYS_Div(a, b)   ((a) / (b))
 Division between two numbers.
 
#define FXSYS_GetACP
 Retrieve the current ANSI code-page identifier for the system.
 
#define FXSYS_GetFullPathName
 Get the full path and file name of a specified file.
 
#define FXSYS_GetModuleFileName
 Get the fully-qualified path for specified module.
 
#define FXSYS_itoa
 Convert an integer to a ANSIC string.
 
#define FXSYS_Mul(a, b)   ((a) * (b))
 Multiply two numbers.
 
#define FXSYS_MulDiv(a, b, c)   ((a) * (b) / (c))
 Fist do multiplication, then do division.
 
#define FXSYS_MultiByteToWideChar
 Maps a character string to a wide-character string.
 
#define FXSYS_qsort
 Performs a quick sort. A generic algorithm.
 
#define FXSYS_sqrt2(a, b)   (FX_FLOAT)FXSYS_sqrt((a)*(a) + (b)*(b))
 sqrt(a^2 + b^2).
 
#define FXSYS_stricmp
 Compare two ANSIC strings. case-insensitive.
 
#define FXSYS_strlwr
 Convert a ANSIC string to lowercase.
 
#define FXSYS_strtol   strtol
 Convert string to long integer.
 
#define FXSYS_strupr
 Convert a ANSIC string to uppercase.
 
#define FXSYS_wcsicmp
 Compare two wide character strings. case-insensitive.
 
#define FXSYS_wcslwr
 Convert a wide-character string to lowercase.
 
#define FXSYS_wcsupr
 Convert a wide-character string to uppercase.
 
#define FXSYS_WideCharToMultiByte
 Maps a wide-character string to a character string.
 
#define GetFullPathName
 Get the full path and file name of a specified file. GetFullPathNameW defined for unicode-mode, GetFullPathNameA for ansi-mode.
 
#define GetModuleFileName
 Get the fully-qualified path for specified module. GetModuleFileNameW defined for unicode-mode, GetModuleFileNameA for ansi-mode.
 
#define GetObject
 Get object information. GetObjectW defined for unicode-mode, GetObjectA for ansi-mode.
 

Typedefs

typedef CFX_ATemplate< FX_INT32CFX_Arc
 Type definition for arc class for integer.
 
typedef CFX_ATemplate< FX_FLOATCFX_ArcF
 Type definition for arc class for float.
 
typedef CFX_ArrayTemplate< FX_BYTECFX_ByteArray
 Type definition for a byte array type.
 
typedef CFX_ObjectArray< CFX_ByteStringCFX_ByteStringArray
 Type definition for a CFX_ByteString array type.
 
typedef CFX_ArrayTemplate< FX_DWORDCFX_DWordArray
 Type definition for a double-word array type.
 
typedef CFX_ListArrayTemplate< CFX_SortListArray< sizeof(FX_DWORD)>, FX_DWORDCFX_DWordListArray
 Type definition for FX_DWORD list array.
 
typedef CFX_ETemplate< FX_INT32CFX_Ellipse
 Type definition for ellipse class for integer.
 
typedef CFX_ETemplate< FX_FLOATCFX_EllipseF
 Type definition for ellipse class for float.
 
typedef CFX_ArrayTemplate< FX_INT64 > CFX_FileSizeArray
 Type definition for file size array type.
 
typedef CFX_ListArrayTemplate< CFX_SortListArray< sizeof(FX_INT64)>, FX_INT64 > CFX_FileSizeListArray
 Type definition for file size list array.
 
typedef CFX_ArrayTemplate< FX_FLOATCFX_FloatArray
 Type definition for float array.
 
typedef CFX_ArrayTemplate< FX_INT32CFX_Int32Array
 Type definition for INT32 array.
 
typedef CFX_PRLTemplate< FX_INT32CFX_Parallelogram
 Type definition for parallelogram class for integer.
 
typedef CFX_PRLTemplate< FX_FLOATCFX_ParallelogramF
 Type definition for parallelogram class for float.
 
typedef CFX_PSVTemplate< FX_INT32CFX_Point
 Type definition for point class for integer.
 
typedef CFX_PSVTemplate< FX_FLOATCFX_PointF
 Type definition for point class for float.
 
typedef CFX_ArrayTemplate< CFX_PointCFX_Points
 Type definition for integer point array.
 
typedef CFX_ArrayTemplate< CFX_PointFCFX_PointsF
 Type definition for float point array.
 
typedef CFX_ArrayTemplate< void * > CFX_PtrArray
 Type definition for: a typeless pointer array type.
 
typedef CFX_RTemplate< FX_INT32CFX_Rect
 Type definition for rectangle class for integer.
 
typedef CFX_ArrayTemplate< CFX_FloatRectCFX_RectArray
 Rectangle array.
 
typedef CFX_RTemplate< FX_FLOATCFX_RectF
 Type definition for rectangle class for float.
 
typedef CFX_ArrayTemplate< CFX_RectFCFX_RectFArray
 Type definition for rect array.
 
typedef CFX_RRTemplate< FX_INT32CFX_RoundRect
 Type definition for round-corner rectangle class for integer.
 
typedef CFX_RRTemplate< FX_FLOATCFX_RoundRectF
 Type definition for round-corner rectangle class for float.
 
typedef CFX_PSVTemplate< FX_INT32CFX_Size
 Type definition for size class for integer.
 
typedef CFX_PSVTemplate< FX_FLOATCFX_SizeF
 Type definition for size class for float.
 
typedef CFX_StringBufTemplate< 256 > CFX_StringBuf256
 A fixed 256-byte string buffer.
 
typedef CFX_VTemplate< FX_INT32CFX_Vector
 Vector class for integer.
 
typedef CFX_VTemplate< FX_FLOATCFX_VectorF
 Vector class for float.
 
typedef CFX_ArrayTemplate< FX_WCHARCFX_WCHARArray
 Type definition for FX_WHAR array.
 
typedef CFX_ObjectArray< CFX_WideStringCFX_WideStringArray
 Type definition for a CFX_WideString array type.
 
typedef CFX_ArrayTemplate< FX_WORDCFX_WordArray
 Type definition for a word array type.
 
typedef void(* FPDF_OOM_Handler) (FXMEM_FoxitMgr *pFoxitMgr, void *param)
 the prototype of the Out-Of-Memory handler. More...
 
typedef const CFX_ByteStringCFX_BSTR
 A reference to a constant CFX_ByteStringC object.
 
typedef FX_ThreadResult(WINAPI * FX_CALLBACK_ThreadProxyProc) (FX_CALLBACK_ThreadProc threadProc, FX_LPVOID param)
 Callback function of thread proxy procedure. More...
 
typedef CFX_PSVTemplate< FX_INT32 > const * FX_LPCPOINT
 Type definition for constant pointer to integer point.
 
typedef CFX_PSVTemplate< FX_FLOAT > const * FX_LPCPOINTF
 Type definition for constant pointer to float point.
 
typedef CFX_RTemplate< FX_INT32 > const * FX_LPCRECT
 Type definition for constant pointer to integer rectangle.
 
typedef CFX_RTemplate< FX_FLOAT > const * FX_LPCRECTF
 Type definition for constant pointer to float rectangle.
 
typedef CFX_PSVTemplate< FX_INT32 > * FX_LPPOINT
 Type definition for pointer to integer point.
 
typedef CFX_PSVTemplate< FX_FLOAT > * FX_LPPOINTF
 Type definition for pointer to float point.
 
typedef CFX_RTemplate< FX_INT32 > * FX_LPRECT
 Type definition for pointer to integer rectangle.
 
typedef CFX_RTemplate< FX_FLOAT > * FX_LPRECTF
 Type definition for pointer to float rectangle.
 
typedef CRITICAL_SECTION FX_MUTEX
 Definition for mutex/critical section and read-write lock.
 
typedef void * FX_SPINLOCK
 Definition for spinlock.
 
typedef int FX_STRSIZE
 String size is limited to 2^31-1.
 
typedef const CFX_WideStringCFX_WSTR
 Type definition for a reference to a constant CFX_WideStringC object.
 
typedef void(* PD_CALLBACK_FREEDATA) (FX_LPVOID pData)
 

Enumerations

enum  FX_ProgressiveStatus {
  Ready, ToBeContinued, Found, NotFound,
  Failed, Done
}
 Enumeration for progressive status. More...
 

Functions

 CFX_ByteStringC::CFX_ByteStringC (const CFX_ByteString &src)
 Construct from a byte string. More...
 
 CFX_WideStringC::CFX_WideStringC (const CFX_WideString &src)
 Construct from a wide string. More...
 
FX_FLOAT FX_atof (FX_BSTR str)
 Convert a non-buffered byte string to a floating-point number. More...
 
void FX_atonum (FX_BSTR str, FX_BOOL &bInteger, void *pData, int sizeOfData=4)
 Convert a non-buffered byte string to a number. More...
 
void FX_CloseFolder (void *handle)
 Close folder handle. More...
 
IFX_FileAccessFX_CreateDefaultFileAccess (FX_WSTR wsPath, IFX_Allocator *pAllocator=0)
 Create a CRT based file I/O interface. More...
 
IFX_FileReadFX_CreateFileRead (FX_LPCSTR filename, IFX_Allocator *pAllocator=0)
 (Available only for platforms supporting CRT file access) Create a CRT based file reading interface. More...
 
IFX_FileReadFX_CreateFileRead (FX_LPCWSTR filename, IFX_Allocator *pAllocator=0)
 (Available only for platforms supporting CRT file access) Create a CRT based file reading interface. More...
 
IFX_FileStreamFX_CreateFileStream (FX_LPCSTR filename, FX_DWORD dwModes, IFX_Allocator *pAllocator=0)
 (Available only for platforms supporting CRT file access) Create a CRT based file I/O interface. More...
 
IFX_FileStreamFX_CreateFileStream (FX_LPCWSTR filename, FX_DWORD dwModes, IFX_Allocator *pAllocator=0)
 (Available only for platforms supporting CRT file access) Create a CRT based file I/O interface. More...
 
IFX_FileWriteFX_CreateFileWrite (FX_LPCSTR filename, IFX_Allocator *pAllocator=0)
 (Available only for platforms supporting CRT file access (fopen, ...)) Create a CRT based file writing interface. More...
 
IFX_FileWriteFX_CreateFileWrite (FX_LPCWSTR filename, IFX_Allocator *pAllocator=0)
 (Available only for platforms supporting CRT file access (fopen, ...)) Create a CRT based file writing interface. More...
 
FX_BOOL FX_CreateFolder (FX_LPCSTR path)
 Create new folder. More...
 
FX_BOOL FX_CreateFolder (FX_LPCWSTR path)
 Create new folder. More...
 
IFX_MemoryStreamFX_CreateMemoryStream (FX_LPBYTE pBuffer, size_t nSize, FX_BOOL bTakeOver=false, IFX_Allocator *pAllocator=0)
 Creates a stream object by a given memory buffer. This function creates a consecutive memory stream object. More...
 
IFX_MemoryStreamFX_CreateMemoryStream (FX_BOOL bConsecutive=false, IFX_Allocator *pAllocator=0)
 Create a memory stream object. Memory buffer will be created internally, and the size will increase when need more space. More...
 
CFX_WideString FX_DecodeURI (const CFX_ByteString &bsURI)
 A simple URI Decode. More...
 
CFX_ByteString FX_EncodeURI (const CFX_WideString &wsURI)
 A simple URI encode. More...
 
void FX_File_Close (FX_HFILE hFile, IFX_Allocator *pAllocator=0)
 Close file. More...
 
FX_BOOL FX_File_Copy (FX_BSTR fileNameSrc, FX_BSTR fileNameDst)
 Copy file. More...
 
FX_BOOL FX_File_Copy (FX_WSTR fileNameSrc, FX_WSTR fileNameDst)
 Copy file. More...
 
FX_BOOL FX_File_Delete (FX_BSTR fileName)
 Delete file. More...
 
FX_BOOL FX_File_Delete (FX_WSTR fileName)
 Delete file. More...
 
FX_BOOL FX_File_Exist (FX_BSTR fileName)
 Determine whether a file exists or not. More...
 
FX_BOOL FX_File_Exist (FX_WSTR fileName)
 Determine whether a file exists or not. More...
 
FX_BOOL FX_File_Flush (FX_HFILE hFile)
 Flush internal buffer if need. More...
 
FX_INT64 FX_File_GetPosition (FX_HFILE hFile)
 Get the current file accessing position. More...
 
FX_INT64 FX_File_GetSize (FX_HFILE hFile)
 Get file size. More...
 
FX_BOOL FX_File_Move (FX_BSTR fileNameSrc, FX_BSTR fileNameDst)
 Move file. More...
 
FX_BOOL FX_File_Move (FX_WSTR fileNameSrc, FX_WSTR fileNameDst)
 Move file. More...
 
FX_HFILE FX_File_Open (FX_BSTR fileName, FX_DWORD dwMode, IFX_Allocator *pAllocator=0)
 Open file with specified accessing mode. More...
 
FX_HFILE FX_File_Open (FX_WSTR fileName, FX_DWORD dwMode, IFX_Allocator *pAllocator=0)
 Open file with specified accessing mode. More...
 
size_t FX_File_Read (FX_HFILE hFile, void *pBuffer, size_t szBuffer)
 Read data from the current file accessing position. More...
 
size_t FX_File_ReadPos (FX_HFILE hFile, void *pBuffer, size_t szBuffer, FX_INT64 pos)
 Read data from specified position. More...
 
FX_INT64 FX_File_SetPosition (FX_HFILE hFile, FX_INT64 pos)
 Set the current file accessing position. More...
 
FX_BOOL FX_File_Truncate (FX_HFILE hFile, FX_INT64 szFile)
 Truncate file size. More...
 
size_t FX_File_Write (FX_HFILE hFile, const void *pBuffer, size_t szBuffer)
 Write data from the current file accessing position. More...
 
size_t FX_File_WritePos (FX_HFILE hFile, const void *pBuffer, size_t szBuffer, FX_INT64 pos)
 Write data at specified position. More...
 
FX_STRSIZE FX_ftoa (FX_FLOAT f, FX_LPSTR buf)
 Convert float to byte string. More...
 
FX_WCHAR FX_GetFolderSeparator ()
 Get folder separator for the system. Most likely it's either /' or '\'. More...
 
FX_BOOL FX_GetNextFile (void *handle, CFX_ByteString &filename, FX_BOOL &bFolder, FX_LPCSTR absPath=0)
 Read next entry in the folder. More...
 
FX_BOOL FX_GetNextFile (void *handle, CFX_WideString &filename, FX_BOOL &bFolder, FX_LPCSTR absPath=0)
 Read next entry in the folder. More...
 
FX_BOOL FX_IsFilePathExist (FX_LPCWSTR path)
 Check if the path exists, including file path and folder path. More...
 
FX_BOOL FX_IsRectAdjacent (const CFX_FloatRect &rect1, const CFX_FloatRect &rect2, FX_FLOAT alignmentTolerance, FX_FLOAT distanceTolerance, int direction)
 Check if a rectangle is adjacent to the other rectangle in the horizontal or vertical direction. More...
 
void * FX_OpenFolder (FX_LPCSTR path)
 Open a folder for reading. More...
 
void * FX_OpenFolder (FX_LPCWSTR path)
 Open a folder for reading. More...
 
CFX_WideString FX_UrlDecode (const CFX_ByteString &bsUrl)
 A simple URL decode. More...
 
CFX_ByteString FX_UrlEncode (const CFX_WideString &wsUrl)
 A simple URL encode. More...
 
void FXMEM_CollectAll (FXMEM_FoxitMgr *pFoxitMgr)
 Release all memory blocks allocated by a Foxit manager. This function is only supported on embedded systems. More...
 
FXMEM_FoxitMgr * FXMEM_CreateFixedMgr (void *pMemory, size_t size, FXMEM_SystemMgr2 *pExtender)
 Create a Foxit manager from a pre-allocated, fixed memory buffer. More...
 
FXMEM_FoxitMgr * FXMEM_CreateFoxitMgr (FXMEM_SystemMgr *pSystemMgr)
 Create a Foxit manager. A system manager must be provided for actual allocation. More...
 
FXMEM_FoxitMgr * FXMEM_CreateMemoryMgr (size_t size, FX_BOOL extensible)
 Create a fixed memory manager as default implementation. More...
 
void FXMEM_DestroyFoxitMgr (FXMEM_FoxitMgr *pFoxitMgr)
 Destroy a Foxit manager instance. If the platform supports auto-collection, then all allocated memory blocks will be released. More...
 
size_t FXMEM_GetBlockSizeInFixedMgr (FXMEM_FoxitMgr *pFoxitMgr, void *ptr)
 Get the size of a memory block to which ptr points. More...
 
IFX_AllocatorFXMEM_GetDefAllocator ()
 Get default allocator used by the library. More...
 
FXMEM_FoxitMgr * FXMEM_GetDefaultMgr ()
 Get default memory manager for current module. More...
 
void FXMEM_OutputDebugTag (FXMEM_FoxitMgr *pFoxitMgr, FX_LPCSTR tag)
 Output a memory debug tag. More...
 
void FXMEM_PurgeMgr (FXMEM_FoxitMgr *pFoxitMgr)
 Release all excessive memory without touching any used memory. This is useful for extensible fixed memory manager (FXMEM_SystemMgr2), because we never free those additional memory pool until the memory manager destroyed. More...
 
void FXMEM_ReportOOM (FXMEM_FoxitMgr *pFoxitMgr)
 Report Out-of-memory (OOM). More...
 
void FXMEM_SetConfig (const FX_MEMCONFIG *memConfig)
 Set configuration of fixed memory. More...
 
void FXMEM_SetDefaultMgr (FXMEM_FoxitMgr *pFoxitMgr)
 Set default Foxit manager for current compile module (EXE, DLL, etc.). More...
 
void FXMEM_SetOOMHandler (FXMEM_FoxitMgr *pFoxitMgr, FPDF_OOM_Handler pOOMReportFunc, void *param)
 Setup A Out-Of-Memory handler for a Foxit memory manager. More...
 
void FXMEM_UseDebugger (FXMEM_FoxitMgr *pFoxitMgr, FXMEM_Debugger *pDebugger)
 Use a memory debugger which capturing all memory activities. Use NULL for parameter pDebugger to stop debugging. More...
 
FX_INT32 FXSYS_atoi (FX_LPCSTR str)
 Convert an ANSI string to an integer. More...
 
FX_INT64 FXSYS_atoi64 (FX_LPCSTR str)
 Convert an ANSI string to an integer. More...
 
FX_LPCSTR FXSYS_i64toa (FX_INT64 value, FX_LPSTR str, int radix)
 Convert an integer to an ANSI string. More...
 
FX_LPCWSTR FXSYS_i64tow (FX_INT64 value, FX_LPWSTR str, int radix)
 Convert an integer to an wide string. More...
 
int FXSYS_round (FX_FLOAT f)
 Get nearest integer. More...
 
FX_INT32 FXSYS_wtoi (FX_LPCWSTR str)
 Convert a wide string to an integer. More...
 
FX_INT64 FXSYS_wtoi64 (FX_LPCWSTR str)
 Convert a wide string to an integer. More...
 
int FXWCHAR_GetDirection (FX_WCHAR wchar)
 Get text direction. More...
 
CFX_ByteStringCCFX_ByteStringC::operator= (const CFX_ByteString &src)
 Assignment(=) operator overload. From a CFX_ByteString object. More...
 
CFX_WideStringCCFX_WideStringC::operator= (const CFX_WideString &src)
 Assignment(=) operator overload. From a CFX_ByteString object. More...
 

Basic memory operations

void * FXMEM_Alloc (FXMEM_FoxitMgr *pFoxitMgr, size_t size, int flags)
 Foxit basic memory allocation function. More...
 
void * FXMEM_AllocDebug (FXMEM_FoxitMgr *pFoxitMgr, size_t size, int flags, FX_LPCSTR file, int line)
 Foxit basic memory allocation function in debug-mode. More...
 
void * FXMEM_Realloc (FXMEM_FoxitMgr *pFoxitMgr, void *pointer, size_t new_size, int flags)
 Foxit basic memory reallocation function. More...
 
void * FXMEM_ReallocDebug (FXMEM_FoxitMgr *pFoxitMgr, void *pointer, size_t new_size, int flags, FX_LPCSTR file, int line)
 Foxit basic memory reallocation function in debug-mode. More...
 
void FXMEM_Free (FXMEM_FoxitMgr *pFoxitMgr, void *pointer, int flags)
 Foxit basic memory free function. More...
 

Following base memory functions use default Foxit manager for current module

void * FXMEM_DefaultAlloc (size_t byte_size, int flags)
 Default allocation function using default Foxit memory manager for current module. More...
 
void * FXMEM_DefaultAlloc2 (size_t units, size_t unit_size, int flags)
 Default allocation function using default Foxit memory manager for current module. More...
 
void * FXMEM_DefaultAllocDebug (size_t size, int flags, FX_LPCSTR file, int line)
 Default debug-mode allocation function using default Foxit memory manager for current module. More...
 
void * FXMEM_DefaultAllocDebug2 (size_t units, size_t unit_size, int flags, FX_LPCSTR file, int line)
 Default debug-mode allocation function using default Foxit memory manager for current module. More...
 
void * FXMEM_DefaultRealloc (void *pointer, size_t new_size, int flags)
 Default reallocation function using default Foxit memory manager for current module. More...
 
void * FXMEM_DefaultRealloc2 (void *pointer, size_t units, size_t unit_size, int flags)
 Default reallocation function using default Foxit memory manager for current module. More...
 
void * FXMEM_DefaultReallocDebug (void *pointer, size_t new_size, int flags, FX_LPCSTR file, int line)
 Default debug-mode reallocation function using default Foxit memory manager for current module. More...
 
void * FXMEM_DefaultReallocDebug2 (void *pointer, size_t units, size_t unit_size, int flags, FX_LPCSTR file, int line)
 Default debug-mode reallocation function using default Foxit memory manager for current module. More...
 
void FXMEM_DefaultFree (void *pointer, int flags)
 Default free function using default Foxit memory manager for current module. More...
 

Time

void FX_Time_GetSystemTime (FX_SYSTEMTIME *pSystemTime)
 Retrieve the current system date and time. More...
 
void FX_Time_GetLocalTime (FX_SYSTEMTIME *pSystemTime)
 Retrieve the current local date and time. More...
 
FX_DWORD FX_Time_GetClock ()
 Get the clock ticks elapsed by calling process. More...
 
FX_DWORD FX_Time_Sleep (FX_DWORD dwMilliseconds)
 Delay the current running for specified milliseconds. More...
 
void FXCRT_GetCurrentSystemTime (FXCRT_DATETIMEZONE &dt)
 Get current system date,time and timezone information. More...
 

Type for process ID

typedef FX_DWORD FX_PROCESSID
 Process ID.
 

Process management

void FX_Process_Initialize ()
 Initialize process. More...
 
void FX_Process_Finalize ()
 Finalize process. More...
 
FX_PROCESSID FX_Process_GetID ()
 Get the current process ID. More...
 
FX_LPVOID FX_Process_GetPrivateData (FX_LPVOID key)
 Get private data in the current process. More...
 
void FX_Process_SetPrivateData (FX_LPVOID key, FX_LPVOID data, PD_CALLBACK_FREEDATA callback)
 Set private data in the current process. More...
 
void FX_Process_RemovePrivateData (FX_LPVOID key)
 Remove private data in the current process. More...
 
CFX_ProcessContext * FX_Process_GetContext ()
 Retrieve process context. More...
 

Flags for thread priorities

typedef DWORD FX_ThreadResult
 
typedef FX_ThreadResult(WINAPI * FX_CALLBACK_ThreadProc) (FX_LPVOID param)
 Callback function of thread procedure. More...
 
#define FX_THREADPRIORITY_Lowest   -2
 Lowest priority.
 
#define FX_THREADPRIORITY_Lower   -1
 Lower priority.
 
#define FX_THREADPRIORITY_Normal   0
 Normal priority.
 
#define FX_THREADPRIORITY_Higher   1
 Higher priority.
 
#define FX_THREADPRIORITY_Highest   2
 Highest priority.
 
#define THREAD_CALL_CONVENTION   WINAPI
 

Macro definitions for File accessing modes

#define FX_FILEMODE_Write   0
 Write mode. To create automatically if the file doesn't exist.
 
#define FX_FILEMODE_ReadOnly   1
 Read-only mode.
 
#define FX_FILEMODE_Truncate   2
 Clear existing contents, and size of file is to be 0. For writing mode only.
 

Byte string concatenation operation

Both side of the concatenation operator (+) can be:

  • A buffered byte string (const CFX_ByteString&);
  • A non-buffered byte string (const CFX_ByteStringC&, a.k.a FX_BSTR);
  • A zero-terminated C-style string (FX_LPCSTR);
  • A single character or byte (FX_CHAR);
CFX_ByteString operator+ (FX_BSTR str1, FX_BSTR str2)
 Concatenate a non-buffered byte string and a non-buffered byte string. More...
 
CFX_ByteString operator+ (FX_BSTR str1, FX_LPCSTR str2)
 Concatenate a non-buffered byte string and a zero-terminated C-style string. More...
 
CFX_ByteString operator+ (FX_LPCSTR str1, FX_BSTR str2)
 Concatenate a zero-terminated C-style string and a non-buffered byte string. More...
 
CFX_ByteString operator+ (FX_BSTR str1, FX_CHAR ch)
 Concatenate a non-buffered byte string and a single character or byte. More...
 
CFX_ByteString operator+ (FX_CHAR ch, FX_BSTR str2)
 Concatenate a single character or byte and a non-buffered byte string. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, const CFX_ByteString &str2)
 Concatenate a buffered byte string and a buffered byte string. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, FX_CHAR ch)
 Concatenate a buffered byte string and a single character or byte. More...
 
CFX_ByteString operator+ (FX_CHAR ch, const CFX_ByteString &str2)
 Concatenate a single character or byte and a buffered byte string. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, FX_LPCSTR str2)
 Concatenate a buffered byte string and a zero-terminated C-style string. More...
 
CFX_ByteString operator+ (FX_LPCSTR str1, const CFX_ByteString &str2)
 Concatenate a zero-terminated C-style string and a buffered byte string. More...
 
CFX_ByteString operator+ (const CFX_ByteString &str1, FX_BSTR str2)
 Concatenate a buffered byte string and a non-buffered byte string. More...
 
CFX_ByteString operator+ (FX_BSTR str1, const CFX_ByteString &str2)
 Concatenate a non-buffered byte string and a buffered byte string. More...
 

Wide string concatenation operation

Both side of the concatenation operator (+) can be:

  • A buffered wide string (const CFX_WideString&);
  • A non-buffered wide string (const CFX_WideStringC&);
  • A zero-terminated C-style wide string (FX_LPCWSTR);
  • A single character (FX_WCHAR);

But you must have at least one CFX_WideString or CFX_WideStringC on one side.

CFX_WideString operator+ (const CFX_WideStringC &str1, const CFX_WideStringC &str2)
 Concatenate a non-buffered wide string and a non-buffered wide string. More...
 
CFX_WideString operator+ (const CFX_WideStringC &str1, FX_LPCWSTR str2)
 Concatenate a non-buffered byte string and a zero-terminated C-style string. More...
 
CFX_WideString operator+ (FX_LPCWSTR str1, const CFX_WideStringC &str2)
 Concatenate a zero-terminated C-style string and a non-buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideStringC &str1, FX_WCHAR ch)
 Concatenate a non-buffered byte string and a single character or byte. More...
 
CFX_WideString operator+ (FX_WCHAR ch, const CFX_WideStringC &str2)
 Concatenate a single character or byte and a non-buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideString &str1, const CFX_WideString &str2)
 Concatenate a buffered byte string and a buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideString &str1, FX_WCHAR ch)
 Concatenate a buffered byte string and a single character or byte. More...
 
CFX_WideString operator+ (FX_WCHAR ch, const CFX_WideString &str2)
 Concatenate a single character or byte and a buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideString &str1, FX_LPCWSTR str2)
 Concatenate a buffered wide string and a zero-terminated C-style string. More...
 
CFX_WideString operator+ (FX_LPCWSTR str1, const CFX_WideString &str2)
 Concatenate a zero-terminated C-style string and a buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideString &str1, const CFX_WideStringC &str2)
 Concatenate a buffered byte string and a non-buffered byte string. More...
 
CFX_WideString operator+ (const CFX_WideStringC &str1, const CFX_WideString &str2)
 Concatenate a non-buffered byte string and a buffered byte string. More...
 

Wide string compare operation

bool operator== (const CFX_WideString &s1, const CFX_WideString &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (const CFX_WideString &s1, const CFX_WideStringC &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (const CFX_WideStringC &s1, const CFX_WideString &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (const CFX_WideString &s1, FX_LPCWSTR s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator== (FX_LPCWSTR s1, const CFX_WideString &s2)
 Comparison(==) operator overload. Case-sensitive. More...
 
bool operator!= (const CFX_WideString &s1, const CFX_WideString &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (const CFX_WideString &s1, const CFX_WideStringC &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (const CFX_WideStringC &s1, const CFX_WideString &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (const CFX_WideString &s1, FX_LPCWSTR s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator!= (FX_LPCWSTR s1, const CFX_WideString &s2)
 Comparison(!=) operator overload. Case-sensitive. More...
 
bool operator< (const CFX_WideString &lhs, const CFX_WideString &rhs)
 Comparison(<) operator overload. Case-sensitive. More...
 

Basic Unicode character attribute routines

FX_WCHAR FXWCHAR_GetUpper (FX_WCHAR wchar)
 Convert to upper-case letter. More...
 
FX_WCHAR FXWCHAR_GetLower (FX_WCHAR wchar)
 Convert to lower-case letter. More...
 
FX_BOOL FXWCHAR_IsWordBreak (FX_WCHAR wchar)
 Check if the unicode can break a word. More...
 
FX_BOOL FXWCHAR_IsSpace (FX_WCHAR wchar)
 Check if the unicode is space. More...
 

text direction defines

#define FXWCHAR_LTR   0
 Left to right order.
 
#define FXWCHAR_RTL   1
 Right to left order.
 
#define FXWCHAR_UNKNOWN   2
 Not sure about the order or don't care.
 

OS Defines

#define _FX_WIN32_DESKTOP_   1
 Windows desktop OS (from Windows 95)
 
#define _FX_WIN32_MOBILE_   2
 Windows Mobile OS (from Windows CE 4.0)
 
#define _FX_WIN64_   3
 Windows 64 bit.
 
#define _FX_LINUX_DESKTOP_   4
 Linux Desktop OS.
 
#define _FX_LINUX_EMBEDDED_   5
 Embedded Linux OS.
 
#define _FX_SYMBIAN_   6
 Symbian OS (from 7.0)
 
#define _FX_MACOSX_   7
 MAC OS X.
 
#define _FX_EMBEDDED_   8
 Embedded OS.
 
#define _FX_SOLARIS_   9
 Solaris 8 or later.
 
#define _FX_PALMOS_   10
 PalmOS (5.0 or later)
 
#define _FX_NETBSD_   11
 NetBSD.
 
#define _FX_ANDROID_   12
 Android.
 
#define _FX_VXWORKS_   13
 VxWorks.
 
#define _FX_MTK_   14
 Media Tech.
 
#define _FX_IOS_   15
 IOS.
 
#define _FXM_PLATFORM_WINDOWS_   1
 Windows OS platformas.
 
#define _FXM_PLATFORM_LINUX_   2
 Linux OS platformas.
 
#define _FXM_PLATFORM_APPLE_   3
 Apple OS platformas.
 
#define _FXM_PLATFORM_ANDROID_   4
 Android OS platformas.
 
#define _FXM_PLATFORM_   _FXM_PLATFORM_WINDOWS_
 
#define _CRT_SECURE_NO_WARNINGS
 Disable the security enhancements in the CRT.
 
#define NOMINMAX
 
#define _FX_WINAPI_PARTITION_DESKTOP_
 

Compiler Defines

#define _FX_VC6_   1
 Microsoft Visual C++ 6.0.
 
#define _FX_VC7_   2
 Microsoft Visual Studio.Net 2003.
 
#define _FX_VC8_   3
 Microsoft Visual Studio.Net 2005.
 
#define _FX_GCC_   4
 GNU C++ Compiler.
 
#define _FX_ADS_   5
 ADS 1.2 Compiler.
 
#define _FX_RVCT_   6
 RVCT 2.1 Compiler.
 
#define _FX_IARCC_   7
 IAR C/C++ Compiler.
 
#define _FX_NOKIA_X86_   8
 Nokia X86 Compiler.
 
#define _FX_METROWERKS_   9
 Metrowerks C/C++ Compiler (with MSL)
 
#define _FX_PACC_   10
 Protein C/C++ Compiler (used by PalmOS)
 
#define _FX_TMS470_   11
 TMS470.
 
#define _FX_MIPS_SDE_   12
 MIPS SDE.
 

CPU Defines

#define _FX_X86_   1
 32-bit x86 CPU
 
#define _FX_ARM_   2
 ARM.
 
#define _FX_POWERPC_   3
 Power PCPower PC.
 
#define _FX_SPARC_   4
 Sparc.
 
#define _FX_IA64_   5
 IA64.
 
#define _FX_MIPS_   6
 MIPS.
 
#define _FX_X64_   7
 64-bit x86 CPU
 
#define _FX_ARM64_   8
 ARM64.
 

Word Size Defines

#define _FX_W32_   1
 32-bit instruct
 
#define _FX_W64_   2
 64-bit instruct
 
#define _FX_WORDSIZE_   _FX_W32_
 

Byte Order Defines

#define _FX_BIG_ENDIAN_   1
 big endian
 
#define _FX_LITTLE_ENDIAN_   2
 little endian
 
#define _FX_ENDIAN_
 Current Byte Order. More...
 

Target Defines

#define _FX_DEFAULT_TARGET_   0
 The default sdk information.
 
#define _FX_BREW_   1
 Brew SDK.
 

BASIC DATA TYPES

typedef void * FX_LPVOID
 Pointer to any type.
 
typedef void const * FX_LPCVOID
 Pointer to any constant type.
 
typedef void * FX_POSITION
 A value used to denote the position of an element in a collection.
 
typedef signed char FX_INT8
 Signed 8bits integer.
 
typedef unsigned char FX_UINT8
 Unsigned 8bits integer.
 
typedef unsigned char FX_BYTE
 Byte (8 bits).
 
typedef unsigned char * FX_LPBYTE
 Pointer to a FX_BYTE.
 
typedef unsigned char const * FX_LPCBYTE
 Pointer to a constant FX_BYTE.
 
typedef short FX_INT16
 Signed 16bits integer.
 
typedef unsigned short FX_UINT16
 Unsigned 16bits integer.
 
typedef short FX_SHORT
 Short integer (16 bits).
 
typedef unsigned short FX_WORD
 16-bit unsigned integer.
 
typedef unsigned short * FX_LPWORD
 Pointer to a WORD.
 
typedef unsigned short const * FX_LPCWORD
 Pointer to a WORD.
 
typedef int FX_INT32
 32-bit signed integer.
 
typedef float FX_FLOAT
 32-bit floating-point number.
 
typedef int FX_BOOL
 Boolean variable (should be TRUE or FALSE).
 
typedef int FX_ERR
 Error indicator.
 
typedef char FX_CHAR
 8-bit Windows (ANSI) character.
 
typedef char * FX_LPSTR
 Pointer to 8-bit Windows (ANSI) characters.
 
typedef char const * FX_LPCSTR
 Pointer to constant 8-bit Windows (ANSI) characters.
 
typedef unsigned long FX_DWORD
 32-bit unsigned integer. More...
 
typedef unsigned long * FX_LPDWORD
 Pointer to a DWORD.
 
typedef wchar_t FX_WCHAR
 Compiler dependant Unicode character (16-bit for Microsoft Compiler, 32-bit for gcc).
 
typedef wchar_t * FX_LPWSTR
 Pointer to Unicode characters.
 
typedef wchar_t const * FX_LPCWSTR
 Pointer to constant Unicode characters.
 
typedef long long int FX_INT64
 
typedef unsigned long long FX_UINT64
 
typedef INT_PTR FX_INTPTR
 Signed integral type for pointer precision.
 
typedef UINT_PTR FX_UINTPTR
 Unsigned integral type for pointer precision.
 
typedef FX_DWORD FX_UINT32
 unsigned 32bits integer.
 
typedef FX_UINT64 FX_QWORD
 unsigned quad-word integer.
 
#define FX_SUCCEEDED(Status)   ((FX_ERR)(Status) >= 0)
 Determine whether a status is successful.
 
#define FX_FAILED(Status)   ((FX_ERR)(Status) < 0)
 Determine whether a status is failure.
 
#define FX_DEFINEHANDLE(name)   typedef struct _##name {FX_LPVOID pData;} * name;
 Macro to define a handle type.
 
#define TRUE   1
 Keyword which value is 1.
 
#define FALSE   0
 Keyword which value is 0.
 
#define NULL   0
 The null-pointer value.
 
#define FXSYS_assert
 Assertion.
 
#define ASSERT(a)
 Assertion for debug mode, do nothing for release mode.
 
#define FX_MAX(a, b)   (((a) > (b)) ? (a) : (b))
 A macro that returns the maximum of a and b.
 
#define FX_MIN(a, b)   (((a) < (b)) ? (a) : (b))
 A macro that returns the minimum of a and b.
 
#define FX_PI   3.1415926535897932384626433832795f
 A macro to PI.
 
#define _FX_CRT_MALLOC_LIMIT_   0x7fffffffL
 A macrio to malloc size limit.
 

Byte string operations

#define FXSYS_sprintf
 Write formatted data to a ANSIC string.
 
#define FXSYS_snprintf
 Write formatted data to a ANSIC string, with max length.
 
#define FXSYS_vsnprintf   vsnprintf
 
#define FXSYS_vsprintf
 Write formatted output using a pointer to a list of arguments.
 
#define FXSYS_strchr
 Find a character in a ANSIC string.
 
#define FXSYS_strlen
 Get the length of a ANSIC string.
 
#define FXSYS_strncmp
 Compare characters of two ANSIC strings.
 
#define FXSYS_strcmp
 Compare ANSIC strings.
 
#define FXSYS_strcpy
 Copy an ANSIC string.
 
#define FXSYS_strncpy
 Copy an ANSIC string with length limitation.
 
#define FXSYS_strstr
 Find a substring.
 

File operations

#define FXSYS_FILE
 File structure.
 
#define FXSYS_fopen
 Open a file.
 
#define FXSYS_fclose
 Close a file.
 
#define FXSYS_SEEK_END
 End of file.
 
#define FXSYS_SEEK_SET
 Beginning of file.
 
#define FXSYS_fseek
 Moves the file pointer to a specified location.
 
#define FXSYS_ftell
 Gets the current position of a file pointer.
 
#define FXSYS_fread
 Reads data from a file.
 
#define FXSYS_fwrite
 Writes data to a file.
 
#define FXSYS_fprintf
 Print formatted data to a file.
 
#define FXSYS_fflush
 Flush file.
 
#define FXSYS_wfopen
 Open a file using wide-string parameters. Only supported on Windows platforms now.
 

Wide string operations

#define FXSYS_wcslen
 Get the length of a wide-character string.
 
#define FXSYS_wcscmp
 Compare wide-character strings.
 
#define FXSYS_wcschr
 Find a wide-character in a wide-character string.
 
#define FXSYS_wcsstr
 Find a sub-wide-character-string.
 
#define FXSYS_wcsncmp
 Compare characters of two wide-character strings.
 
#define FXSYS_vswprintf
 Write formatted output wide character string using a pointer to a list of arguments.
 
#define FXSYS_mbstowcs
 Converts a sequence of multi-byte characters to a corresponding sequence of wide characters.
 
#define FXSYS_wcstombs
 Converts a sequence of wide characters to a corresponding sequence of multi-byte characters.
 

Memory block operations

#define FXSYS_memcmp
 Compares two buffers.
 
#define FXSYS_memcpy
 Copy from one buffer to another.
 
#define FXSYS_memmove
 Moves one buffer to another. If some regions of the source area and the destination overlap, ::FXSYS_memmove ensures that the original source bytes in the overlapping region are copied before being overwritten.
 
#define FXSYS_memset
 Use given character to initialize the buffer.
 
#define FXSYS_memchr
 Search for a byte in a memory block.
 

Memory utilities

void * FXSYS_memcpy32 (void *dst, const void *src, size_t size)
 Copy buffer data from source to destination. More...
 
FX_INT32 FXSYS_memcmp32 (const void *buf1, const void *buf2, size_t size)
 Compare data in two buffers. More...
 
void * FXSYS_memset32 (void *dst, FX_INT32 v, size_t size)
 Set buffer data to specified value. More...
 
void * FXSYS_memset8 (void *dst, FX_BYTE v, size_t size)
 Set buffer data to specified value. More...
 
void * FXSYS_memmove32 (void *dst, const void *src, size_t size)
 Move source buffer data into destination. More...
 

Math functions

#define FXSYS_pow
 Calculate the power. FXSYS_pow(x,y) means x^y.
 
#define FXSYS_sqrt
 Calculate the square root. FXSYS_sqrt(x) means sqrt(x).
 
#define FXSYS_fabs
 Calculate the absolute. FXSYS_fabs(x) means |x|.
 
#define FXSYS_atan2
 Calculate the arctangent. FXSYS_atan2(y,x) means atan(y/x).
 
#define FXSYS_ceil
 Calculate the ceiling of a value.
 
#define FXSYS_floor
 Calculate the floor of a value.
 
#define FXSYS_cos
 Calculate the cosine of a floating-point number from a radian argument.
 
#define FXSYS_acos
 Calculate the arccosine of a floating-point number, in radians.
 
#define FXSYS_sin
 Calculate the sine of a floating-point number from a radian argument.
 
#define FXSYS_log
 Calculate the natural logarithm (base e) of a floating-point number.
 
#define FXSYS_log10
 Calculate the common logarithm (base 10) of a floating-point number.
 
#define FXSYS_fmod
 Calculate the floating-point remainder.
 
#define FXSYS_abs
 A macro that return the absolute value.
 

Detailed Description

Macro Definition Documentation

◆ _FX_ENDIAN_

#define _FX_ENDIAN_

Current Byte Order.

Now it can be:

  • _FX_BIG_ENDIAN_
  • _FX_LITTLE_ENDIAN_

◆ FX_BSTRC

#define FX_BSTRC (   str)    CFX_ByteStringC(str, sizeof str-1)

All application should use the following macro when specifying a string constant. "str" must be a character string constant.

Note
For example:
FX_BSTRC("abc").

◆ FX_WSTRC

#define FX_WSTRC (   wstr)    CFX_WideStringC((FX_LPCWSTR)wstr, sizeof(wstr) / sizeof(FX_WCHAR) - 1)

All application should use the following macro when specifying a wide string constant. "wstr" must be a wide string constant.

For example:

FX_WSTRC(L"abc").

Typedef Documentation

◆ FPDF_OOM_Handler

typedef void(* FPDF_OOM_Handler) (FXMEM_FoxitMgr *pFoxitMgr, void *param)

the prototype of the Out-Of-Memory handler.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]paramA generic typeless pointer for user data.
Returns
None.

◆ FX_CALLBACK_ThreadProc

typedef FX_ThreadResult( WINAPI * FX_CALLBACK_ThreadProc) (FX_LPVOID param)

Callback function of thread procedure.

param[in] param Thread parameter transfered when create thread.

Returns
None.

◆ FX_CALLBACK_ThreadProxyProc

typedef FX_ThreadResult( WINAPI * FX_CALLBACK_ThreadProxyProc) (FX_CALLBACK_ThreadProc threadProc, FX_LPVOID param)

Callback function of thread proxy procedure.

param[in] param Thread parameter transfered when create thread.

Returns
None.

◆ FX_DWORD

typedef unsigned long FX_DWORD

32-bit unsigned integer.

TYPE LP32 ILP32 LP64 ILP64 LLP64 CHAR 8 8 8 8 8 SHORT 16 16 16 16 16 INT 16 32 32 64 32 LONG 32 32 64 64 32 LONG LONG 64 64 64 64 64 POINTER 32 32 64 64 64

◆ PD_CALLBACK_FREEDATA

typedef void(* PD_CALLBACK_FREEDATA) (FX_LPVOID pData)

Prototype of callback function provided by custom module for deallocating private data.

Enumeration Type Documentation

◆ FX_ProgressiveStatus

Enumeration for progressive status.

Values of this enumeration should be used alone.

Enumerator
Ready 

Ready.

ToBeContinued 

To be continued.

Found 

Found.

NotFound 

Not Found.

Failed 

Failed.

Done 

Done.

Function Documentation

◆ CFX_ByteStringC()

CFX_ByteStringC::CFX_ByteStringC ( const CFX_ByteString src)
inline

Construct from a byte string.

Parameters
[in]srcconstant ref to a CFX_ByteString object.

◆ CFX_WideStringC()

CFX_WideStringC::CFX_WideStringC ( const CFX_WideString src)
inline

Construct from a wide string.

Parameters
[in]srcconstant ref to a CFX_ByteString object.

◆ FX_atof()

FX_FLOAT FX_atof ( FX_BSTR  str)

Convert a non-buffered byte string to a floating-point number.

Parameters
[in]strA non-buffered byte string.
Returns
A floating-point number.

◆ FX_atonum()

void FX_atonum ( FX_BSTR  str,
FX_BOOL bInteger,
void *  pData,
int  sizeOfData = 4 
)

Convert a non-buffered byte string to a number.

Parameters
[in]strA non-buffered byte string.
[out]bIntegerNon-zero values means the string can convert to a number, otherwise can not.
[out]pDataIt receives the converted number.
[in]sizeOfDataSize of pData. Default value: 4.
Returns
None.

◆ FX_CloseFolder()

void FX_CloseFolder ( void *  handle)

Close folder handle.

Parameters
[in]handlefolder handle returned by FX_OpenFolder function.
Returns
None.

◆ FX_CreateDefaultFileAccess()

IFX_FileAccess* FX_CreateDefaultFileAccess ( FX_WSTR  wsPath,
IFX_Allocator pAllocator = 0 
)

Create a CRT based file I/O interface.

Parameters
[in]wsPathFile path.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
An instance of IFX_FileAccess interface. NULL means failure. Please call function IFX_FileAccess::Release to destroy the returned object when not use it any more.

◆ FX_CreateFileRead() [1/2]

IFX_FileRead* FX_CreateFileRead ( FX_LPCSTR  filename,
IFX_Allocator pAllocator = 0 
)

(Available only for platforms supporting CRT file access) Create a CRT based file reading interface.

Parameters
[in]filenameFile name, using MBCS file name.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
An instance of IFX_FileRead interface. Please call function IFX_FileRead::Release to destroy the returned object when not use it any more.

◆ FX_CreateFileRead() [2/2]

IFX_FileRead* FX_CreateFileRead ( FX_LPCWSTR  filename,
IFX_Allocator pAllocator = 0 
)

(Available only for platforms supporting CRT file access) Create a CRT based file reading interface.

Parameters
[in]filenameFile name, using Unicode file name.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
An instance of IFX_FileRead interface. Please call function IFX_FileRead::Release to destroy the returned object when not use it any more.

◆ FX_CreateFileStream() [1/2]

IFX_FileStream* FX_CreateFileStream ( FX_LPCSTR  filename,
FX_DWORD  dwModes,
IFX_Allocator pAllocator = 0 
)

(Available only for platforms supporting CRT file access) Create a CRT based file I/O interface.

Parameters
filenameFile name, using MBCS file name.
dwModes
pAllocatorAn allocator. Default value: NULL.
Returns
An instance of IFX_FileStream interface. NULL means failure. Please call function IFX_FileStream::Release to destroy returned object when not use it any more.

◆ FX_CreateFileStream() [2/2]

IFX_FileStream* FX_CreateFileStream ( FX_LPCWSTR  filename,
FX_DWORD  dwModes,
IFX_Allocator pAllocator = 0 
)

(Available only for platforms supporting CRT file access) Create a CRT based file I/O interface.

Parameters
filenameFile name, using Unicode file name.
dwModes
pAllocatorAn allocator. Default value: NULL.
Returns
An instance of IFX_FileStream interface. NULL means failure. Please call function IFX_FileStream::Release to destroy returned object when not use it any more.

◆ FX_CreateFileWrite() [1/2]

IFX_FileWrite* FX_CreateFileWrite ( FX_LPCSTR  filename,
IFX_Allocator pAllocator = 0 
)

(Available only for platforms supporting CRT file access (fopen, ...)) Create a CRT based file writing interface.

Parameters
[in]filenameFile name, using MBCS file name.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
An instance of IFX_FileWrite interface. Please call function IFX_FileWrite::Release to destroy returned object when not use it any more.

◆ FX_CreateFileWrite() [2/2]

IFX_FileWrite* FX_CreateFileWrite ( FX_LPCWSTR  filename,
IFX_Allocator pAllocator = 0 
)

(Available only for platforms supporting CRT file access (fopen, ...)) Create a CRT based file writing interface.

Parameters
[in]filenameFile name, using unicode file name.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
An instance of IFX_FileWrite interface. Please call function IFX_FileWrite::Release to destroy returned object when not use it any more.

◆ FX_CreateFolder() [1/2]

FX_BOOL FX_CreateFolder ( FX_LPCSTR  path)

Create new folder.

Parameters
[in]pathpath name of folder.
Returns
true means success, while false means failure.

◆ FX_CreateFolder() [2/2]

FX_BOOL FX_CreateFolder ( FX_LPCWSTR  path)

Create new folder.

Parameters
[in]pathpath name of folder.
Returns
true means success, while false means failure.

◆ FX_CreateMemoryStream() [1/2]

IFX_MemoryStream* FX_CreateMemoryStream ( FX_LPBYTE  pBuffer,
size_t  nSize,
FX_BOOL  bTakeOver = false,
IFX_Allocator pAllocator = 0 
)

Creates a stream object by a given memory buffer. This function creates a consecutive memory stream object.

Parameters
[in]pBufferA memory buffer to read/write data.
[in]nSizeBuffer size, in bytes.
[in]bTakeOverIndicates whether need to take over parameter pBuffer. If this is true, parameter pBuffer will release internally when destroy returned IFX_MemoryStream object. Default value: false.
[in]pAllocatorPointer to IFX_Allocator object, this specifies an allocator. If this is NULL, default allocator is used. Default value: NULL.
Returns
An instance of IFX_MemoryStream interface. NULL means failure.

◆ FX_CreateMemoryStream() [2/2]

IFX_MemoryStream* FX_CreateMemoryStream ( FX_BOOL  bConsecutive = false,
IFX_Allocator pAllocator = 0 
)

Create a memory stream object. Memory buffer will be created internally, and the size will increase when need more space.

Parameters
[in]bConsecutiveIndicates whether to create a consecutive memory stream. true means to create a consecutive memory stream, while false means to create a non-consecutive stream. Default value: false.
[in]pAllocatorPointer to IFX_Allocator object which specifies an allocator. NULL means to use default allocator. Default value: NULL.
Returns
An instance of IFX_MemoryStream interface. NULL means failure.

◆ FX_DecodeURI()

CFX_WideString FX_DecodeURI ( const CFX_ByteString bsURI)

A simple URI Decode.

Parameters
[in]bsURIA URI string to be decoded.
Returns
The decoded URI string.

◆ FX_EncodeURI()

CFX_ByteString FX_EncodeURI ( const CFX_WideString wsURI)

A simple URI encode.

Parameters
[in]wsURIA URI string to be encoded.
Returns
The encoded URI string.

◆ FX_File_Close()

void FX_File_Close ( FX_HFILE  hFile,
IFX_Allocator pAllocator = 0 
)

Close file.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
None.

◆ FX_File_Copy() [1/2]

FX_BOOL FX_File_Copy ( FX_BSTR  fileNameSrc,
FX_BSTR  fileNameDst 
)

Copy file.

Parameters
[in]fileNameSrcSource file path name.
[in]fileNameDstDestination file path name.
Returns
true means success, while false means failure.

◆ FX_File_Copy() [2/2]

FX_BOOL FX_File_Copy ( FX_WSTR  fileNameSrc,
FX_WSTR  fileNameDst 
)

Copy file.

Parameters
[in]fileNameSrcSource file path name.
[in]fileNameDstDestination file path name.
Returns
true means success, while false means failure.

◆ FX_File_Delete() [1/2]

FX_BOOL FX_File_Delete ( FX_BSTR  fileName)

Delete file.

Parameters
[in]fileNameFile path name.
Returns
true means success, while false means failure.

◆ FX_File_Delete() [2/2]

FX_BOOL FX_File_Delete ( FX_WSTR  fileName)

Delete file.

Parameters
[in]fileNameFile path name.
Returns
true means success, while false means failure.

◆ FX_File_Exist() [1/2]

FX_BOOL FX_File_Exist ( FX_BSTR  fileName)

Determine whether a file exists or not.

Parameters
[in]fileNameFile path name.
Returns
true means file exists, while false means file does not exist.

◆ FX_File_Exist() [2/2]

FX_BOOL FX_File_Exist ( FX_WSTR  fileName)

Determine whether a file exists or not.

Parameters
[in]fileNameFile path name.
Returns
true means file exists, while false means file does not exist.

◆ FX_File_Flush()

FX_BOOL FX_File_Flush ( FX_HFILE  hFile)

Flush internal buffer if need.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
Returns
true means success, while false means failure.

◆ FX_File_GetPosition()

FX_INT64 FX_File_GetPosition ( FX_HFILE  hFile)

Get the current file accessing position.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
Returns
The current file accessing position from the beginning of file. -1 means failure.

◆ FX_File_GetSize()

FX_INT64 FX_File_GetSize ( FX_HFILE  hFile)

Get file size.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
Returns
File size. 0 means file is empty or failure.

◆ FX_File_Move() [1/2]

FX_BOOL FX_File_Move ( FX_BSTR  fileNameSrc,
FX_BSTR  fileNameDst 
)

Move file.

Parameters
[in]fileNameSrcSource file path name.
[in]fileNameDstDestination file path name.
Returns
true means success, while false means failure.

◆ FX_File_Move() [2/2]

FX_BOOL FX_File_Move ( FX_WSTR  fileNameSrc,
FX_WSTR  fileNameDst 
)

Move file.

Parameters
[in]fileNameSrcSource file path name.
[in]fileNameDstDestination file path name.
Returns
true means success, while false means failure.

◆ FX_File_Open() [1/2]

FX_HFILE FX_File_Open ( FX_BSTR  fileName,
FX_DWORD  dwMode,
IFX_Allocator pAllocator = 0 
)

Open file with specified accessing mode.

Parameters
[in]fileNameFile path name which specifies a file to be opened.
[in]dwModeFile accessing mode. Please refer to values starting from ::FX_FILEMODE_Write and this should be one of these values.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
File handler. NULL means failure.

◆ FX_File_Open() [2/2]

FX_HFILE FX_File_Open ( FX_WSTR  fileName,
FX_DWORD  dwMode,
IFX_Allocator pAllocator = 0 
)

Open file with specified accessing mode.

Parameters
[in]fileNameFile path name which specifies a file to be opened.
[in]dwModeFile accessing mode. Please refer to values starting from ::FX_FILEMODE_Write and this should be one of these values.
[in]pAllocatorAn allocator. Default value: NULL.
Returns
File handler. NULL means failure.

◆ FX_File_Read()

size_t FX_File_Read ( FX_HFILE  hFile,
void *  pBuffer,
size_t  szBuffer 
)

Read data from the current file accessing position.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
[out]pBufferBuffer to receive data.
[in]szBufferBuffer size, in bytes.
Returns
The size of data read from file. 0 means there is no data or failure.

◆ FX_File_ReadPos()

size_t FX_File_ReadPos ( FX_HFILE  hFile,
void *  pBuffer,
size_t  szBuffer,
FX_INT64  pos 
)

Read data from specified position.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
[out]pBufferBuffer to receive data.
[in]szBufferBuffer size, in bytes.
[in]posPosition from which to read data, from the beginning of file.
Returns
The size of data read from file. 0 means there is no data or failure.

◆ FX_File_SetPosition()

FX_INT64 FX_File_SetPosition ( FX_HFILE  hFile,
FX_INT64  pos 
)

Set the current file accessing position.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
[in]posThe new accessing position.
Returns
The current file accessing position from the beginning of file. -1 means failure.

◆ FX_File_Truncate()

FX_BOOL FX_File_Truncate ( FX_HFILE  hFile,
FX_INT64  szFile 
)

Truncate file size.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
[in]szFileNew file size.
Returns
true means success, while false means failure.

◆ FX_File_Write()

size_t FX_File_Write ( FX_HFILE  hFile,
const void *  pBuffer,
size_t  szBuffer 
)

Write data from the current file accessing position.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
[in]pBufferBuffer of data.
[in]szBufferData size, in bytes.
Returns
The size of data write into file. If return value is less than szBuffer, that means failure.

◆ FX_File_WritePos()

size_t FX_File_WritePos ( FX_HFILE  hFile,
const void *  pBuffer,
size_t  szBuffer,
FX_INT64  pos 
)

Write data at specified position.

Parameters
[in]hFileFile handler returned by function ::FX_File_Open.
[in]pBufferBuffer of data.
[in]szBufferData size, in bytes.
[in]posPosition from which to write data, from the beginning of file.
Returns
The size of data write into file. If return value is less than szBuffer, that means failure.

◆ FX_ftoa()

FX_STRSIZE FX_ftoa ( FX_FLOAT  f,
FX_LPSTR  buf 
)

Convert float to byte string.

Parameters
[in]fFloat number.
[out]bufBuffer of float string, buf should have 32 bytes at least.
Returns
Length of formatted float string in buf, in bytes.

◆ FX_GetFolderSeparator()

FX_WCHAR FX_GetFolderSeparator ( )

Get folder separator for the system. Most likely it's either /' or '\'.

Returns
Folder separator.

◆ FX_GetNextFile() [1/2]

FX_BOOL FX_GetNextFile ( void *  handle,
CFX_ByteString filename,
FX_BOOL bFolder,
FX_LPCSTR  absPath = 0 
)

Read next entry in the folder.

Parameters
[in]handleFolder handle returned by function ::FX_OpenFolder.
[out]filenameReceives file name when find a folder item.
[out]bFolderIndicates filename is a sub-folder or normal file.
[in]absPathAbsolute path. Default value: NULL.
Returns
true means success, which false means that reach end of folder.

◆ FX_GetNextFile() [2/2]

FX_BOOL FX_GetNextFile ( void *  handle,
CFX_WideString filename,
FX_BOOL bFolder,
FX_LPCSTR  absPath = 0 
)

Read next entry in the folder.

Parameters
[in]handleFolder handle returned by function ::FX_OpenFolder.
[out]filenameReceives file name when find a folder item.
[out]bFolderIndicates filename is a sub-folder or normal file.
[in]absPathAbsolute path. Default value: NULL.
Returns
true means success, which false means that reach end of folder.

◆ FX_IsFilePathExist()

FX_BOOL FX_IsFilePathExist ( FX_LPCWSTR  path)

Check if the path exists, including file path and folder path.

Parameters
[in]pathPath name of file or folder.
Returns
true means input path exists, while false means input path does not exist.

◆ FX_IsRectAdjacent()

FX_BOOL FX_IsRectAdjacent ( const CFX_FloatRect rect1,
const CFX_FloatRect rect2,
FX_FLOAT  alignmentTolerance,
FX_FLOAT  distanceTolerance,
int  direction 
)

Check if a rectangle is adjacent to the other rectangle in the horizontal or vertical direction.

Parameters
[in]rect1A rectangle which is to be check if adjacent to parameter rect2.
[in]rect2The other rectangle.
[in]alignmentToleranceAlignment tolerance to be allowed between two rectangles. Measured in coordinate units, and should be non-negative value.
[in]distanceToleranceDistance tolerance to be allowed between two rectangles. Measured in coordinate units, and should be non-negative value.
[in]directionSpecify a direction to judge adjacent state between two rectangles:
  • 0 means horizontal direction.
  • 1 means vertical direction.
Returns
true means the specified rectangle is adjacent to the other specified rectangle in specified direction, while false means the specified rectangle is not adjacent to the other specified rectangle in specified direction.

◆ FX_OpenFolder() [1/2]

void* FX_OpenFolder ( FX_LPCSTR  path)

Open a folder for reading.

Parameters
[in]pathPath name of folder.
Returns
Folder handle. NULL means failure.

◆ FX_OpenFolder() [2/2]

void* FX_OpenFolder ( FX_LPCWSTR  path)

Open a folder for reading.

Parameters
[in]pathPath name of folder.
Returns
Folder handle. NULL means failure.

◆ FX_Process_Finalize()

void FX_Process_Finalize ( )

Finalize process.

Returns
None.
Note
Application should call this function before release memory management when application stops running.

◆ FX_Process_GetContext()

CFX_ProcessContext* FX_Process_GetContext ( )

Retrieve process context.

Returns
The current process context object.
Note
This function is used internally.

◆ FX_Process_GetID()

FX_PROCESSID FX_Process_GetID ( )

Get the current process ID.

Returns
The current process ID

◆ FX_Process_GetPrivateData()

FX_LPVOID FX_Process_GetPrivateData ( FX_LPVOID  key)

Get private data in the current process.

Parameters
[in]keyKey value to specify private data to be retrieved.
Returns
Pointer to private data, NULL if failure.

◆ FX_Process_Initialize()

void FX_Process_Initialize ( )

Initialize process.

Returns
None.
Note
Application should call this function after initializes memory management. This function will prepare some global resources which are used in application.

◆ FX_Process_RemovePrivateData()

void FX_Process_RemovePrivateData ( FX_LPVOID  key)

Remove private data in the current process.

Parameters
[in]keyKey value to specify private data to be removed.
Returns
None.

◆ FX_Process_SetPrivateData()

void FX_Process_SetPrivateData ( FX_LPVOID  key,
FX_LPVOID  data,
PD_CALLBACK_FREEDATA  callback 
)

Set private data in the current process.

Parameters
[in]keyKey value to specify private data to be set.
[in]dataPointer to private data.
[in]callbackCallback function address which is used to free private data, pass NULL if need no additional process to free private data.
Returns
None.

◆ FX_Time_GetClock()

FX_DWORD FX_Time_GetClock ( )

Get the clock ticks elapsed by calling process.

Returns
Elapsed time in milliseconds.

◆ FX_Time_GetLocalTime()

void FX_Time_GetLocalTime ( FX_SYSTEMTIME pSystemTime)

Retrieve the current local date and time.

Parameters
[in,out]pSystemTimePointer to a FX_SYSTEMTIME to receive the current local data and time.
Returns
None.

◆ FX_Time_GetSystemTime()

void FX_Time_GetSystemTime ( FX_SYSTEMTIME pSystemTime)

Retrieve the current system date and time.

Parameters
[in,out]pSystemTimePointer to a FX_SYSTEMTIME to receive the current system data and time.
Returns
None.

◆ FX_Time_Sleep()

FX_DWORD FX_Time_Sleep ( FX_DWORD  dwMilliseconds)

Delay the current running for specified milliseconds.

Parameters
[in]dwMillisecondsTime in milliseconds to delay.
Returns
Remained time has not elapsed, 0 if time interval expired.

◆ FX_UrlDecode()

CFX_WideString FX_UrlDecode ( const CFX_ByteString bsUrl)

A simple URL decode.

Parameters
[in]bsUrlA URL string to be decoded.
Returns
The decoded URL string.

◆ FX_UrlEncode()

CFX_ByteString FX_UrlEncode ( const CFX_WideString wsUrl)

A simple URL encode.

Parameters
[in]wsUrlA URL string to be encoded.
Returns
The encoded URL string.

◆ FXCRT_GetCurrentSystemTime()

void FXCRT_GetCurrentSystemTime ( FXCRT_DATETIMEZONE dt)

Get current system date,time and timezone information.

Parameters
[in,out]dtStructure to receive the current system date,time and timezone information.
Returns
None.

◆ FXMEM_Alloc()

void* FXMEM_Alloc ( FXMEM_FoxitMgr *  pFoxitMgr,
size_t  size,
int  flags 
)

Foxit basic memory allocation function.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]sizeThe size in bytes to allocate.
[in]flagsMemory allocation attributes.
Returns
Address of new memory block.

◆ FXMEM_AllocDebug()

void* FXMEM_AllocDebug ( FXMEM_FoxitMgr *  pFoxitMgr,
size_t  size,
int  flags,
FX_LPCSTR  file,
int  line 
)

Foxit basic memory allocation function in debug-mode.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]sizeThe size in bytes to allocate.
[in]flagsMemory allocation attributes.
[in]fileThe name of the current source file.
[in]lineThe line number in the current source file.
Returns
Address of new memory block.

◆ FXMEM_CollectAll()

void FXMEM_CollectAll ( FXMEM_FoxitMgr *  pFoxitMgr)

Release all memory blocks allocated by a Foxit manager. This function is only supported on embedded systems.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
Returns
None.

◆ FXMEM_CreateFixedMgr()

FXMEM_FoxitMgr* FXMEM_CreateFixedMgr ( void *  pMemory,
size_t  size,
FXMEM_SystemMgr2 pExtender 
)

Create a Foxit manager from a pre-allocated, fixed memory buffer.

This form of Foxit manager is typically used on embedded systems where memory is limited and can be dedicated to single task. The application is responsible to allocate and free the fixed memory buffer. Buffer size can't be lower than 512KB, there is no upper limit. Now the fixed memory manager supports extensible pool. If parameter pExtender is not NULL, then when current memory pool runs out, it will ask for more from the system.

Parameters
[in]pMemoryA pointer to a memory block.
[in]sizeThe size in bytes of the memory block pointed by parameter pMemory.
[in]pExtenderA pointer to a FXMEM_SystemMgr2 object.
Returns
A pointer to a FXMEM_FoxitMgr object.

◆ FXMEM_CreateFoxitMgr()

FXMEM_FoxitMgr* FXMEM_CreateFoxitMgr ( FXMEM_SystemMgr pSystemMgr)

Create a Foxit manager. A system manager must be provided for actual allocation.

On desktop platforms, you don't have to create a Foxit manager to use memory allocation, because FPDFAPI comes with a default Foxit manager (and underlying default system manager). But if your application uses non-default system manager, you will have to create a new Foxit manager that makes use of the custom system manager.

Parameters
[in]pSystemMgrA pointer to a FXMEM_SystemMgr object.
Returns
A pointer to a FXMEM_FoxitMgr object.

◆ FXMEM_CreateMemoryMgr()

FXMEM_FoxitMgr* FXMEM_CreateMemoryMgr ( size_t  size,
FX_BOOL  extensible 
)

Create a fixed memory manager as default implementation.

Parameters
[in]sizeInitial size of memory pool, in bytes. It should be not less than 8MB(1024 * 1024 * 8).
[in]extensibleIf it's true, memory pool will extend if need more space. And false means memory cannot be extended.
Returns
A pointer to a FXMEM_FoxitMgr object.
Note
If parameter extensible is false and there is no enough space to allocate, FX_Alloc or FX_Realloc will return NULL directly. For extensible memory manager, it will try to request more memory pools to allocate.

◆ FXMEM_DefaultAlloc()

void* FXMEM_DefaultAlloc ( size_t  byte_size,
int  flags 
)

Default allocation function using default Foxit memory manager for current module.

Parameters
[in]byte_sizeThe size in bytes to allocate.
[in]flagsMemory allocation attributes.
Returns
Address of new memory block.

◆ FXMEM_DefaultAlloc2()

void* FXMEM_DefaultAlloc2 ( size_t  units,
size_t  unit_size,
int  flags 
)

Default allocation function using default Foxit memory manager for current module.

Parameters
[in]unitsNumber of units to allocate.
[in]unit_sizeThe byte size of each unit.
[in]flagsMemory allocation attributes.
Returns
Address of new memory block.

◆ FXMEM_DefaultAllocDebug()

void* FXMEM_DefaultAllocDebug ( size_t  size,
int  flags,
FX_LPCSTR  file,
int  line 
)

Default debug-mode allocation function using default Foxit memory manager for current module.

Parameters
[in]sizeThe size in bytes to allocate.
[in]flagsMemory allocation attributes.
[in]fileThe name of the current source file.
[in]lineThe line number in the current source file.
Returns
Address of new memory block.

◆ FXMEM_DefaultAllocDebug2()

void* FXMEM_DefaultAllocDebug2 ( size_t  units,
size_t  unit_size,
int  flags,
FX_LPCSTR  file,
int  line 
)

Default debug-mode allocation function using default Foxit memory manager for current module.

Parameters
[in]unitsNumber of units to allocate.
[in]unit_sizeThe byte size of each unit.
[in]flagsMemory allocation attributes.
[in]fileThe name of the current source file.
[in]lineThe line number in the current source file.
Returns
Address of new memory block.

◆ FXMEM_DefaultFree()

void FXMEM_DefaultFree ( void *  pointer,
int  flags 
)

Default free function using default Foxit memory manager for current module.

Parameters
[in]pointerAddress of a memory block.
[in]flagsMemory allocation attributes.
Returns
None.

◆ FXMEM_DefaultRealloc()

void* FXMEM_DefaultRealloc ( void *  pointer,
size_t  new_size,
int  flags 
)

Default reallocation function using default Foxit memory manager for current module.

Parameters
[in]pointerAddress of the memory block to be reallocated.
[in]new_sizeThe new size in bytes to reallocate.
[in]flagsMemory allocation attributes.
Returns
Address of new memory block.

◆ FXMEM_DefaultRealloc2()

void* FXMEM_DefaultRealloc2 ( void *  pointer,
size_t  units,
size_t  unit_size,
int  flags 
)

Default reallocation function using default Foxit memory manager for current module.

Parameters
[in]pointerAddress of the memory block to be reallocated.
[in]unitsNumber of units to allocate.
[in]unit_sizeThe byte size of each unit.
[in]flagsMemory allocation attributes.
Returns
Address of new memory block.

◆ FXMEM_DefaultReallocDebug()

void* FXMEM_DefaultReallocDebug ( void *  pointer,
size_t  new_size,
int  flags,
FX_LPCSTR  file,
int  line 
)

Default debug-mode reallocation function using default Foxit memory manager for current module.

Parameters
[in]pointerAddress of the memory block to be reallocated.
[in]new_sizeThe new size in bytes to reallocate.
[in]flagsMemory allocation attributes.
[in]fileThe name of the current source file.
[in]lineThe line number in the current source file.
Returns
Address of new memory block.

◆ FXMEM_DefaultReallocDebug2()

void* FXMEM_DefaultReallocDebug2 ( void *  pointer,
size_t  units,
size_t  unit_size,
int  flags,
FX_LPCSTR  file,
int  line 
)

Default debug-mode reallocation function using default Foxit memory manager for current module.

Parameters
[in]pointerAddress of the memory block to be reallocated.
[in]unitsNumber of units to allocate.
[in]unit_sizeThe byte size of each unit.
[in]flagsMemory allocation attributes.
[in]fileThe name of the current source file.
[in]lineThe line number in the current source file.
Returns
Address of new memory block.

◆ FXMEM_DestroyFoxitMgr()

void FXMEM_DestroyFoxitMgr ( FXMEM_FoxitMgr *  pFoxitMgr)

Destroy a Foxit manager instance. If the platform supports auto-collection, then all allocated memory blocks will be released.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
Returns
None.

◆ FXMEM_Free()

void FXMEM_Free ( FXMEM_FoxitMgr *  pFoxitMgr,
void *  pointer,
int  flags 
)

Foxit basic memory free function.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]pointerA pointer to a memory block.
[in]flagsMemory allocation attributes.
Returns
None.

◆ FXMEM_GetBlockSizeInFixedMgr()

size_t FXMEM_GetBlockSizeInFixedMgr ( FXMEM_FoxitMgr *  pFoxitMgr,
void *  ptr 
)

Get the size of a memory block to which ptr points.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object, it should be created as fixed memory manager.
[in]ptrA pointer to a memory block.
Returns
Memory block size in bytes if parameter ptr locates in fixed memory manager, or 0 returns.

◆ FXMEM_GetDefAllocator()

IFX_Allocator* FXMEM_GetDefAllocator ( )

Get default allocator used by the library.

Returns
The default IFX_Allocator pointer.

◆ FXMEM_GetDefaultMgr()

FXMEM_FoxitMgr* FXMEM_GetDefaultMgr ( )

Get default memory manager for current module.

Returns
The default FXMEM_FoxitMgr pointer.

◆ FXMEM_OutputDebugTag()

void FXMEM_OutputDebugTag ( FXMEM_FoxitMgr *  pFoxitMgr,
FX_LPCSTR  tag 
)

Output a memory debug tag.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]tagTag string.
Returns
None.

◆ FXMEM_PurgeMgr()

void FXMEM_PurgeMgr ( FXMEM_FoxitMgr *  pFoxitMgr)

Release all excessive memory without touching any used memory. This is useful for extensible fixed memory manager (FXMEM_SystemMgr2), because we never free those additional memory pool until the memory manager destroyed.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
Returns
None.

◆ FXMEM_Realloc()

void* FXMEM_Realloc ( FXMEM_FoxitMgr *  pFoxitMgr,
void *  pointer,
size_t  new_size,
int  flags 
)

Foxit basic memory reallocation function.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]pointerA pointer to a memory block.
[in]new_sizeThe size in bytes to reallocate.
[in]flagsMemory allocation attributes.
Returns
Address of new memory block.

◆ FXMEM_ReallocDebug()

void* FXMEM_ReallocDebug ( FXMEM_FoxitMgr *  pFoxitMgr,
void *  pointer,
size_t  new_size,
int  flags,
FX_LPCSTR  file,
int  line 
)

Foxit basic memory reallocation function in debug-mode.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]pointerA pointer to a memory block.
[in]new_sizeThe size in bytes to reallocate.
[in]flagsMemory allocation attributes.
[in]fileThe name of the current source file.
[in]lineThe line number in the current source file.
Returns
Address of new memory block.

◆ FXMEM_ReportOOM()

void FXMEM_ReportOOM ( FXMEM_FoxitMgr *  pFoxitMgr)

Report Out-of-memory (OOM).

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
Returns
None.

◆ FXMEM_SetConfig()

void FXMEM_SetConfig ( const FX_MEMCONFIG memConfig)

Set configuration of fixed memory.

This function is optional for desktop platforms, and should be called at first to change default configuration when start application before initialize fixed memory manager.

Parameters
[in]memConfigA pointer to memory configuration.
Returns
None.

◆ FXMEM_SetDefaultMgr()

void FXMEM_SetDefaultMgr ( FXMEM_FoxitMgr *  pFoxitMgr)

Set default Foxit manager for current compile module (EXE, DLL, etc.).

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
Returns
None.

◆ FXMEM_SetOOMHandler()

void FXMEM_SetOOMHandler ( FXMEM_FoxitMgr *  pFoxitMgr,
FPDF_OOM_Handler  pOOMReportFunc,
void *  param 
)

Setup A Out-Of-Memory handler for a Foxit memory manager.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object.
[in]pOOMReportFuncA pointer a Out-Of-Memory handler.
[in]paramA generic typeless pointer for user data to be called back.
Returns
None.

◆ FXMEM_UseDebugger()

void FXMEM_UseDebugger ( FXMEM_FoxitMgr *  pFoxitMgr,
FXMEM_Debugger pDebugger 
)

Use a memory debugger which capturing all memory activities. Use NULL for parameter pDebugger to stop debugging.

Parameters
[in]pFoxitMgrA pointer to a FXMEM_FoxitMgr object to be debugged.
[in]pDebuggerA pointer to a FXMEM_Debugger object.
Returns
None.

◆ FXSYS_atoi()

FX_INT32 FXSYS_atoi ( FX_LPCSTR  str)

Convert an ANSI string to an integer.

Parameters
[in]strAn ANSI string.
Returns
An integer as converted result.

◆ FXSYS_atoi64()

FX_INT64 FXSYS_atoi64 ( FX_LPCSTR  str)

Convert an ANSI string to an integer.

Parameters
[in]strAn ANSI string.
Returns
An integer as converted result.

◆ FXSYS_i64toa()

FX_LPCSTR FXSYS_i64toa ( FX_INT64  value,
FX_LPSTR  str,
int  radix 
)

Convert an integer to an ANSI string.

Parameters
[in]valueAn integer.
[in]str
[in]radixBase of value; which must be in the range 2¨C36.
Returns

◆ FXSYS_i64tow()

FX_LPCWSTR FXSYS_i64tow ( FX_INT64  value,
FX_LPWSTR  str,
int  radix 
)

Convert an integer to an wide string.

Parameters
[in]valueAn integer.
[in]str
[in]radixBase of value; which must be in the range 2¨C36.
Returns

◆ FXSYS_memcmp32()

FX_INT32 FXSYS_memcmp32 ( const void *  buf1,
const void *  buf2,
size_t  size 
)

Compare data in two buffers.

Input buffers should start from 4-bytes-aligned position, but size can be any value.

Parameters
[in]buf1First buffer pointer.
[in]buf2Second buffer pointer.
[in]sizeLength of data to compare, in bytes.
Returns
The result would be following:
  • The result would be less than zero if buf1 less than buf2;
  • The result would be equal to zero if buf1 identical to buf2;
  • The result would be bigger than 0, if buf2 greater than buf2.

◆ FXSYS_memcpy32()

void* FXSYS_memcpy32 ( void *  dst,
const void *  src,
size_t  size 
)

Copy buffer data from source to destination.

Parameter dst and src should start from 4-bytes-aligned position, but size can be any value.

Parameters
[in,out]dstDestination buffer pointer.
[in]srcSource buffer pointer to copy from.
[in]sizeLength of data to copy, in bytes.
Returns
The dest buffer.

◆ FXSYS_memmove32()

void* FXSYS_memmove32 ( void *  dst,
const void *  src,
size_t  size 
)

Move source buffer data into destination.

Parameters
[in,out]dstDestination buffer pointer.
[in]srcSource buffer pointer.
[in]sizeLength of source buffer data to move, in bytes.
Returns
The dest buffer.

◆ FXSYS_memset32()

void* FXSYS_memset32 ( void *  dst,
FX_INT32  v,
size_t  size 
)

Set buffer data to specified value.

Parameter dst should start from 4-bytes-aligned position, but size can be any value.

Parameters
[in,out]dstDestination buffer pointer.
[in]vValue to set.
[in]sizeLength of data to set, in bytes.
Returns
The dest buffer.

◆ FXSYS_memset8()

void* FXSYS_memset8 ( void *  dst,
FX_BYTE  v,
size_t  size 
)

Set buffer data to specified value.

Parameter dst should start from 4-bytes-aligned position, but size can be any value.

Parameters
[in,out]dstDestination buffer pointer.
[in]vValue to set.
[in]sizeLength of data to set, in bytes.
Returns
The dest buffer.

◆ FXSYS_round()

int FXSYS_round ( FX_FLOAT  f)

Get nearest integer.

Parameters
[in]fA float value.
Returns
The nearest integer.

◆ FXSYS_wtoi()

FX_INT32 FXSYS_wtoi ( FX_LPCWSTR  str)

Convert a wide string to an integer.

Parameters
[in]strA wide string.
Returns
An integer as converted result.

◆ FXSYS_wtoi64()

FX_INT64 FXSYS_wtoi64 ( FX_LPCWSTR  str)

Convert a wide string to an integer.

Parameters
[in]strA wide string.
Returns
An integer as converted result.

◆ FXWCHAR_GetDirection()

int FXWCHAR_GetDirection ( FX_WCHAR  wchar)

Get text direction.

Parameters
[in]wchar
Returns
Direction value. Please refer to values starting from ::FXWCHAR_LTR and it would be one of these values.

◆ FXWCHAR_GetLower()

FX_WCHAR FXWCHAR_GetLower ( FX_WCHAR  wchar)

Convert to lower-case letter.

Parameters
[in]wcharA unicode character.
Returns
The lower-case letter.

◆ FXWCHAR_GetUpper()

FX_WCHAR FXWCHAR_GetUpper ( FX_WCHAR  wchar)

Convert to upper-case letter.

Parameters
[in]wcharA unicode character.
Returns
The upper-case letter.

◆ FXWCHAR_IsSpace()

FX_BOOL FXWCHAR_IsSpace ( FX_WCHAR  wchar)

Check if the unicode is space.

Parameters
[in]wcharA unicode character.
Returns
true means the input unicode character is space, and false means the input unicode character is not space.

◆ FXWCHAR_IsWordBreak()

FX_BOOL FXWCHAR_IsWordBreak ( FX_WCHAR  wchar)

Check if the unicode can break a word.

Parameters
[in]wcharA unicode character.
Returns
true means the input unicode character can break a word, and false means the input unicode character cannot break a word.

◆ operator!=() [1/5]

bool operator!= ( const CFX_WideString s1,
const CFX_WideString s2 
)

Comparison(!=) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide string.
Returns
true means not equal, while false means equal.

◆ operator!=() [2/5]

bool operator!= ( const CFX_WideString s1,
const CFX_WideStringC s2 
)

Comparison(!=) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide string.
Returns
true means not equal, while false means equal.

◆ operator!=() [3/5]

bool operator!= ( const CFX_WideStringC s1,
const CFX_WideString s2 
)

Comparison(!=) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide string.
Returns
true means not equal, while false means equal.

◆ operator!=() [4/5]

bool operator!= ( const CFX_WideString s1,
FX_LPCWSTR  s2 
)

Comparison(!=) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide character string.
Returns
true means not equal, while false means equal.

◆ operator!=() [5/5]

bool operator!= ( FX_LPCWSTR  s1,
const CFX_WideString s2 
)

Comparison(!=) operator overload. Case-sensitive.

Parameters
[in]s1The first wide character string.
[in]s2The second wide string.
Returns
true means not equal, while false means equal.

◆ operator+() [1/24]

CFX_ByteString operator+ ( FX_BSTR  str1,
FX_BSTR  str2 
)
inline

Concatenate a non-buffered byte string and a non-buffered byte string.

Parameters
[in]str1A non-buffered byte string.
[in]str2A non-buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [2/24]

CFX_ByteString operator+ ( FX_BSTR  str1,
FX_LPCSTR  str2 
)
inline

Concatenate a non-buffered byte string and a zero-terminated C-style string.

Parameters
[in]str1A non-buffered byte string.
[in]str2A zero-terminated C-style string.
Returns
A CFX_ByteString object.

◆ operator+() [3/24]

CFX_ByteString operator+ ( FX_LPCSTR  str1,
FX_BSTR  str2 
)
inline

Concatenate a zero-terminated C-style string and a non-buffered byte string.

Parameters
[in]str1A zero-terminated C-style string.
[in]str2A non-buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [4/24]

CFX_ByteString operator+ ( FX_BSTR  str1,
FX_CHAR  ch 
)
inline

Concatenate a non-buffered byte string and a single character or byte.

Parameters
[in]str1A non-buffered byte string.
[in]chA single character or byte.
Returns
A CFX_ByteString object.

◆ operator+() [5/24]

CFX_ByteString operator+ ( FX_CHAR  ch,
FX_BSTR  str2 
)
inline

Concatenate a single character or byte and a non-buffered byte string.

Parameters
[in]chA single character or byte.
[in]str2A non-buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [6/24]

CFX_ByteString operator+ ( const CFX_ByteString str1,
const CFX_ByteString str2 
)
inline

Concatenate a buffered byte string and a buffered byte string.

Parameters
[in]str1A buffered byte string.
[in]str2A buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [7/24]

CFX_ByteString operator+ ( const CFX_ByteString str1,
FX_CHAR  ch 
)
inline

Concatenate a buffered byte string and a single character or byte.

Parameters
[in]str1A buffered byte string.
[in]chA single character or byte.
Returns
A CFX_ByteString object.

◆ operator+() [8/24]

CFX_ByteString operator+ ( FX_CHAR  ch,
const CFX_ByteString str2 
)
inline

Concatenate a single character or byte and a buffered byte string.

Parameters
[in]chA single character or byte.
[in]str2A buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [9/24]

CFX_ByteString operator+ ( const CFX_ByteString str1,
FX_LPCSTR  str2 
)
inline

Concatenate a buffered byte string and a zero-terminated C-style string.

Parameters
[in]str1A buffered byte string.
[in]str2A zero-terminated C-style string.
Returns
A CFX_ByteString object.

◆ operator+() [10/24]

CFX_ByteString operator+ ( FX_LPCSTR  str1,
const CFX_ByteString str2 
)
inline

Concatenate a zero-terminated C-style string and a buffered byte string.

Parameters
[in]str1A zero-terminated C-style string.
[in]str2A buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [11/24]

CFX_ByteString operator+ ( const CFX_ByteString str1,
FX_BSTR  str2 
)
inline

Concatenate a buffered byte string and a non-buffered byte string.

Parameters
[in]str1A buffered byte string.
[in]str2A non-buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [12/24]

CFX_ByteString operator+ ( FX_BSTR  str1,
const CFX_ByteString str2 
)
inline

Concatenate a non-buffered byte string and a buffered byte string.

Parameters
[in]str1A non-buffered byte string.
[in]str2A buffered byte string.
Returns
A CFX_ByteString object.

◆ operator+() [13/24]

CFX_WideString operator+ ( const CFX_WideStringC str1,
const CFX_WideStringC str2 
)
inline

Concatenate a non-buffered wide string and a non-buffered wide string.

Parameters
[in]str1A non-buffered wide string.
[in]str2A non-buffered wide string.
Returns
A CFX_WideString object.

◆ operator+() [14/24]

CFX_WideString operator+ ( const CFX_WideStringC str1,
FX_LPCWSTR  str2 
)
inline

Concatenate a non-buffered byte string and a zero-terminated C-style string.

Parameters
[in]str1A non-buffered wide string.
[in]str2A zero-terminated C-style string.
Returns
A CFX_WideString object.

◆ operator+() [15/24]

CFX_WideString operator+ ( FX_LPCWSTR  str1,
const CFX_WideStringC str2 
)
inline

Concatenate a zero-terminated C-style string and a non-buffered byte string.

Parameters
[in]str1A zero-terminated C-style string.
[in]str2A non-buffered wide string.
Returns
A CFX_WideString object.

◆ operator+() [16/24]

CFX_WideString operator+ ( const CFX_WideStringC str1,
FX_WCHAR  ch 
)
inline

Concatenate a non-buffered byte string and a single character or byte.

Parameters
[in]str1A non-buffered wide string.
[in]chA single character.
Returns
A CFX_WideString object.

◆ operator+() [17/24]

CFX_WideString operator+ ( FX_WCHAR  ch,
const CFX_WideStringC str2 
)
inline

Concatenate a single character or byte and a non-buffered byte string.

Parameters
[in]chA single character.
[in]str2A non-buffered wide string.
Returns
A CFX_WideString object.

◆ operator+() [18/24]

CFX_WideString operator+ ( const CFX_WideString str1,
const CFX_WideString str2 
)
inline

Concatenate a buffered byte string and a buffered byte string.

Parameters
[in]str1A buffered wide string.
[in]str2A buffered wide string.
Returns
A CFX_WideString object.

◆ operator+() [19/24]

CFX_WideString operator+ ( const CFX_WideString str1,
FX_WCHAR  ch 
)
inline

Concatenate a buffered byte string and a single character or byte.

Parameters
[in]str1A buffered wide string.
[in]chA single character.
Returns
A CFX_WideString object.

◆ operator+() [20/24]

CFX_WideString operator+ ( FX_WCHAR  ch,
const CFX_WideString str2 
)
inline

Concatenate a single character or byte and a buffered byte string.

Parameters
[in]chA single character.
[in]str2A buffered wide string.
Returns
A CFX_WideString object.

◆ operator+() [21/24]

CFX_WideString operator+ ( const CFX_WideString str1,
FX_LPCWSTR  str2 
)
inline

Concatenate a buffered wide string and a zero-terminated C-style string.

Parameters
[in]str1A buffered wide string.
[in]str2A zero-terminated C-style string.
Returns
A CFX_WideString object.

◆ operator+() [22/24]

CFX_WideString operator+ ( FX_LPCWSTR  str1,
const CFX_WideString str2 
)
inline

Concatenate a zero-terminated C-style string and a buffered byte string.

Parameters
[in]str1A zero-terminated C-style string.
[in]str2A buffered wide string.
Returns
A CFX_ByteString object.

◆ operator+() [23/24]

CFX_WideString operator+ ( const CFX_WideString str1,
const CFX_WideStringC str2 
)
inline

Concatenate a buffered byte string and a non-buffered byte string.

Parameters
[in]str1A buffered wide string.
[in]str2A non-buffered wide string.
Returns
A CFX_WideString object.

◆ operator+() [24/24]

CFX_WideString operator+ ( const CFX_WideStringC str1,
const CFX_WideString str2 
)
inline

Concatenate a non-buffered byte string and a buffered byte string.

Parameters
[in]str1A non-buffered wide string.
[in]str2A buffered wide string.
Returns
A CFX_WideString object.

◆ operator<()

bool operator< ( const CFX_WideString lhs,
const CFX_WideString rhs 
)

Comparison(<) operator overload. Case-sensitive.

Parameters
[in]lhsThe left hand side wide string.
[in]rhsThe right hand side wide string.
Returns
true means lhs is smaller than rhs, while false means lhs is not smaller than rhs.

◆ operator=() [1/2]

CFX_ByteStringC & CFX_ByteStringC::operator= ( const CFX_ByteString src)
inline

Assignment(=) operator overload. From a CFX_ByteString object.

Parameters
[in]srcconstant ref to a CFX_ByteString object.
Returns
A reference to current object itself.

◆ operator=() [2/2]

CFX_WideStringC & CFX_WideStringC::operator= ( const CFX_WideString src)
inline

Assignment(=) operator overload. From a CFX_ByteString object.

Parameters
[in]srcconstant ref to a CFX_ByteString object.
Returns
A reference to current object itself.

◆ operator==() [1/5]

bool operator== ( const CFX_WideString s1,
const CFX_WideString s2 
)

Comparison(==) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide string.
Returns
true means equal, while false means not equal.

◆ operator==() [2/5]

bool operator== ( const CFX_WideString s1,
const CFX_WideStringC s2 
)

Comparison(==) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide string.
Returns
true means equal, while false means not equal.

◆ operator==() [3/5]

bool operator== ( const CFX_WideStringC s1,
const CFX_WideString s2 
)

Comparison(==) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide string.
Returns
true means equal, while false means not equal.

◆ operator==() [4/5]

bool operator== ( const CFX_WideString s1,
FX_LPCWSTR  s2 
)

Comparison(==) operator overload. Case-sensitive.

Parameters
[in]s1The first wide string.
[in]s2The second wide character string.
Returns
true means equal, while false means not equal.

◆ operator==() [5/5]

bool operator== ( FX_LPCWSTR  s1,
const CFX_WideString s2 
)

Comparison(==) operator overload. Case-sensitive.

Parameters
[in]s1The first wide character string.
[in]s2The second wide string.
Returns
true means equal, while false means not equal.