📄 mmires.h
字号:
// MMIRes.h: interface for the CMMIRes class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MMIRES_H__1F922045_F345_47CC_9635_58BF63A358C0__INCLUDED_)
#define AFX_MMIRES_H__1F922045_F345_47CC_9635_58BF63A358C0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <afxtempl.h>
#include "mmi_resource_def.h"
#include "mmi_ring_def.h"
#include "mmi_font_def.h"
#include "mmi_text_def.h"
#include "BmpProcessor.h"
typedef struct _IMG_INFO_T
{
LPBYTE pOriginal;
LPBYTE pProcessed;
int nProcSize;
} IMG_INFO_T, * PIMGINFO;
typedef struct _ANIM_INFO_T
{
LPBYTE pCompressed;
int nSize;
int nFrameNum;
} ANIM_INFO_T, * PANIMINFO;
typedef CMap<CString, LPCTSTR, PIMGINFO, PIMGINFO> IMG_MAP;
typedef CMap<CString, LPCTSTR, PANIMINFO, PANIMINFO> ANIM_MAP;
typedef CMap<CString, LPCTSTR, PAUD_RING_DATA_INFO_T, PAUD_RING_DATA_INFO_T> RING_MAP;
typedef CMap<CString, LPCTSTR, PTEXTINFO, PTEXTINFO> TEXT_MAP;
typedef CMap<CString, LPCTSTR, PGUI_FONT_INFO_T, PGUI_FONT_INFO_T> FONT_MAP;
typedef CMap<CString, LPCTSTR, PTEXTINFOONE, PTEXTINFOONE> TEXTONE_MAP;
typedef CMap<CString, LPCTSTR, PTEXTINFOEX, PTEXTINFOEX> TEXTEX_MAP;
typedef CMap<CString, LPCTSTR, PGUI_FONT_INFO_EX_T, PGUI_FONT_INFO_EX_T> FONTEX_MAP;
typedef CMap<CString, LPCTSTR, int, int> IMG_COMPRESS_MAP;
class CMMIRes
{
public:
MMI_RESOURCE_T m_Resource;
CString GetFileName( LPCTSTR pszID );
BOOL DeleteDirectory(LPCTSTR lpszDirName);
CString MakeImgID(LPCTSTR pszFileName);
BOOL AddImg( LPCTSTR pszID, LPCTSTR pszFileName, BOOL bCompressed = TRUE );
HBITMAP GetImg( LPCTSTR pszID );
BOOL ExportImg( LPCTSTR pszID, LPCTSTR pszFileName ); //导出
void ReleaseImg(void);
BOOL DeleteImg( LPCTSTR pszID );
BOOL ReplaceImg( LPCTSTR pszID, LPCTSTR pszFileName, int bCheckLimit = FALSE,
PUINT pOldSize = NULL, PUINT pNewSize = NULL, BOOL bCompressed = TRUE );
BOOL ImgIsExist( LPCTSTR pszID);
int CalcImgResSize(void);
CString MakeAnimID(LPCTSTR pszDirName);
BOOL AddAnim( LPCTSTR pszID, LPCTSTR pszDirName );
BOOL ExportAnim( LPCTSTR pszID, LPCTSTR pszDirName ); //导出
BOOL DeleteAnim(LPCTSTR pszID);
BOOL ReplaceAnim( LPCTSTR pszID, LPCTSTR pszDirName, int bCheckLimit = FALSE,
PUINT pOldSize = NULL, PUINT pNewSize = NULL );
BOOL AnimIsExist( LPCTSTR pszID);
int CalcAnimResSize(void);
BOOL AnimRecompress(UINT nTransColor = 0 );//默认为黑色
CString MakeRingID(LPCTSTR pszFileName);
BOOL AddRing( LPCTSTR pszID, LPCTSTR pszFileName );
BOOL ExportRing( LPCTSTR pszID, LPCTSTR pszFileName ); //导出
PAUD_RING_DATA_INFO_T GetRing( LPCTSTR pszID );
BOOL DeleteRing( LPCTSTR pszID );
BOOL ReplaceRing( LPCTSTR pszID, LPCTSTR pszFileName, int bCheckLimit = FALSE,
PUINT pOldSize = NULL, PUINT pNewSize = NULL );
BOOL RingIsExist( LPCTSTR pszID);
int CalcRingResSize(void);
BOOL AddText( LPCTSTR pszID, CStringArray & arrContent );
BOOL GetText( LPCTSTR pszID, CStringArray & arrContent );
BOOL GetTextOne( LPCTSTR pszID, CStringArray & arrContent );
BOOL DeleteText( LPCTSTR pszID );
BOOL ReplaceText( LPCTSTR pszID, CStringArray & arrContent, int bCheckLimit = FALSE );
BOOL TextIDIsExist( LPCTSTR pszID );
int CalcTextResSize(void);
BOOL AddTextEx( LPCTSTR pszID, CStringArray & arrContent );
BOOL GetTextEx( LPCTSTR pszID, CStringArray & arrContent );
BOOL ReplaceTextEx( LPCTSTR pszID, CStringArray & arrContent, int bCheckLimit = FALSE );
//BOOL TextIDIsExistEx( LPCTSTR pszID );
BOOL DeleteTextEx( LPCTSTR pszID );
BOOL AddFont( LPCTSTR pszID, int nType, CStringArray & arrFileName );
BOOL ExportFont( LPCTSTR pszID,LPCTSTR pszDirName);
BOOL DeleteFont( LPCTSTR pszID );
BOOL ReplaceFont( LPCTSTR pszID, CStringArray & arrFileName, BOOL bCheckLimit = FALSE );
BOOL FontIsExist( LPCTSTR pszID );
int CalcFontResSize(void);
BOOL AddFontEx( LPCTSTR pszID, int nType, CStringArray & arrFileName );
BOOL ExportFontEx( LPCTSTR pszID,LPCTSTR pszDirName);
BOOL DeleteFontEx( LPCTSTR pszID );
BOOL ReplaceFontEx( LPCTSTR pszID, CStringArray & arrFileName, BOOL bCheckLimit = FALSE );
BOOL FontExIsExist( LPCTSTR pszID );
BOOL CheckLimitSize(void);
BOOL IsEmpty(void);
void ReleaseAllRes(void);
LPCTSTR GetErrMsg(void) const { return m_szErrMsg; }
public:
CMMIRes();
~CMMIRes();
public:
CMapStringToString m_mapFileName;
//@hongliang.xin 2006-9-26 保存IMG压缩类型信息
IMG_COMPRESS_MAP m_mapImgCompress;
IMG_MAP m_mapImg;
ANIM_MAP m_mapAnim;
RING_MAP m_mapRing;
TEXT_MAP m_mapText;
TEXTEX_MAP m_mapTextEx;
TEXTONE_MAP m_mapTextOne;
FONT_MAP m_mapFont;
FONTEX_MAP m_mapFontEx;
int m_iVersion;
long m_iReset;
protected:
AUD_RING_TYPE_E GetRingType( LPCTSTR pszFileName );
BOOL LoadRing( LPCTSTR pszFileName, PAUD_RING_DATA_INFO_T * ppRing );
BOOL LoadFontLib( LPCTSTR pszFileName, LPBYTE &pContent, DWORD &dwSize);
private:
HBITMAP m_hBmp;
CBmpProcessor m_bmpProcessor;
static _TCHAR m_szErrMsg[256];
};
#endif // !defined(AFX_MMIRES_H__1F922045_F345_47CC_9635_58BF63A358C0__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -