12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #ifndef __FOO_INTERFACE_IMAGEHANDLE_FACTORY__2005_06_21__H__
- #define __FOO_INTERFACE_IMAGEHANDLE_FACTORY__2005_06_21__H__
- class FCImageHandleBase ;
- class FCImageHandleFactory
- {
- public:
-
- virtual IMAGE_TYPE QueryImageFileType (const char* szFileName)
- {
- if (!szFileName)
- {assert(false); return IMG_UNKNOW;}
- std::string strExt (FCOXOHelper::GetFileExt(szFileName)) ;
- PCL_array<char> szConvert (new char[strExt.length() + 8]) ;
- memset (szConvert.get(), 0, strExt.length() + 8) ;
- memcpy (szConvert.get(), strExt.c_str(), strExt.length()) ;
-
- for (size_t i=0 ; i < strExt.length() ; i++)
- szConvert[i] = tolower(szConvert[i]) ;
- PCL_TT_Convertor<IMAGE_TYPE, std::string> aTab ;
- aTab.AddElement (IMG_JPG, "jpg") ;
- aTab.AddElement (IMG_JPG, "jpeg") ;
- aTab.AddElement (IMG_GIF, "gif") ;
- aTab.AddElement (IMG_PNG, "png") ;
- aTab.AddElement (IMG_BMP, "bmp") ;
- aTab.AddElement (IMG_PCX, "pcx") ;
- aTab.AddElement (IMG_TIF, "tif") ;
- aTab.AddElement (IMG_TIF, "tiff") ;
- aTab.AddElement (IMG_TGA, "tga") ;
- aTab.AddElement (IMG_ICO, "ico") ;
- aTab.AddElement (IMG_PSD, "psd") ;
- aTab.AddElement (IMG_XPM, "xpm") ;
- aTab.AddElement (IMG_PHOXO, "oxo") ;
- return aTab.Second_to_First (szConvert.get(), IMG_UNKNOW) ;
- }
-
- virtual FCImageHandleBase* CreateImageHandle (IMAGE_TYPE imgType) =0 ;
- virtual ~FCImageHandleFactory() {}
- };
- #endif
|