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

📄 compress.h

📁 source code of printer under WinCE5.0!
💻 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 + -