Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef __IMGFILE_H__
#define __IMGFILE_H__
// This is a little helper class for writing things to temporary files
// and giving them the correct name after the save suceeds...
//
class CFileSaver { public:
CFileSaver(const TCHAR* szFileName); // setup and create temp names
~CFileSaver(); // make sure temp files are gone
BOOL CanSave() const; // checks for R/O
const TCHAR* GetSafeName() const // return name of file to create
{ return m_strTempName; } const TCHAR* GetRealName() const // return name of final file
{ return m_strName; } BOOL Finish(); // rename new file as original
private:
CString m_strName; CString m_strBackupName; CString m_strTempName;
static const TCHAR BASED_CODE c_szAps []; };
struct ICONFILEHEADER { WORD icoReserved; WORD icoResourceType; WORD icoResourceCount; };
struct ICONDIRENTRY { BYTE nWidth; BYTE nHeight; BYTE nColorCount; BYTE bReserved; WORD wReserved1; WORD wReserved2; DWORD icoDIBSize; DWORD icoDIBOffset; };
struct CURSORFILEHEADER { WORD curReserved; WORD curResourceType; WORD curResourceCount; };
struct CURSORDIRENTRY { BYTE nWidth; BYTE nHeight; WORD wReserved; WORD curXHotspot; WORD curYHotspot; DWORD curDIBSize; DWORD curDIBOffset; };
extern int MkPath(TCHAR *szPath); extern void MkFullPath(CString& strFullPath, const CString& strRelPath, BOOL bPathOnly = FALSE); extern BOOL OpenSubFile(CFile& file, const CFileSaver& saver, UINT nOpenFlags, CFileException* pError = NULL);
/////////////////////////////////////////////////////////////////////////
#endif // __IMGFILE_H__
|