📄 bmp.h
字号:
/*==========================================================================\
* BMP.H
*
* Copyright (c) 1997, 1999 Epson Research and Development, Inc.
* All Rights Reserved.
*
\*==========================================================================*/
/* -------------------- #TYPEDEF and #DEFINE -----------------*/
/*
** The following definitions are for CalcDisplaySurfaceCombination()
*/
enum
{
SURFACE_NONE = -1,
SURFACE_MAIN_WIN0 = 0,
SURFACE_MAIN_AND_SUB_WIN0,
SURFACE_MAIN_WIN0_SUB_WIN1,
MAX_SURFACE_COMBINATIONS
};
/*-----------------------------------------------------------------------*/
#ifdef INTEL_W32
#undef far
#define far
#endif
#define SUCCEED 0
#define FAIL 1
#define ESC 0x1B
#ifdef __GNUC__
#define PACKED __attribute__((packed))
#else
#define PACKED
#endif
/*-----------------------------*/
#pragma pack(1)
/*-----------------------------*/
enum {
TYPE_REGULAR = 0,
TYPE_CURSOR,
TYPE_INK,
MAX_IMG_TYPE
};
typedef struct tagRGB13706 {
BYTE Red;
BYTE Green;
BYTE Blue;
} RGB13706;
typedef struct tagRGBQUAD {
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} PACKED RGBQUAD;
typedef struct tagBITMAPINFOHEADER{
DWORD biSize;
DWORD biWidth;
DWORD biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
DWORD biXPelsPerMeter;
DWORD biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} PACKED BITMAPINFOHEADER;
/* constants for the biCompression field */
#define BI_RGB 0L
#define BI_RLE8 1L
#define BI_RLE4 2L
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} PACKED BITMAPINFO;
#if defined(INTEL_W32) || defined(INTEL_DOS)
typedef BITMAPINFO far *LPBITMAPINFO;
#else
typedef BITMAPINFO *LPBITMAPINFO;
#endif
typedef BITMAPINFO *PBITMAPINFO;
typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} PACKED BITMAPFILEHEADER;
#if defined(INTEL_W32) || defined(INTEL_DOS)
typedef BITMAPFILEHEADER far *LPBITMAPFILEHEADER;
#else
typedef BITMAPFILEHEADER *LPBITMAPFILEHEADER;
#endif
typedef BITMAPFILEHEADER *PBITMAPFILEHEADER;
#define BFT_BMAP 0x4d42 /* 'BM' */
/*-----------------------------*/
extern const char szVersion[];
extern HAL_STRUCT HalInfo;
extern int gbInitRegisters;
extern int gbImgCompress;
extern unsigned SurfaceDisplayMode[MAX_DISP_SURFACE];
extern int LcdOrientation;
extern int VerboseMode;
extern int NumberOfSurfaces;
extern int CommonMemoryBlockForAllDisplays;
extern int ActiveSurfaceNumber;
extern char *filename[MAX_DISP_SURFACE];
extern int BmpCount;
extern int MoveSubWinAroundScreenTime;
extern int CmdDisplaySurface;
extern DWORD SubWinWidth, SubWinHeight;
extern BYTE MainWinLut[256*3];
extern BYTE SubWinLut[256*3];
/*-----------------------------*/
#pragma pack()
/*-----------------------------*/
extern void GetSubWinBmpSize(void);
extern void GetBMPInfo(char *fname, DWORD *width, DWORD *height, WORD *BitsPerPixel, BYTE *pLut);
extern void DisplayCopyright(void);
extern void DisplayUsage(void);
extern void InitializeGlobalVariables(void);
extern int ParseCommandLine(int argc, char *argv[]);
extern int RegisterDevice(LPHAL_STRUCT info);
extern int InitRegisters(void);
extern int UpdateLcdOrientation(void);
extern void DisplayResolution(void);
extern void DisplaySurfaceHelp(void);
extern void ShowActiveDisplaySurface(void);
extern int GetSurfaceDisplayMode(int surface);
extern int CalcDisplaySurfaceCombination(void);
extern int GetActiveSurfaceNumber(void);
extern int GetSurfaceNumber(unsigned DisplayMode);
extern void SetActiveSurfaceNumber(int surface);
extern int VirtInit(int surface, DWORD width, DWORD height);
extern void DisplaySwivelViewMode(void);
extern void ExitBadConfiguration(void);
extern void DisplayErrorNotEnoughMemory(unsigned BitsPerPixel);
extern int HandleSelectedSurface(void);
extern int CheckSwivelViewClocks(unsigned BitsPerPixel, unsigned SwivelViewMode);
/*-----------------------------------------------------------------------*/
#if !defined(INTEL_W32) && !defined(INTEL_DOS)
#define BUILD_WITH_INTERNAL_BMP_IMAGES
#endif
extern const unsigned char MainWinBmp[], SubWinBmp[];
/*-----------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -