📄 common.h
字号:
#ifndef COMMON_TYPES_INC
#define COMMON_TYPES_INC
/* Typedefs for integer types */
typedef unsigned char uint8_t; /* unsigned 8 bit data */
typedef unsigned short uint16_t; /* unsigned 16 bit data */
typedef unsigned int uint32_t; /* unsigned 32 bit data */
typedef signed char int8_t; /* signed 8 bit data */
typedef signed short int16_t; /* signed 16 bit data */
typedef signed int int32_t; /* signed 32 bit data */
typedef uint8_t * p_uint8_t; /* unsigned 8 bit data */
typedef uint16_t * p_uint16_t; /* unsigned 16 bit data */
typedef uint32_t * p_uint32_t; /* unsigned 32 bit data */
typedef int8_t * p_int8_t; /* signed 8 bit data */
typedef int16_t * p_int16_t; /* signed 16 bit data */
typedef int32_t * p_int32_t; /* signed 32 bit data */
typedef uint16_t text_t; /* 16-bit text data */
typedef p_uint16_t p_text_t; /* 16-bit text data */
typedef uint8_t bool_t; /* Boolean, TRUE/FALSE */
typedef unsigned char U8; /* unsigned 8 bit data */
typedef unsigned short U16; /* unsigned 16 bit data */
typedef unsigned int U32; /* unsigned 32 bit data */
typedef char S8; /* signed 8 bit data */
typedef short S16; /* signed 16 bit data */
typedef int S32; /* signed 32 bit data */
typedef U8 * P_U8; /* unsigned 8 bit data */
typedef U16 * P_U16; /* unsigned 16 bit data */
typedef U32 * P_U32; /* unsigned 32 bit data */
typedef S8 * P_S8; /* signed 8 bit data */
typedef S16 * P_S16; /* signed 16 bit data */
typedef S32 * P_S32; /* signed 32 bit data */
typedef U16 TEXT; /* 16-bit text data */
typedef P_U16 P_TEXT; /* 16-bit text data */
typedef U8 BOOL; /* Boolean, TRUE/FALSE */
typedef void VOID; /* void */
typedef void * P_VOID; /* pointer to void */
#define R32 volatile P_U32
#define R16 volatile P_U16
#define R8 volatile P_U8
#define bit31 0x80000000
#define bit30 0x40000000
#define bit29 0x20000000
#define bit28 0x10000000
#define bit27 0x08000000
#define bit26 0x04000000
#define bit25 0x02000000
#define bit24 0x01000000
#define bit23 0x00800000
#define bit22 0x00400000
#define bit21 0x00200000
#define bit20 0x00100000
#define bit19 0x00080000
#define bit18 0x00040000
#define bit17 0x00020000
#define bit16 0x00010000
#define bit15 0x00008000
#define bit14 0x00004000
#define bit13 0x00002000
#define bit12 0x00001000
#define bit11 0x00000800
#define bit10 0x00000400
#define bit9 0x00000200
#define bit8 0x00000100
#define bit7 0x00000080
#define bit6 0x00000040
#define bit5 0x00000020
#define bit4 0x00000010
#define bit3 0x00000008
#define bit2 0x00000004
#define bit1 0x00000002
#define bit0 0x00000001
#define bit31_30 (bit31|bit30)
#define bit29_28 (bit29|bit28)
#define bit27_26 (bit27|bit26)
#define bit25_24 (bit25|bit24)
#define bit23_22 (bit23|bit22)
#define bit21_20 (bit21|bit20)
#define bit19_18 (bit19|bit18)
#define bit17_16 (bit17|bit16)
#define bit15_14 (bit15|bit14)
#define bit13_12 (bit13|bit12)
#define bit11_10 (bit11|bit10)
#define bit9_8 (bit9|bit8)
#define bit7_6 (bit7|bit6)
#define bit5_4 (bit5|bit4)
#define bit3_2 (bit3|bit2)
#define bit1_0 (bit1|bit0)
#define bit31_28 0xf0000000
#define bit27_24 0x0f000000
#define bit23_20 0x00f00000
#define bit19_16 0x000f0000
#define bit15_12 0x0000f000
#define bit11_8 0x00000f00
#define bit7_4 0x000000f0
#define bit3_0 0x0000000f
#define bit31_24 0xff000000
#define bit23_16 0x00ff0000
#define bit15_8 0x0000ff00
#define bit7_0 0x000000ff
#define bit31_16 0xffff0000
#define bit15_0 0x0000ffff
#define PASS 0
#define FAIL ~PASS
#define COLOR U16
/* point structure */
typedef struct
{
S16 x; /* x point */
S16 y; /* y point */
} POINT, *P_POINT;
typedef struct
{
S32 x; /* x point */
S32 y; /* y point */
} POINTS32, *P_POINTS32;
/* area structure */
typedef struct
{
POINT top; /* Top left corner */
POINT bottom; /* Bottom right corner */
} AREA, *P_AREA;
typedef struct {
P_U8 _BMP_Ptr;
U16 _x_max, _y_max;
U16 _x, _y;
U16 _height, _width;
} BITMAP, *P_BITMAP;
typedef struct {
P_U8 p_pic;
U32 file_size;
U32 data_offset;
U32 width;
U32 height;
U16 bits_per_pixel;
U32 colors;
} BITMAP_F, *P_BITMAP_F;
typedef struct {
P_U8 _BMP_Ptr; // Bitmap pointer
P_U8 _SCR_Ptr; // Text Screen pointer
P_U16 _ForeAttr_Ptr; // Foreground attribute pointer
P_U16 _BackAttr_Ptr; // Background attribute pointer
P_BITMAP _font; // Bitmap font
U16 _ForegroundColor;
U16 _BackgroundColor;
U16 _x_max; // Max X (width)
U16 _y_max; // Max Y (height)
U16 _x;
U16 _y;
U16 _max_col;
U16 _max_row;
U16 _col;
U16 _row;
U16 _Inited : 1;
U16 _Scroll : 1;
} SCRTYPE, *P_SCRTYPE;
#ifndef TRUE
#define TRUE (1 == 1)
#endif
#ifndef FALSE
#define FALSE (1 == 2)
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -