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

📄 bmp.h

📁 epson公司的一个关于s1d13706的低层驱动程序
💻 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 + -