⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmires.h

📁 Resource editor base speadrum Chinese mobile
💻 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 + -