WideString CPDF_FileSpec::EncodeFileName(const WideString& filepath) { if (filepath.GetLength() <= 1) return WideString(); #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ if (filepath[1] == L':') { WideString result(L'/'); result += filepath[0]; if (filepath[2] != L'\\') result += L'/'; result += ChangeSlashToPDF(filepath.c_str() + 2); return result; } if (filepath[0] == L'\\' && filepath[1] == L'\\') return ChangeSlashToPDF(filepath.c_str() + 1); if (filepath[0] == L'\\') return L'/' + ChangeSlashToPDF(filepath.c_str()); return ChangeSlashToPDF(filepath.c_str()); #elif _FX_PLATFORM_ == _FX_PLATFORM_APPLE_ if (filepath.Left(sizeof("Mac") - 1).EqualsASCII("Mac")) return L'/' + ChangeSlashToPDF(filepath.c_str()); return ChangeSlashToPDF(filepath.c_str()); #else return WideString(filepath); #endif }
CFX_WideString FILESPEC_EncodeFileName(FX_WSTR filepath) { if (filepath.GetLength() <= 1) { return CFX_WideString(); } #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ if (filepath.GetAt(1) == ':') { CFX_WideString result; result = '/'; result += filepath.GetAt(0); if (filepath.GetAt(2) != '\\') { result += '/'; } result += ChangeSlashToPDF(filepath.GetPtr() + 2); return result; } if (filepath.GetAt(0) == '\\' && filepath.GetAt(1) == '\\') { return ChangeSlashToPDF(filepath.GetPtr() + 1); } if (filepath.GetAt(0) == '\\') { CFX_WideString result; result = '/'; result += ChangeSlashToPDF(filepath.GetPtr()); return result; } return ChangeSlashToPDF(filepath.GetPtr()); #elif _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ if (filepath.Left(sizeof("Mac") - 1) == FX_WSTRC(L"Mac")) { CFX_WideString result; result = '/'; result += ChangeSlashToPDF(filepath.GetPtr()); return result; } return ChangeSlashToPDF(filepath.GetPtr()); #else return filepath; #endif }
CFX_WideString CPDF_FileSpec::EncodeFileName(const CFX_WideStringC& filepath) { if (filepath.GetLength() <= 1) return CFX_WideString(); #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ if (filepath.GetAt(1) == ':') { CFX_WideString result; result = '/'; result += filepath.GetAt(0); if (filepath.GetAt(2) != '\\') result += '/'; result += ChangeSlashToPDF(filepath.c_str() + 2); return result; } if (filepath.GetAt(0) == '\\' && filepath.GetAt(1) == '\\') return ChangeSlashToPDF(filepath.c_str() + 1); if (filepath.GetAt(0) == '\\') { CFX_WideString result; result = '/'; result += ChangeSlashToPDF(filepath.c_str()); return result; } return ChangeSlashToPDF(filepath.c_str()); #elif _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ if (filepath.Left(sizeof("Mac") - 1) == FX_WSTRC(L"Mac")) { CFX_WideString result; result = '/'; result += ChangeSlashToPDF(filepath.c_str()); return result; } return ChangeSlashToPDF(filepath.c_str()); #else return CFX_WideString(filepath); #endif }