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

📄 oemuni.h

📁 win2000打印机驱动代码
💻 H
字号:
/*
 * @file uni/oemuni.h
 *
 * W2kPrintDrvSample
 *
 * Copyright (C) 2004, terrificskyfox <terrificskyfox@yahoo.com.cn>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef _OEMUNI_H
#define _OEMUNI_H

#include <PRCOMOEM.H>


/*
 *  Defines
 *

/*
 * Warning: the following enum order must match the 
 *          order in KTHookFuncs[].
 */
typedef enum tag_Hooks {
//    UD_DrvRealizeBrush,
//    UD_DrvDitherColor,
//    UD_DrvCopyBits,
    UD_DrvBitBlt,
    UD_DrvStretchBlt,
//    UD_DrvStretchBltROP,
//    UD_DrvPlgBlt,
//    UD_DrvTransparentBlt,
//    UD_DrvAlphaBlend,
//    UD_DrvGradientFill,
    UD_DrvTextOut,
    UD_DrvStrokePath,
//    UD_DrvFillPath,
//    UD_DrvStrokeAndFillPath,
//    UD_DrvPaint,
//    UD_DrvLineTo,
    UD_DrvStartPage,
    UD_DrvSendPage,
//    UD_DrvEscape,
    UD_DrvStartDoc,
    UD_DrvEndDoc,
    UD_DrvNextBand,
    UD_DrvStartBanding,
//    UD_DrvQueryFont,
//    UD_DrvQueryFontTree,
//    UD_DrvQueryFontData,
//    UD_DrvQueryAdvanceWidths,
//    UD_DrvFontManagement,
//    UD_DrvGetGlyphMode,

    MAX_DDI_HOOKS,

} ENUMHOOKS;


/*
 *  Type definitions
 */

// scanline pointer
typedef struct _scanlineptr
{
	PBYTE	pBits;		// scanline bits
	BOOL	bFlag;		// allocate flag

} SCANLINEPTR, *PSCANLINEPTR;

// DIB information
typedef struct _dibinfo
{
	PSCANLINEPTR pScans;				// scanline pointer
	BOOL		 bPageStarted;			// page started?
	SIZE		 DIBSize;				// DIB size
	DWORD		 WidthBytes,			// DIB width bytes
				 dwDIBTotalBytes;		// DIB total size
	LONG		 XPelsPerMeter,			// horizontal resolution, in pixels-per-meter
				 YPelsPerMeter;			// vertical resolution, in pixels-per-meter

} DIBINFO, *PDIBINFO;

typedef struct _oempdev {
    // This DLL hooks out every drawing DDI. So it needs to remember
    // Unidrv's hook function pointer so it call back.
    PFN					pfnUnidrv[MAX_DDI_HOOKS];

    // define whatever needed, such as working buffers, tracking information, etc

	IPrintOemDriverUni *pOEMHelp;	// Unidrv helper pointer
	HANDLE				hHeap;		// heap handle used by printing procedure

    TCHAR   szPreviewFileName[MAX_PATH]; // preview file name
    BOOL    bAppendPageNum;         // append page number automatically

    short   PageNum;                // page number
	LONG	approHeight;	        // approximate height
	DIBINFO DIBInfo;		        // dump DIB information

} OEMPDEV, *POEMPDEV;


#endif // !_OEMUNI_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -