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

📄 mmi.h

📁 在MTK平台上开放的一个皮肤工具,可以支持jpg、bmp、png图片
💻 H
字号:
#ifndef _MMI_H_
#define _MMI_H_


#define	 MMI_DEVICE_BMP_FORMAT					  16

#define  RGB_TRANSPARENT_COLOR_32                 (0x12345678)
#define  MMI_RGB_TO_HW_FORMAT(R,G,B)              ( (((B)&0xf8)>>3)|(((G)&0xfc)<<3)|(((R)&0xf8)<<8) )
#define  MMI_RGB_TO_HW_FORMAT_1(A,R,G,B)          ( ((unsigned short)(((signed long)(R)+(signed long)(G)+(signed long)(B))/(signed long)3)>=0x80)? 1:0 )
#define  MMI_RGB_TO_HW_FORMAT_16(A,R,G,B)         MMI_RGB_TO_HW_FORMAT(R,G,B)
#define  MMI_RGB_TO_HW_FORMAT_24(A,R,G,B)         ((R << 16) | (G << 8) | B)
#define  MMI_RGB_TO_HW_FORMAT_32(A,R,G,B)         ((A << 24) | (R << 16) | (G << 8) | B)

#define RGB_TRANSPARENT_COLOR_16                  (0x1234)
#define TEST_RGB_TRANSPARENT_COLOR_16(value)      ((value)==RGB_TRANSPARENT_COLOR_16)
#define SET_RGB_TRANSPARENT_COLOR_16(value)       ((value)=RGB_TRANSPARENT_COLOR_16)
#define RGB_TRANSPARENT_COLOR_24                  (0x123456)
#define TEST_RGB_TRANSPARENT_COLOR_24(value)      ((value)==RGB_TRANSPARENT_COLOR_24)
#define SET_RGB_TRANSPARENT_COLOR_24(value)       ((value)=RGB_TRANSPARENT_COLOR_24)
#define RGB_TRANSPARENT_COLOR_32                  (0x12345678)
#define TEST_RGB_TRANSPARENT_COLOR_32(value)      ((value)==RGB_TRANSPARENT_COLOR_32)
#define SET_RGB_TRANSPARENT_COLOR_32(value)       ((value)=RGB_TRANSPARENT_COLOR_32)

#define UI_UNUSED_PARAMETER(x)                    ((void)(x))


#define VOID			void

typedef char            CHAR;
typedef signed char     S8;           // 8-bit signed integer
typedef signed short    S16;          // 16-bit integer
typedef signed long     S32;          // 32-bit integer
typedef float           FLOAT;          // 32-bit floating point
typedef double          DOUBLE;         // 64-bit extended floating point

typedef unsigned char	U8;          // 8-bit unsigned integer
typedef unsigned short	U16;         // 16-bit unsigned integer
typedef unsigned long	U32;         // 32-bit unsigned integer

#ifndef NULL
#define NULL            ((void *) 0)
#endif


typedef enum
{
	MMI_FALSE,
	MMI_TRUE
}MMI_BOOL;

typedef enum
{
	IMAGE_TYPE_BMP = 0x01,
	IMAGE_TYPE_GIF = 0x03,
	IMAGE_TYPE_PNG = 0x13,
	IMAGE_TYPE_ABM = 0x28,
	IMAGE_TYPE_TOTAL
}image_type_t;

typedef struct _bytestream
{
    long int size;
    long int current_offset;
    U8 *data;
} bytestream;

typedef struct _bitmap
{
    S32 xsize;
    S32 ysize;
    S8 color_depth;
    S32 row_bytes;
    U8 *palette;
    U8 *data;
} bitmap;

typedef struct
{
	U8 file_type;
	U8 frame_count;
	U8 file_len_low;
	U8 file_len_mid;
	U8 file_len_high;
	//three byte store width and height
	//nWidthHeight = (((nWidth & 0XFFF) << 12) | (nHeight & 0XFFF))
	U8 width_height_low;
	U8 width_height_mid;
	U8 width_height_high;
}mtk_file_header_t;

extern void bytestream_initialize(bytestream *file, U8 *data, long int size);
extern void bytestream_fclose(bytestream *file);
extern U8 bytestream_fseek(bytestream *file, long int offset, int mode);
extern U8 bytestream_feof(bytestream *file);
extern U8 bytestream_fgetbyte(bytestream *file);
extern U8 bytestream_fputbyte(bytestream *file, U8 c);
extern int bytestream_fread(U8 *buffer, int size, int number, bytestream *file);
extern U16 bytestream_fgetword(bytestream *file);
extern U32 bytestream_fgetdword(bytestream *file);
extern U8 bytestream_fputword(bytestream *file, U16 w);
extern U8 bytestream_fputword_bigendian(bytestream *file, U16 w);
extern U8 bytestream_fputdword(bytestream *file, U32 d);
extern U8 bytestream_fputdword_bigendian(bytestream *file, U32 d);
extern U16 bytestream_fgetword_bigendian(bytestream *file);
extern U32 bytestream_fgetdword_bigendian(bytestream *file);
extern U32 bytestream_fgetvdata(bytestream *file);

extern U32 Image_Get_Dimensions(char *filename, U32 *width, U32 *height);
extern U8 ABMLoader(char *in_filename, U8 *out_data, U32 *data_len);
extern U8 GIFLoader(char *in_filename, U8 *out_data, U32 *data_len);
#endif/*_MMI_H_*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -