📄 printoem.h
字号:
} GETINFO_GLYPHBITMAP, *PGETINFO_GLYPHBITMAP;
//
// UFO_GETINFO_GLYPHWIDTH
//
typedef struct _GETINFO_GLYPHWIDTH {
DWORD dwSize; // Size of this structure
DWORD dwType; // Type of glyph stirng in pGlyph, TYPE_GLYPHHANDLE/GLYPHID.
DWORD dwCount; // Count of glyph in pGlyph
PVOID pGlyph; // Pointer to a glyph string
PLONG plWidth; // Pointer to the buffer of width table.
// Minidriver has to prepare this.
} GETINFO_GLYPHWIDTH, *PGETINFO_GLYPHWIDTH;
//
// UFO_GETINFO_MEMORY
//
typedef struct _GETINFO_MEMORY {
DWORD dwSize;
DWORD dwRemainingMemory;
} GETINFO_MEMORY, PGETINFO_MEMROY;
//
// UFO_GETINFO_STDVARIABLE
//
// OEM DLL has to prepare all StdVar buffer and set ID in dwStdVarID.
//
typedef struct _GETINFO_STDVAR {
DWORD dwSize;
DWORD dwNumOfVariable;
struct {
DWORD dwStdVarID;
LONG lStdVariable;
} StdVar[1];
} GETINFO_STDVAR, *PGETINFO_STDVAR;
#define FNT_INFO_PRINTDIRINCCDEGREES 0 // PrintDirInCCDegrees
#define FNT_INFO_GRAYPERCENTAGE 1 // GrayPercentage
#define FNT_INFO_NEXTFONTID 2 // NextfontID
#define FNT_INFO_NEXTGLYPH 3 // NextGlyph
#define FNT_INFO_FONTHEIGHT 4 // FontHeight
#define FNT_INFO_FONTWIDTH 5 // FontWidth
#define FNT_INFO_FONTBOLD 6 // FontBold
#define FNT_INFO_FONTITALIC 7 // FontItalic
#define FNT_INFO_FONTUNDERLINE 8 // FontUnderline
#define FNT_INFO_FONTSTRIKETHRU 9 // FontStrikeThru
#define FNT_INFO_CURRENTFONTID 10 // Current
#define FNT_INFO_TEXTYRES 11 // TextYRes
#define FNT_INFO_TEXTXRES 12 // TextXRes
#define FNT_INFO_FONTMAXWIDTH 13 // FontMaxWidth
#define FNT_INFO_MAX 14
//
// OEMDownloadFontheader - UNIDRV only
//
DWORD APIENTRY
OEMDownloadFontHeader(
PDEVOBJ pdevobj,
PUNIFONTOBJ pUFObj
);
//
// OEMDownloadCharGlyph - UNIDRV only
//
DWORD APIENTRY
OEMDownloadCharGlyph(
PDEVOBJ pdevobj,
PUNIFONTOBJ pUFObj,
HGLYPH hGlyph,
PDWORD pdwWidth
);
//
// OEMTTDownloadMethod - UNIDRV only
//
DWORD APIENTRY
OEMTTDownloadMethod(
PDEVOBJ pdevobj,
PUNIFONTOBJ pUFObj
);
#define TTDOWNLOAD_DONTCARE 0
#define TTDOWNLOAD_GRAPHICS 1
#define TTDOWNLOAD_BITMAP 2
#define TTDOWNLOAD_TTOUTLINE 3
//
// OEMOutputCharStr - UNIDRV only
//
VOID APIENTRY
OEMOutputCharStr(
PDEVOBJ pdevobj,
PUNIFONTOBJ pUFObj,
DWORD dwType,
DWORD dwCount,
PVOID pGlyph
);
#define TYPE_UNICODE 1
#define TYPE_TRANSDATA 2
#define TYPE_GLYPHHANDLE 3
#define TYPE_GLYPHID 4
//
// OEMSendFontCmd - UNIDRV only
//
typedef struct _FINVOCATION {
DWORD dwCount; // Size of command
PBYTE pubCommand; // Pointer to font selection command
} FINVOCATION, *PFINVOCATION;
VOID APIENTRY
OEMSendFontCmd(
PDEVOBJ pdevobj,
PUNIFONTOBJ pUFObj,
PFINVOCATION pFInv
);
//
// OEMTextOutAsBitmap - UNIDRV only
//
BOOL APIENTRY
OEMTextOutAsBitmap(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
MIX mix
);
//
// OEMBitBlt
//
BOOL APIENTRY
OEMBitBlt(
SURFOBJ *psoTrg,
SURFOBJ *psoSrc,
SURFOBJ *psoMask,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
RECTL *prclTrg,
POINTL *pptlSrc,
POINTL *pptlMask,
BRUSHOBJ *pbo,
POINTL *pptlBrush,
ROP4 rop4
);
//
// OEMStretchBlt
//
BOOL APIENTRY
OEMStretchBlt(
SURFOBJ *psoDest,
SURFOBJ *psoSrc,
SURFOBJ *psoMask,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
COLORADJUSTMENT *pca,
POINTL *pptlHTOrg,
RECTL *prclDest,
RECTL *prclSrc,
POINTL *pptlMask,
ULONG iMode
);
//
// OEMCopyBits
//
BOOL APIENTRY
OEMCopyBits(
SURFOBJ *psoDest,
SURFOBJ *psoSrc,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
RECTL *prclDest,
POINTL *pptlSrc
);
//
// OEMTextOut
//
BOOL APIENTRY
OEMTextOut(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
MIX mix
);
//
// OEMStrokePath
//
BOOL APIENTRY
OEMStrokePath(
SURFOBJ *pso,
PATHOBJ *ppo,
CLIPOBJ *pco,
XFORMOBJ *pxo,
BRUSHOBJ *pbo,
POINTL *pptlBrushOrg,
LINEATTRS *plineattrs,
MIX mix
);
//
// OEMFillPath
//
BOOL APIENTRY
OEMFillPath(
SURFOBJ *pso,
PATHOBJ *ppo,
CLIPOBJ *pco,
BRUSHOBJ *pbo,
POINTL *pptlBrushOrg,
MIX mix,
FLONG flOptions
);
//
// OEMStrokeAndFillPath
//
BOOL APIENTRY
OEMStrokeAndFillPath(
SURFOBJ *pso,
PATHOBJ *ppo,
CLIPOBJ *pco,
XFORMOBJ *pxo,
BRUSHOBJ *pboStroke,
LINEATTRS *plineattrs,
BRUSHOBJ *pboFill,
POINTL *pptlBrushOrg,
MIX mixFill,
FLONG flOptions
);
//
// OEMRealizeBrush
//
BOOL APIENTRY
OEMRealizeBrush(
BRUSHOBJ *pbo,
SURFOBJ *psoTarget,
SURFOBJ *psoPattern,
SURFOBJ *psoMask,
XLATEOBJ *pxlo,
ULONG iHatch
);
//
// OEMStartPage
//
BOOL APIENTRY
OEMStartPage(
SURFOBJ *pso
);
//
// OEMSendPage
//
BOOL APIENTRY
OEMSendPage(
SURFOBJ *pso
);
//
// OEMEscape
//
ULONG APIENTRY
OEMEscape(
SURFOBJ *pso,
ULONG iEsc,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut
);
//
// OEMStartDoc
//
BOOL APIENTRY
OEMStartDoc(
SURFOBJ *pso,
PWSTR pwszDocName,
DWORD dwJobId
);
//
// OEMEndDoc
//
BOOL APIENTRY
OEMEndDoc(
SURFOBJ *pso,
FLONG fl
);
//
// OEMQueryFont
//
PIFIMETRICS APIENTRY
OEMQueryFont(
DHPDEV dhpdev,
ULONG_PTR iFile,
ULONG iFace,
ULONG_PTR *pid
);
//
// OEMQueryFontTree
//
PVOID APIENTRY
OEMQueryFontTree(
DHPDEV dhpdev,
ULONG_PTR iFile,
ULONG iFace,
ULONG iMode,
ULONG_PTR *pid
);
//
// OEMQueryFontData
//
LONG APIENTRY
OEMQueryFontData(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH hg,
GLYPHDATA *pgd,
PVOID pv,
ULONG cjSize
);
//
// OEMQueryAdvanceWidths
//
BOOL APIENTRY
OEMQueryAdvanceWidths(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH *phg,
PVOID pvWidths,
ULONG cGlyphs
);
//
// OEMFontManagement
//
ULONG APIENTRY
OEMFontManagement(
SURFOBJ *pso,
FONTOBJ *pfo,
ULONG iMode,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut
);
//
// OEMGetGlyphMode
//
ULONG APIENTRY
OEMGetGlyphMode(
DHPDEV dhpdev,
FONTOBJ *pfo
);
BOOL APIENTRY
OEMNextBand(
SURFOBJ *pso,
POINTL *pptl
);
BOOL APIENTRY
OEMStartBanding(
SURFOBJ *pso,
POINTL *pptl
);
ULONG APIENTRY
OEMDitherColor(
DHPDEV dhpdev,
ULONG iMode,
ULONG rgbColor,
ULONG *pulDither
);
BOOL APIENTRY
OEMPaint(
SURFOBJ *pso,
CLIPOBJ *pco,
BRUSHOBJ *pbo,
POINTL *pptlBrushOrg,
MIX mix
);
BOOL APIENTRY
OEMLineTo(
SURFOBJ *pso,
CLIPOBJ *pco,
BRUSHOBJ *pbo,
LONG x1,
LONG y1,
LONG x2,
LONG y2,
RECTL *prclBounds,
MIX mix
);
#ifndef WINNT_40
//
// OEMStretchBltROP
//
BOOL APIENTRY
OEMStretchBltROP(
SURFOBJ *psoDest,
SURFOBJ *psoSrc,
SURFOBJ *psoMask,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
COLORADJUSTMENT *pca,
POINTL *pptlHTOrg,
RECTL *prclDest,
RECTL *prclSrc,
POINTL *pptlMask,
ULONG iMode,
BRUSHOBJ *pbo,
ROP4 rop4
);
//
// OEMPlgBlt
//
BOOL APIENTRY
OEMPlgBlt(
SURFOBJ *psoDst,
SURFOBJ *psoSrc,
SURFOBJ *psoMask,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
COLORADJUSTMENT *pca,
POINTL *pptlBrushOrg,
POINTFIX *pptfixDest,
RECTL *prclSrc,
POINTL *pptlMask,
ULONG iMode
);
//
// OEMAlphaBlend
//
BOOL APIENTRY
OEMAlphaBlend(
SURFOBJ *psoDest,
SURFOBJ *psoSrc,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
RECTL *prclDest,
RECTL *prclSrc,
BLENDOBJ *pBlendObj
);
//
// OEMGradientFill
//
BOOL APIENTRY
OEMGradientFill(
SURFOBJ *psoDest,
CLIPOBJ *pco,
XLATEOBJ *pxlo,
TRIVERTEX *pVertex,
ULONG nVertex,
PVOID pMesh,
ULONG nMesh,
RECTL *prclExtents,
POINTL *pptlDitherOrg,
ULONG ulMode
);
//
// OEMIcmCreateTransform
//
HANDLE APIENTRY
OEMIcmCreateColorTransform(
DHPDEV dhpdev,
LPLOGCOLORSPACEW pLogColorSpace,
PVOID pvSourceProfile,
ULONG cjSourceProfile,
PVOID pvDestProfile,
ULONG cjDestProfile,
PVOID pvTargetProfile,
ULONG cjTargetProfile,
DWORD dwReserved
);
//
// OEMIcmDeleteTransform
//
BOOL APIENTRY
OEMIcmDeleteColorTransform(
DHPDEV dhpdev,
HANDLE hcmXform
);
//
// OEMQueryDeviceSupport
//
BOOL APIENTRY
OEMQueryDeviceSupport(
SURFOBJ *pso,
XLATEOBJ *pxlo,
XFORMOBJ *pxo,
ULONG iType,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut
);
//
// OEMTransparentBlt
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -