| Index: core/src/fxcrt/fx_basic_util.cpp
|
| diff --git a/core/src/fxcrt/fx_basic_util.cpp b/core/src/fxcrt/fx_basic_util.cpp
|
| index 26eeacce1bb4a1d8e334e7e2f497dbe252b9721a..7d27e7e2b1fe73c03e547c871fc0e1682035d6ca 100644
|
| --- a/core/src/fxcrt/fx_basic_util.cpp
|
| +++ b/core/src/fxcrt/fx_basic_util.cpp
|
| @@ -11,486 +11,456 @@
|
| #else
|
| #include <direct.h>
|
| #endif
|
| -CFX_PrivateData::~CFX_PrivateData()
|
| -{
|
| - ClearAll();
|
| +CFX_PrivateData::~CFX_PrivateData() {
|
| + ClearAll();
|
| }
|
| -void FX_PRIVATEDATA::FreeData()
|
| -{
|
| - if (m_pData == NULL) {
|
| - return;
|
| - }
|
| - if (m_bSelfDestruct) {
|
| - delete (CFX_DestructObject*)m_pData;
|
| - } else if (m_pCallback) {
|
| - m_pCallback(m_pData);
|
| - }
|
| +void FX_PRIVATEDATA::FreeData() {
|
| + if (m_pData == NULL) {
|
| + return;
|
| + }
|
| + if (m_bSelfDestruct) {
|
| + delete (CFX_DestructObject*)m_pData;
|
| + } else if (m_pCallback) {
|
| + m_pCallback(m_pData);
|
| + }
|
| }
|
| -void CFX_PrivateData::AddData(void* pModuleId, void* pData, PD_CALLBACK_FREEDATA callback, FX_BOOL bSelfDestruct)
|
| -{
|
| - if (pModuleId == NULL) {
|
| - return;
|
| - }
|
| - FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| - int count = m_DataList.GetSize();
|
| - for (int i = 0; i < count; i ++) {
|
| - if (pList[i].m_pModuleId == pModuleId) {
|
| - pList[i].FreeData();
|
| - pList[i].m_pData = pData;
|
| - pList[i].m_pCallback = callback;
|
| - return;
|
| - }
|
| - }
|
| - FX_PRIVATEDATA data = {pModuleId, pData, callback, bSelfDestruct};
|
| - m_DataList.Add(data);
|
| +void CFX_PrivateData::AddData(void* pModuleId,
|
| + void* pData,
|
| + PD_CALLBACK_FREEDATA callback,
|
| + FX_BOOL bSelfDestruct) {
|
| + if (pModuleId == NULL) {
|
| + return;
|
| + }
|
| + FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| + int count = m_DataList.GetSize();
|
| + for (int i = 0; i < count; i++) {
|
| + if (pList[i].m_pModuleId == pModuleId) {
|
| + pList[i].FreeData();
|
| + pList[i].m_pData = pData;
|
| + pList[i].m_pCallback = callback;
|
| + return;
|
| + }
|
| + }
|
| + FX_PRIVATEDATA data = {pModuleId, pData, callback, bSelfDestruct};
|
| + m_DataList.Add(data);
|
| }
|
| -void CFX_PrivateData::SetPrivateData(void* pModuleId, void* pData, PD_CALLBACK_FREEDATA callback)
|
| -{
|
| - AddData(pModuleId, pData, callback, FALSE);
|
| +void CFX_PrivateData::SetPrivateData(void* pModuleId,
|
| + void* pData,
|
| + PD_CALLBACK_FREEDATA callback) {
|
| + AddData(pModuleId, pData, callback, FALSE);
|
| }
|
| -void CFX_PrivateData::SetPrivateObj(void* pModuleId, CFX_DestructObject* pObj)
|
| -{
|
| - AddData(pModuleId, pObj, NULL, TRUE);
|
| +void CFX_PrivateData::SetPrivateObj(void* pModuleId, CFX_DestructObject* pObj) {
|
| + AddData(pModuleId, pObj, NULL, TRUE);
|
| }
|
| -FX_BOOL CFX_PrivateData::RemovePrivateData(void* pModuleId)
|
| -{
|
| - if (pModuleId == NULL) {
|
| - return FALSE;
|
| - }
|
| - FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| - int count = m_DataList.GetSize();
|
| - for (int i = 0; i < count; i ++) {
|
| - if (pList[i].m_pModuleId == pModuleId) {
|
| - m_DataList.RemoveAt(i);
|
| - return TRUE;
|
| - }
|
| - }
|
| +FX_BOOL CFX_PrivateData::RemovePrivateData(void* pModuleId) {
|
| + if (pModuleId == NULL) {
|
| return FALSE;
|
| + }
|
| + FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| + int count = m_DataList.GetSize();
|
| + for (int i = 0; i < count; i++) {
|
| + if (pList[i].m_pModuleId == pModuleId) {
|
| + m_DataList.RemoveAt(i);
|
| + return TRUE;
|
| + }
|
| + }
|
| + return FALSE;
|
| }
|
| -void* CFX_PrivateData::GetPrivateData(void* pModuleId)
|
| -{
|
| - if (pModuleId == NULL) {
|
| - return NULL;
|
| - }
|
| - FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| - int count = m_DataList.GetSize();
|
| - for (int i = 0; i < count; i ++) {
|
| - if (pList[i].m_pModuleId == pModuleId) {
|
| - return pList[i].m_pData;
|
| - }
|
| - }
|
| +void* CFX_PrivateData::GetPrivateData(void* pModuleId) {
|
| + if (pModuleId == NULL) {
|
| return NULL;
|
| + }
|
| + FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| + int count = m_DataList.GetSize();
|
| + for (int i = 0; i < count; i++) {
|
| + if (pList[i].m_pModuleId == pModuleId) {
|
| + return pList[i].m_pData;
|
| + }
|
| + }
|
| + return NULL;
|
| }
|
| -void CFX_PrivateData::ClearAll()
|
| -{
|
| - FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| - int count = m_DataList.GetSize();
|
| - for (int i = 0; i < count; i ++) {
|
| - pList[i].FreeData();
|
| - }
|
| - m_DataList.RemoveAll();
|
| -}
|
| -void FX_atonum(const CFX_ByteStringC& strc, FX_BOOL& bInteger, void* pData)
|
| -{
|
| - if (FXSYS_memchr(strc.GetPtr(), '.', strc.GetLength()) == NULL) {
|
| - bInteger = TRUE;
|
| - int cc = 0, integer = 0;
|
| - const FX_CHAR* str = strc.GetCStr();
|
| - int len = strc.GetLength();
|
| - FX_BOOL bNegative = FALSE;
|
| - if (str[0] == '+') {
|
| - cc++;
|
| - } else if (str[0] == '-') {
|
| - bNegative = TRUE;
|
| - cc++;
|
| - }
|
| - while (cc < len) {
|
| - if (str[cc] < '0' || str[cc] > '9') {
|
| - break;
|
| - }
|
| - integer = integer * 10 + str[cc] - '0';
|
| - if (integer < 0) {
|
| - break;
|
| - }
|
| - cc ++;
|
| - }
|
| - if (bNegative) {
|
| - integer = -integer;
|
| - }
|
| - *(int*)pData = integer;
|
| - } else {
|
| - bInteger = FALSE;
|
| - *(FX_FLOAT*)pData = FX_atof(strc);
|
| - }
|
| +void CFX_PrivateData::ClearAll() {
|
| + FX_PRIVATEDATA* pList = m_DataList.GetData();
|
| + int count = m_DataList.GetSize();
|
| + for (int i = 0; i < count; i++) {
|
| + pList[i].FreeData();
|
| + }
|
| + m_DataList.RemoveAll();
|
| }
|
| -FX_FLOAT FX_atof(const CFX_ByteStringC& strc)
|
| -{
|
| - if (strc.GetLength() == 0) {
|
| - return 0.0;
|
| - }
|
| - int cc = 0;
|
| - FX_BOOL bNegative = FALSE;
|
| +void FX_atonum(const CFX_ByteStringC& strc, FX_BOOL& bInteger, void* pData) {
|
| + if (FXSYS_memchr(strc.GetPtr(), '.', strc.GetLength()) == NULL) {
|
| + bInteger = TRUE;
|
| + int cc = 0, integer = 0;
|
| const FX_CHAR* str = strc.GetCStr();
|
| int len = strc.GetLength();
|
| + FX_BOOL bNegative = FALSE;
|
| if (str[0] == '+') {
|
| - cc++;
|
| + cc++;
|
| } else if (str[0] == '-') {
|
| - bNegative = TRUE;
|
| - cc++;
|
| + bNegative = TRUE;
|
| + cc++;
|
| }
|
| while (cc < len) {
|
| - if (str[cc] != '+' && str[cc] != '-') {
|
| - break;
|
| - }
|
| - cc ++;
|
| - }
|
| - FX_FLOAT value = 0;
|
| + if (str[cc] < '0' || str[cc] > '9') {
|
| + break;
|
| + }
|
| + integer = integer * 10 + str[cc] - '0';
|
| + if (integer < 0) {
|
| + break;
|
| + }
|
| + cc++;
|
| + }
|
| + if (bNegative) {
|
| + integer = -integer;
|
| + }
|
| + *(int*)pData = integer;
|
| + } else {
|
| + bInteger = FALSE;
|
| + *(FX_FLOAT*)pData = FX_atof(strc);
|
| + }
|
| +}
|
| +FX_FLOAT FX_atof(const CFX_ByteStringC& strc) {
|
| + if (strc.GetLength() == 0) {
|
| + return 0.0;
|
| + }
|
| + int cc = 0;
|
| + FX_BOOL bNegative = FALSE;
|
| + const FX_CHAR* str = strc.GetCStr();
|
| + int len = strc.GetLength();
|
| + if (str[0] == '+') {
|
| + cc++;
|
| + } else if (str[0] == '-') {
|
| + bNegative = TRUE;
|
| + cc++;
|
| + }
|
| + while (cc < len) {
|
| + if (str[cc] != '+' && str[cc] != '-') {
|
| + break;
|
| + }
|
| + cc++;
|
| + }
|
| + FX_FLOAT value = 0;
|
| + while (cc < len) {
|
| + if (str[cc] == '.') {
|
| + break;
|
| + }
|
| + value = value * 10 + str[cc] - '0';
|
| + cc++;
|
| + }
|
| + static const FX_FLOAT fraction_scales[] = {
|
| + 0.1f, 0.01f, 0.001f, 0.0001f,
|
| + 0.00001f, 0.000001f, 0.0000001f, 0.00000001f,
|
| + 0.000000001f, 0.0000000001f, 0.00000000001f};
|
| + int scale = 0;
|
| + if (cc < len && str[cc] == '.') {
|
| + cc++;
|
| while (cc < len) {
|
| - if (str[cc] == '.') {
|
| - break;
|
| - }
|
| - value = value * 10 + str[cc] - '0';
|
| - cc ++;
|
| - }
|
| - static const FX_FLOAT fraction_scales[] = {0.1f, 0.01f, 0.001f, 0.0001f, 0.00001f, 0.000001f,
|
| - 0.0000001f, 0.00000001f, 0.000000001f, 0.0000000001f, 0.00000000001f
|
| - };
|
| - int scale = 0;
|
| - if (cc < len && str[cc] == '.') {
|
| - cc ++;
|
| - while (cc < len) {
|
| - value += fraction_scales[scale] * (str[cc] - '0');
|
| - scale ++;
|
| - if (scale == sizeof fraction_scales / sizeof(FX_FLOAT)) {
|
| - break;
|
| - }
|
| - cc ++;
|
| - }
|
| - }
|
| - return bNegative ? -value : value;
|
| + value += fraction_scales[scale] * (str[cc] - '0');
|
| + scale++;
|
| + if (scale == sizeof fraction_scales / sizeof(FX_FLOAT)) {
|
| + break;
|
| + }
|
| + cc++;
|
| + }
|
| + }
|
| + return bNegative ? -value : value;
|
| }
|
|
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900
|
| -void FXSYS_snprintf(char *str, size_t size, _Printf_format_string_ const char* fmt, ...)
|
| -{
|
| - va_list ap;
|
| - va_start(ap, fmt);
|
| - FXSYS_vsnprintf(str, size, fmt, ap);
|
| - va_end(ap);
|
| +void FXSYS_snprintf(char* str,
|
| + size_t size,
|
| + _Printf_format_string_ const char* fmt,
|
| + ...) {
|
| + va_list ap;
|
| + va_start(ap, fmt);
|
| + FXSYS_vsnprintf(str, size, fmt, ap);
|
| + va_end(ap);
|
| }
|
| -void FXSYS_vsnprintf(char *str, size_t size, const char* fmt, va_list ap)
|
| -{
|
| - (void) _vsnprintf(str, size, fmt, ap);
|
| - if (size) {
|
| - str[size - 1] = 0;
|
| - }
|
| +void FXSYS_vsnprintf(char* str, size_t size, const char* fmt, va_list ap) {
|
| + (void)_vsnprintf(str, size, fmt, ap);
|
| + if (size) {
|
| + str[size - 1] = 0;
|
| + }
|
| }
|
| #endif // _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900
|
|
|
| -static FX_BOOL FX_IsDigit(uint8_t ch)
|
| -{
|
| - return (ch >= '0' && ch <= '9') ? TRUE : FALSE;
|
| +static FX_BOOL FX_IsDigit(uint8_t ch) {
|
| + return (ch >= '0' && ch <= '9') ? TRUE : FALSE;
|
| }
|
| -static FX_BOOL FX_IsXDigit(uint8_t ch)
|
| -{
|
| - return (FX_IsDigit(ch) || (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f')) ? TRUE : FALSE;
|
| +static FX_BOOL FX_IsXDigit(uint8_t ch) {
|
| + return (FX_IsDigit(ch) || (ch >= 'A' && ch <= 'F') ||
|
| + (ch >= 'a' && ch <= 'f'))
|
| + ? TRUE
|
| + : FALSE;
|
| }
|
| -static uint8_t FX_MakeUpper(uint8_t ch)
|
| -{
|
| - if (ch < 'a' || ch > 'z') {
|
| - return ch;
|
| - }
|
| - return ch - 32;
|
| +static uint8_t FX_MakeUpper(uint8_t ch) {
|
| + if (ch < 'a' || ch > 'z') {
|
| + return ch;
|
| + }
|
| + return ch - 32;
|
| }
|
| -static int FX_HexToI(uint8_t ch)
|
| -{
|
| - ch = FX_MakeUpper(ch);
|
| - return FX_IsDigit(ch) ? (ch - '0') : (ch - 55);
|
| +static int FX_HexToI(uint8_t ch) {
|
| + ch = FX_MakeUpper(ch);
|
| + return FX_IsDigit(ch) ? (ch - '0') : (ch - 55);
|
| }
|
| static const unsigned char url_encodeTable[128] = {
|
| - 1, 1, 1, 1, 1, 1, 1, 1,
|
| - 1, 1, 1, 1, 1, 1, 1, 1,
|
| - 1, 1, 1, 1, 1, 1, 1, 1,
|
| - 1, 1, 1, 1, 1, 1, 1, 1,
|
| - 1, 0, 1, 1, 0, 1, 0, 0,
|
| - 0, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 0, 1, 0, 1, 0,
|
| - 0, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 1, 1, 1, 1, 0,
|
| - 1, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 0, 0, 0, 0, 0,
|
| - 0, 0, 0, 1, 1, 1, 1, 1,
|
| + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
| + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
|
| + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
|
| + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
| + 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
| + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
|
| };
|
| -CFX_ByteString FX_UrlEncode(const CFX_WideString& wsUrl)
|
| -{
|
| - const char arDigits[] = "0123456789ABCDEF";
|
| - CFX_ByteString rUrl;
|
| - int nLength = wsUrl.GetLength();
|
| - for (int i = 0; i < nLength; i++) {
|
| - FX_DWORD word = wsUrl.GetAt(i);
|
| - if (word > 0x7F || url_encodeTable[word] == 1) {
|
| - CFX_ByteString bsUri = CFX_ByteString::FromUnicode((FX_WORD)word);
|
| - int nByte = bsUri.GetLength();
|
| - for (int j = 0; j < nByte; j++) {
|
| - rUrl += '%';
|
| - uint8_t code = bsUri.GetAt(j);
|
| - rUrl += arDigits[code >> 4];
|
| - rUrl += arDigits[code & 0x0F];
|
| - }
|
| - } else {
|
| - rUrl += CFX_ByteString::FromUnicode((FX_WORD)word);
|
| - }
|
| +CFX_ByteString FX_UrlEncode(const CFX_WideString& wsUrl) {
|
| + const char arDigits[] = "0123456789ABCDEF";
|
| + CFX_ByteString rUrl;
|
| + int nLength = wsUrl.GetLength();
|
| + for (int i = 0; i < nLength; i++) {
|
| + FX_DWORD word = wsUrl.GetAt(i);
|
| + if (word > 0x7F || url_encodeTable[word] == 1) {
|
| + CFX_ByteString bsUri = CFX_ByteString::FromUnicode((FX_WORD)word);
|
| + int nByte = bsUri.GetLength();
|
| + for (int j = 0; j < nByte; j++) {
|
| + rUrl += '%';
|
| + uint8_t code = bsUri.GetAt(j);
|
| + rUrl += arDigits[code >> 4];
|
| + rUrl += arDigits[code & 0x0F];
|
| + }
|
| + } else {
|
| + rUrl += CFX_ByteString::FromUnicode((FX_WORD)word);
|
| }
|
| - return rUrl;
|
| + }
|
| + return rUrl;
|
| }
|
| -CFX_WideString FX_UrlDecode(const CFX_ByteString& bsUrl)
|
| -{
|
| - CFX_ByteString rUrl;
|
| - int nLength = bsUrl.GetLength();
|
| - for (int i = 0; i < nLength; i++) {
|
| - if (i < nLength - 2 && bsUrl[i] == '%' && FX_IsXDigit(bsUrl[i + 1]) && FX_IsXDigit(bsUrl[i + 2])) {
|
| - rUrl += (FX_HexToI(bsUrl[i + 1]) << 4 | FX_HexToI(bsUrl[i + 2]));
|
| - i += 2;
|
| - } else {
|
| - rUrl += bsUrl[i];
|
| - }
|
| +CFX_WideString FX_UrlDecode(const CFX_ByteString& bsUrl) {
|
| + CFX_ByteString rUrl;
|
| + int nLength = bsUrl.GetLength();
|
| + for (int i = 0; i < nLength; i++) {
|
| + if (i < nLength - 2 && bsUrl[i] == '%' && FX_IsXDigit(bsUrl[i + 1]) &&
|
| + FX_IsXDigit(bsUrl[i + 2])) {
|
| + rUrl += (FX_HexToI(bsUrl[i + 1]) << 4 | FX_HexToI(bsUrl[i + 2]));
|
| + i += 2;
|
| + } else {
|
| + rUrl += bsUrl[i];
|
| }
|
| - return CFX_WideString::FromLocal(rUrl);
|
| + }
|
| + return CFX_WideString::FromLocal(rUrl);
|
| }
|
| -CFX_ByteString FX_EncodeURI(const CFX_WideString& wsURI)
|
| -{
|
| - const char arDigits[] = "0123456789ABCDEF";
|
| - CFX_ByteString rURI;
|
| - CFX_ByteString bsUri = wsURI.UTF8Encode();
|
| - int nLength = bsUri.GetLength();
|
| - for (int i = 0; i < nLength; i++) {
|
| - uint8_t code = bsUri.GetAt(i);
|
| - if (code > 0x7F || url_encodeTable[code] == 1) {
|
| - rURI += '%';
|
| - rURI += arDigits[code >> 4];
|
| - rURI += arDigits[code & 0x0F];
|
| - } else {
|
| - rURI += code;
|
| - }
|
| +CFX_ByteString FX_EncodeURI(const CFX_WideString& wsURI) {
|
| + const char arDigits[] = "0123456789ABCDEF";
|
| + CFX_ByteString rURI;
|
| + CFX_ByteString bsUri = wsURI.UTF8Encode();
|
| + int nLength = bsUri.GetLength();
|
| + for (int i = 0; i < nLength; i++) {
|
| + uint8_t code = bsUri.GetAt(i);
|
| + if (code > 0x7F || url_encodeTable[code] == 1) {
|
| + rURI += '%';
|
| + rURI += arDigits[code >> 4];
|
| + rURI += arDigits[code & 0x0F];
|
| + } else {
|
| + rURI += code;
|
| }
|
| - return rURI;
|
| + }
|
| + return rURI;
|
| }
|
| -CFX_WideString FX_DecodeURI(const CFX_ByteString& bsURI)
|
| -{
|
| - CFX_ByteString rURI;
|
| - int nLength = bsURI.GetLength();
|
| - for (int i = 0; i < nLength; i++) {
|
| - if (i < nLength - 2 && bsURI[i] == '%' && FX_IsXDigit(bsURI[i + 1]) && FX_IsXDigit(bsURI[i + 2])) {
|
| - rURI += (FX_HexToI(bsURI[i + 1]) << 4 | FX_HexToI(bsURI[i + 2]));
|
| - i += 2;
|
| - } else {
|
| - rURI += bsURI[i];
|
| - }
|
| +CFX_WideString FX_DecodeURI(const CFX_ByteString& bsURI) {
|
| + CFX_ByteString rURI;
|
| + int nLength = bsURI.GetLength();
|
| + for (int i = 0; i < nLength; i++) {
|
| + if (i < nLength - 2 && bsURI[i] == '%' && FX_IsXDigit(bsURI[i + 1]) &&
|
| + FX_IsXDigit(bsURI[i + 2])) {
|
| + rURI += (FX_HexToI(bsURI[i + 1]) << 4 | FX_HexToI(bsURI[i + 2]));
|
| + i += 2;
|
| + } else {
|
| + rURI += bsURI[i];
|
| }
|
| - return CFX_WideString::FromUTF8(rURI, rURI.GetLength());
|
| + }
|
| + return CFX_WideString::FromUTF8(rURI, rURI.GetLength());
|
| }
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
|
| -class CFindFileData
|
| -{
|
| -public:
|
| - virtual ~CFindFileData() {}
|
| - HANDLE m_Handle;
|
| - FX_BOOL m_bEnd;
|
| +class CFindFileData {
|
| + public:
|
| + virtual ~CFindFileData() {}
|
| + HANDLE m_Handle;
|
| + FX_BOOL m_bEnd;
|
| };
|
| -class CFindFileDataA : public CFindFileData
|
| -{
|
| -public:
|
| - virtual ~CFindFileDataA() {}
|
| - WIN32_FIND_DATAA m_FindData;
|
| +class CFindFileDataA : public CFindFileData {
|
| + public:
|
| + virtual ~CFindFileDataA() {}
|
| + WIN32_FIND_DATAA m_FindData;
|
| };
|
| -class CFindFileDataW : public CFindFileData
|
| -{
|
| -public:
|
| - virtual ~CFindFileDataW() {}
|
| - WIN32_FIND_DATAW m_FindData;
|
| +class CFindFileDataW : public CFindFileData {
|
| + public:
|
| + virtual ~CFindFileDataW() {}
|
| + WIN32_FIND_DATAW m_FindData;
|
| };
|
| #endif
|
| -void* FX_OpenFolder(const FX_CHAR* path)
|
| -{
|
| +void* FX_OpenFolder(const FX_CHAR* path) {
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
|
| #ifndef _WIN32_WCE
|
| - CFindFileDataA* pData = new CFindFileDataA;
|
| + CFindFileDataA* pData = new CFindFileDataA;
|
| #ifdef _FX_WINAPI_PARTITION_DESKTOP_
|
| - pData->m_Handle = FindFirstFileA(CFX_ByteString(path) + "/*.*", &pData->m_FindData);
|
| + pData->m_Handle =
|
| + FindFirstFileA(CFX_ByteString(path) + "/*.*", &pData->m_FindData);
|
| #else
|
| - pData->m_Handle = FindFirstFileExA(CFX_ByteString(path) + "/*.*", FindExInfoStandard, &pData->m_FindData, FindExSearchNameMatch, NULL, 0);
|
| + pData->m_Handle =
|
| + FindFirstFileExA(CFX_ByteString(path) + "/*.*", FindExInfoStandard,
|
| + &pData->m_FindData, FindExSearchNameMatch, NULL, 0);
|
| #endif
|
| #else
|
| - CFindFileDataW* pData = new CFindFileDataW;
|
| - pData->m_Handle = FindFirstFileW(CFX_WideString::FromLocal(path) + L"/*.*", &pData->m_FindData);
|
| + CFindFileDataW* pData = new CFindFileDataW;
|
| + pData->m_Handle = FindFirstFileW(CFX_WideString::FromLocal(path) + L"/*.*",
|
| + &pData->m_FindData);
|
| #endif
|
| - if (pData->m_Handle == INVALID_HANDLE_VALUE) {
|
| - delete pData;
|
| - return NULL;
|
| - }
|
| - pData->m_bEnd = FALSE;
|
| - return pData;
|
| + if (pData->m_Handle == INVALID_HANDLE_VALUE) {
|
| + delete pData;
|
| + return NULL;
|
| + }
|
| + pData->m_bEnd = FALSE;
|
| + return pData;
|
| #else
|
| - DIR* dir = opendir(path);
|
| - return dir;
|
| + DIR* dir = opendir(path);
|
| + return dir;
|
| #endif
|
| }
|
| -void* FX_OpenFolder(const FX_WCHAR* path)
|
| -{
|
| +void* FX_OpenFolder(const FX_WCHAR* path) {
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
|
| - CFindFileDataW* pData = new CFindFileDataW;
|
| + CFindFileDataW* pData = new CFindFileDataW;
|
| #ifdef _FX_WINAPI_PARTITION_DESKTOP_
|
| - pData->m_Handle = FindFirstFileW((CFX_WideString(path) + L"/*.*").c_str(), &pData->m_FindData);
|
| + pData->m_Handle = FindFirstFileW((CFX_WideString(path) + L"/*.*").c_str(),
|
| + &pData->m_FindData);
|
| #else
|
| - pData->m_Handle = FindFirstFileExW((CFX_WideString(path) + L"/*.*").c_str(), FindExInfoStandard, &pData->m_FindData, FindExSearchNameMatch, NULL, 0);
|
| + pData->m_Handle = FindFirstFileExW((CFX_WideString(path) + L"/*.*").c_str(),
|
| + FindExInfoStandard, &pData->m_FindData,
|
| + FindExSearchNameMatch, NULL, 0);
|
| #endif
|
| - if (pData->m_Handle == INVALID_HANDLE_VALUE) {
|
| - delete pData;
|
| - return NULL;
|
| - }
|
| - pData->m_bEnd = FALSE;
|
| - return pData;
|
| + if (pData->m_Handle == INVALID_HANDLE_VALUE) {
|
| + delete pData;
|
| + return NULL;
|
| + }
|
| + pData->m_bEnd = FALSE;
|
| + return pData;
|
| #else
|
| - DIR* dir = opendir(CFX_ByteString::FromUnicode(path));
|
| - return dir;
|
| + DIR* dir = opendir(CFX_ByteString::FromUnicode(path));
|
| + return dir;
|
| #endif
|
| }
|
| -FX_BOOL FX_GetNextFile(void* handle, CFX_ByteString& filename, FX_BOOL& bFolder)
|
| -{
|
| - if (handle == NULL) {
|
| - return FALSE;
|
| - }
|
| +FX_BOOL FX_GetNextFile(void* handle,
|
| + CFX_ByteString& filename,
|
| + FX_BOOL& bFolder) {
|
| + if (handle == NULL) {
|
| + return FALSE;
|
| + }
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
|
| #ifndef _WIN32_WCE
|
| - CFindFileDataA* pData = (CFindFileDataA*)handle;
|
| - if (pData->m_bEnd) {
|
| - return FALSE;
|
| - }
|
| - filename = pData->m_FindData.cFileName;
|
| - bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
|
| - if (!FindNextFileA(pData->m_Handle, &pData->m_FindData)) {
|
| - pData->m_bEnd = TRUE;
|
| - }
|
| - return TRUE;
|
| + CFindFileDataA* pData = (CFindFileDataA*)handle;
|
| + if (pData->m_bEnd) {
|
| + return FALSE;
|
| + }
|
| + filename = pData->m_FindData.cFileName;
|
| + bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
|
| + if (!FindNextFileA(pData->m_Handle, &pData->m_FindData)) {
|
| + pData->m_bEnd = TRUE;
|
| + }
|
| + return TRUE;
|
| #else
|
| - CFindFileDataW* pData = (CFindFileDataW*)handle;
|
| - if (pData->m_bEnd) {
|
| - return FALSE;
|
| - }
|
| - filename = CFX_ByteString::FromUnicode(pData->m_FindData.cFileName);
|
| - bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
|
| - if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) {
|
| - pData->m_bEnd = TRUE;
|
| - }
|
| - return TRUE;
|
| + CFindFileDataW* pData = (CFindFileDataW*)handle;
|
| + if (pData->m_bEnd) {
|
| + return FALSE;
|
| + }
|
| + filename = CFX_ByteString::FromUnicode(pData->m_FindData.cFileName);
|
| + bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
|
| + if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) {
|
| + pData->m_bEnd = TRUE;
|
| + }
|
| + return TRUE;
|
| #endif
|
| #elif defined(__native_client__)
|
| - abort();
|
| - return FALSE;
|
| + abort();
|
| + return FALSE;
|
| #else
|
| - struct dirent *de = readdir((DIR*)handle);
|
| - if (de == NULL) {
|
| - return FALSE;
|
| - }
|
| - filename = de->d_name;
|
| - bFolder = de->d_type == DT_DIR;
|
| - return TRUE;
|
| + struct dirent* de = readdir((DIR*)handle);
|
| + if (de == NULL) {
|
| + return FALSE;
|
| + }
|
| + filename = de->d_name;
|
| + bFolder = de->d_type == DT_DIR;
|
| + return TRUE;
|
| #endif
|
| }
|
| -FX_BOOL FX_GetNextFile(void* handle, CFX_WideString& filename, FX_BOOL& bFolder)
|
| -{
|
| - if (handle == NULL) {
|
| - return FALSE;
|
| - }
|
| +FX_BOOL FX_GetNextFile(void* handle,
|
| + CFX_WideString& filename,
|
| + FX_BOOL& bFolder) {
|
| + if (handle == NULL) {
|
| + return FALSE;
|
| + }
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
|
| - CFindFileDataW* pData = (CFindFileDataW*)handle;
|
| - if (pData->m_bEnd) {
|
| - return FALSE;
|
| - }
|
| - filename = pData->m_FindData.cFileName;
|
| - bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
|
| - if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) {
|
| - pData->m_bEnd = TRUE;
|
| - }
|
| - return TRUE;
|
| -#elif defined(__native_client__)
|
| - abort();
|
| + CFindFileDataW* pData = (CFindFileDataW*)handle;
|
| + if (pData->m_bEnd) {
|
| return FALSE;
|
| + }
|
| + filename = pData->m_FindData.cFileName;
|
| + bFolder = pData->m_FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
|
| + if (!FindNextFileW(pData->m_Handle, &pData->m_FindData)) {
|
| + pData->m_bEnd = TRUE;
|
| + }
|
| + return TRUE;
|
| +#elif defined(__native_client__)
|
| + abort();
|
| + return FALSE;
|
| #else
|
| - struct dirent *de = readdir((DIR*)handle);
|
| - if (de == NULL) {
|
| - return FALSE;
|
| - }
|
| - filename = CFX_WideString::FromLocal(de->d_name);
|
| - bFolder = de->d_type == DT_DIR;
|
| - return TRUE;
|
| + struct dirent* de = readdir((DIR*)handle);
|
| + if (de == NULL) {
|
| + return FALSE;
|
| + }
|
| + filename = CFX_WideString::FromLocal(de->d_name);
|
| + bFolder = de->d_type == DT_DIR;
|
| + return TRUE;
|
| #endif
|
| }
|
| -void FX_CloseFolder(void* handle)
|
| -{
|
| - if (handle == NULL) {
|
| - return;
|
| - }
|
| +void FX_CloseFolder(void* handle) {
|
| + if (handle == NULL) {
|
| + return;
|
| + }
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
|
| - CFindFileData* pData = (CFindFileData*)handle;
|
| - FindClose(pData->m_Handle);
|
| - delete pData;
|
| + CFindFileData* pData = (CFindFileData*)handle;
|
| + FindClose(pData->m_Handle);
|
| + delete pData;
|
| #else
|
| - closedir((DIR*)handle);
|
| + closedir((DIR*)handle);
|
| #endif
|
| }
|
| -FX_WCHAR FX_GetFolderSeparator()
|
| -{
|
| +FX_WCHAR FX_GetFolderSeparator() {
|
| #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
|
| - return '\\';
|
| + return '\\';
|
| #else
|
| - return '/';
|
| + return '/';
|
| #endif
|
| }
|
|
|
| -CFX_Matrix_3by3 CFX_Matrix_3by3::Inverse()
|
| -{
|
| - FX_FLOAT det = a*(e*i - f*h) - b*(i*d - f*g) + c*(d*h - e*g);
|
| - if (FXSYS_fabs(det) < 0.0000001)
|
| - return CFX_Matrix_3by3();
|
| +CFX_Matrix_3by3 CFX_Matrix_3by3::Inverse() {
|
| + FX_FLOAT det =
|
| + a * (e * i - f * h) - b * (i * d - f * g) + c * (d * h - e * g);
|
| + if (FXSYS_fabs(det) < 0.0000001)
|
| + return CFX_Matrix_3by3();
|
|
|
| - return CFX_Matrix_3by3(
|
| - (e*i - f*h) / det,
|
| - -(b*i - c*h) / det,
|
| - (b*f - c*e) / det,
|
| - -(d*i - f*g) / det,
|
| - (a*i - c*g) / det,
|
| - -(a*f - c*d) / det,
|
| - (d*h - e*g) / det,
|
| - -(a*h - b*g) / det,
|
| - (a*e - b*d) / det
|
| - );
|
| + return CFX_Matrix_3by3(
|
| + (e * i - f * h) / det, -(b * i - c * h) / det, (b * f - c * e) / det,
|
| + -(d * i - f * g) / det, (a * i - c * g) / det, -(a * f - c * d) / det,
|
| + (d * h - e * g) / det, -(a * h - b * g) / det, (a * e - b * d) / det);
|
| }
|
|
|
| -CFX_Matrix_3by3 CFX_Matrix_3by3::Multiply(const CFX_Matrix_3by3 &m)
|
| -{
|
| - return CFX_Matrix_3by3(
|
| - a*m.a + b*m.d + c*m.g,
|
| - a*m.b + b*m.e + c*m.h,
|
| - a*m.c + b*m.f + c*m.i,
|
| - d*m.a + e*m.d + f*m.g,
|
| - d*m.b + e*m.e + f*m.h,
|
| - d*m.c + e*m.f + f*m.i,
|
| - g*m.a + h*m.d + i*m.g,
|
| - g*m.b + h*m.e + i*m.h,
|
| - g*m.c + h*m.f + i*m.i
|
| - );
|
| +CFX_Matrix_3by3 CFX_Matrix_3by3::Multiply(const CFX_Matrix_3by3& m) {
|
| + return CFX_Matrix_3by3(
|
| + a * m.a + b * m.d + c * m.g, a * m.b + b * m.e + c * m.h,
|
| + a * m.c + b * m.f + c * m.i, d * m.a + e * m.d + f * m.g,
|
| + d * m.b + e * m.e + f * m.h, d * m.c + e * m.f + f * m.i,
|
| + g * m.a + h * m.d + i * m.g, g * m.b + h * m.e + i * m.h,
|
| + g * m.c + h * m.f + i * m.i);
|
| }
|
|
|
| -CFX_Vector_3by1 CFX_Matrix_3by3::TransformVector(const CFX_Vector_3by1 &v)
|
| -{
|
| - return CFX_Vector_3by1(
|
| - a * v.a + b * v.b + c * v.c,
|
| - d * v.a + e * v.b + f * v.c,
|
| - g * v.a + h * v.b + i * v.c
|
| - );
|
| +CFX_Vector_3by1 CFX_Matrix_3by3::TransformVector(const CFX_Vector_3by1& v) {
|
| + return CFX_Vector_3by1(a * v.a + b * v.b + c * v.c,
|
| + d * v.a + e * v.b + f * v.c,
|
| + g * v.a + h * v.b + i * v.c);
|
| }
|
|
|