📄 mmi.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 + -