📄 compress.h
字号:
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-1998 Microsoft Corporation
Module Name:
Abstract:
Functions:
Notes:
--*/
#define PORT_BUF_SIZE 1024
class Port
{
private:
HANDLE hPrinter;
BYTE Buffer[PORT_BUF_SIZE];
int nBuffer;
public:
Port(void);
~Port(void);
HANDLE Open(PWSTR sPort);
void Close(void);
BOOL Flush(void);
BOOL Write(BYTE *buffer, int length);
BOOL WriteString(char *buffer);
};
class Printer
{
private:
Port port;
int iRow;
int dwScroll;
int iDotK;
int iDotC;
int iDotM;
int iDotY;
int iHueB;
int iHueG;
BOOL fColor;
BOOL f3Pen;
// Controlled by AllocateBuffers().
//
int ResolutionPixels;
int HeightPixels;
int WidthPixels;
int WidthOfRasterAreaInBytes;
int PaperSize;
// The following are allocated and de-allocated with AllocateBuffers() and
// DeallocateBuffers(), respectively.
//
BYTE * pScanRow;
BYTE * pBlackRow;
BYTE * pPCLData;
short * pError;
short * pC;
short * pY;
short * pM;
short * pK;
short * pEC;
short * pEY;
short * pEM;
short * pEK;
BYTE * pSC;
BYTE * pSY;
BYTE * pSM;
BYTE * pSK;
short * pGK;
short * pGC;
BYTE * pGV;
void DuplicateRows(int Rows);
BOOL TransferData(BYTE *Data, int length);
BOOL Diffuse(short * Value, short * Error, BYTE * Scan, BYTE * Mask, int Dot, BYTE * Seed);
BOOL Reset();
BOOL LineFeed();
BOOL FormFeed();
BOOL FeedSpace(DWORD dwSpace); // UNIT: pixel
BOOL HorzSpace(DWORD dwSpace); // UNIT: pixel
BOOL SendCompressData(PBYTE pData, DWORD dwLen);
public:
BYTE *pColorRow;
Printer(void);
HANDLE Open(PWSTR sPort);
BOOL AllocateBuffers(GDIINFO * pGI, DEVMODE * pDM);
void NextPage(void);
void RasterStart(void);
BOOL ColorRow(BYTE *Row);
BOOL RasterRow(BYTE * Row);//, BYTE * Seed);
void DeallocateBuffers(void);
void Close(void);
~Printer(void);
};
extern Printer printer;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -