You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
217 lines
4.3 KiB
217 lines
4.3 KiB
/*++
|
|
|
|
Copyright (c) 1996 - 1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
common.h
|
|
|
|
Abstract:
|
|
|
|
This file contain information and function prototypes for helper
|
|
library functions provided by the Control module
|
|
|
|
Environment:
|
|
|
|
Windows NT Unidrv driver
|
|
|
|
Revision History:
|
|
|
|
10/12/96 -amandan-
|
|
Created
|
|
|
|
dd-mm-yy -author-
|
|
description
|
|
|
|
--*/
|
|
|
|
#ifndef _COMMON_H_
|
|
#define _COMMON_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
#include "ddint5.h"
|
|
|
|
INT
|
|
WriteSpoolBuf(
|
|
PDEV *pPDev,
|
|
BYTE *pbBuf,
|
|
INT iCount
|
|
);
|
|
|
|
|
|
VOID WriteAbortBuf(
|
|
PDEV *pPDev,
|
|
BYTE *pbBuf,
|
|
INT iCount,
|
|
DWORD dwWait
|
|
);
|
|
|
|
|
|
BOOL
|
|
FlushSpoolBuf(
|
|
PDEV *pPDev
|
|
);
|
|
|
|
INT
|
|
WriteChannel(
|
|
PDEV *pPDev,
|
|
COMMAND *pCmd
|
|
);
|
|
|
|
INT
|
|
WriteChannelEx(
|
|
PDEV *pPDev,
|
|
COMMAND *pCmd,
|
|
INT iRequestedValue,
|
|
INT iDeviceScaleFac
|
|
);
|
|
|
|
|
|
VOID
|
|
SetRop3(
|
|
PDEV *pPDev,
|
|
DWORD dwRop3
|
|
);
|
|
|
|
|
|
INT
|
|
XMoveTo(
|
|
PDEV *pPDev,
|
|
INT iXIn,
|
|
INT fFlags
|
|
);
|
|
|
|
INT
|
|
YMoveTo(
|
|
PDEV *pPDev,
|
|
INT iYIn,
|
|
INT fFlags
|
|
);
|
|
|
|
BOOL
|
|
BIntersectRect(
|
|
OUT PRECTL prcDest,
|
|
IN PRECTL prcRect1,
|
|
IN PRECTL prcRect2
|
|
);
|
|
|
|
BOOL
|
|
bIsRegionWhite (
|
|
SURFOBJ *,
|
|
RECTL *
|
|
);
|
|
|
|
VOID
|
|
CheckBitmapSurface(
|
|
SURFOBJ *,
|
|
RECTL *
|
|
);
|
|
|
|
ULONG
|
|
DrawPatternRect(
|
|
PDEV *,
|
|
PDRAWPATRECT
|
|
);
|
|
/*
|
|
* Flags to use when calling the [XY]Moveto functions.
|
|
*
|
|
* MV_UPDATE is used when it is desired to change our record of where
|
|
* the cursor is now located. Typically this will happen after some
|
|
* operation such as printing a glyph, or sending graphics.
|
|
*
|
|
* MV_RELATIVE means add the value passed to the current position. This
|
|
* would be used after printing a glyph, and passing in the glyph
|
|
* width as parameter, rather than calculating the new position.
|
|
*
|
|
* MV_GRAPHICS indicates that the value is in GRAPHICS RESOLUTION units.
|
|
* Otherwise MASTER UNITS are assumed. If set, the value will be
|
|
* converted to master units before processing. Typically used to
|
|
* pass information when sending scan lines of graphics data.
|
|
*
|
|
* MV_PHYSICAL is used to indicate that the value passed in is relative
|
|
* to the printers print origin, and not the printable area, which
|
|
* is the case otherwise. Typically this flag would be used to
|
|
* allow setting the position to the printer's X = 0 position after
|
|
* sending a <CR>.
|
|
*
|
|
* MV_FINE requests sending graphics data (nulls) to position the cursor
|
|
* to finer position than can otherwise be achieved. Typically
|
|
* only available in the direction of movement of the head on a
|
|
* dot matrix printer. This command may be ignored. It must not
|
|
* be issued for a LaserJet, since it will cause all sorts of other
|
|
* problems.
|
|
*/
|
|
|
|
//
|
|
// 4/7/97 Zhanw
|
|
// the first 4 constants are defined in "printoem.h" since we now export
|
|
// XMoveTo and YMoveTo to OEM DLL's
|
|
//
|
|
|
|
//#define MV_UPDATE 0x0001
|
|
//#define MV_RELATIVE 0x0002
|
|
//#define MV_GRAPHICS 0x0004
|
|
//#define MV_PHYSICAL 0x0008
|
|
|
|
//
|
|
// Internal use only!!! update warning in oak\inc\printoem.h
|
|
// whenever new flags are added.
|
|
//
|
|
#define MV_FORCE_CR 0x4000
|
|
#define MV_FINE 0x8000
|
|
|
|
BOOL
|
|
BSelectProgrammableBrushColor(
|
|
PDEV *pPDev,
|
|
ULONG Color
|
|
);
|
|
|
|
VOID
|
|
VResetProgrammableBrushColor(
|
|
PDEV *pPDev
|
|
);
|
|
|
|
DWORD
|
|
BestMatchDeviceColor(
|
|
PDEV *pPDev,
|
|
DWORD Color
|
|
);
|
|
|
|
BYTE
|
|
BGetMask(
|
|
PDEV * pPDev,
|
|
RECTL * pRect
|
|
);
|
|
BOOL
|
|
BGetStandardVariable(
|
|
PDEV *pPDev,
|
|
DWORD dwIndex,
|
|
PVOID pBuffer,
|
|
DWORD cbSize,
|
|
PDWORD pcbNeeded
|
|
);
|
|
DWORD
|
|
ConvertRGBToGrey(
|
|
DWORD Color
|
|
);
|
|
|
|
BOOL
|
|
BGetGPDData(
|
|
PDEV *pPDev,
|
|
DWORD dwType, // Type of the data
|
|
PVOID pInputData, // reserved. Should be set to 0
|
|
PVOID pBuffer, // Caller allocated Buffer to be copied
|
|
DWORD cbSize, // Size of the buffer
|
|
PDWORD pcbNeeded // New Size of the buffer if needed.
|
|
) ;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|