Leaked source code of windows server 2003
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.
 
 
 
 
 
 

174 lines
3.9 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
glvminit.cpp
Abstract:
This module contains the initial unidrv-hpgl handshaking function.
Author:
[Environment:]
Windows 2000 Unidrv driver
[Notes:]
Revision History:
--*/
#include "hpgl2col.h" //Precompiled header file
#include "vectorc.h"
#include "glvminit.h"
//
// Local function declaration.
//
BOOL bIsGraphicsModeHPGL2 (
IN PDEV *pPDev
);
//
// The jump table. Initializing the jump table with the functions that
// hpgl2 driver supports.
//
static VMPROCS HPGLProcs =
{
HPGLDriverDMS,
HPGLCommandCallback,
NULL, // HPGLImageProcessing
NULL, // HPGLFilterGraphics
NULL, // HPGLCompression
NULL, // HPGLHalftonePattern
NULL, // HPGLMemoryUsage
NULL, // HPGLTTYGetInfo
NULL, // HPGLDownloadFontHeader
NULL, // HPGLDownloadCharGlyph
NULL, // HPGLTTDownloadMethod
NULL, // HPGLOutputCharStr
NULL, // HPGLSendFontCmd
HPGLTextOutAsBitmap,
HPGLEnablePDEV,
HPGLResetPDEV,
NULL, // HPGLCompletePDEV,
HPGLDisablePDEV,
NULL, // HPGLEnableSurface,
NULL, // HPGLDisableSurface,
HPGLDisableDriver,
HPGLStartDoc,
HPGLStartPage,
HPGLSendPage,
HPGLEndDoc,
HPGLStartBanding,
HPGLNextBand,
HPGLPaint,
HPGLBitBlt,
HPGLStretchBlt,
#ifndef WINNT_40
HPGLStretchBltROP,
HPGLPlgBlt,
#endif
HPGLCopyBits,
HPGLDitherColor,
HPGLRealizeBrush,
HPGLLineTo,
HPGLStrokePath,
HPGLFillPath,
HPGLStrokeAndFillPath,
#ifndef WINNT_40
HPGLGradientFill,
HPGLAlphaBlend,
HPGLTransparentBlt,
#endif
HPGLTextOut,
HPGLEscape,
#ifdef HOOK_DEVICE_FONTS
HPGLQueryFont,
HPGLQueryFontTree,
HPGLQueryFontData,
HPGLGetGlyphMode,
HPGLFontManagement,
HPGLQueryAdvanceWidths
#else
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
#endif
};
PVMPROCS HPGLInitVectorProcTable (
PDEV *pPDev,
DEVINFO *pDevInfo,
GDIINFO *pGDIInfo )
{
ASSERT (pPDev);
UNREFERENCED_PARAMETER(pDevInfo);
UNREFERENCED_PARAMETER(pGDIInfo);
if ( bIsGraphicsModeHPGL2 (pPDev) )
{
return &HPGLProcs;
}
return NULL;
}
/*++
Routine Name:
bIsGraphicsModeHPGL2
Routine Description:
Finds out whether the Graphics Mode chosen by the user from the Advanced Page
in the UI is HP-GL/2.
Arguments:
IN PDEV *pPDev, : Unidrv's PDEV
Return Value:
TRUE : If the graphics mode chosen by user is HP-GL/2
FALSE: Otherwise
Last Error:
Not changed.
--*/
BOOL bIsGraphicsModeHPGL2 (
IN PDEV *pPDev
)
{
CHAR pOptionName[MAX_DISPLAY_NAME];
DWORD cbNeeded = 0, cOptions = 0;
//
// The strings below are exactly as the ones in gpd
// *Feature: GraphicsMode
// *Option: HPGL2MODE
// *Option: RASTERMODE
//
if ( BGetDriverSettingForOEM(pPDev,
"GraphicsMode", //This is not unicode
pOptionName,
MAX_DISPLAY_NAME,
&cbNeeded,
&cOptions) &&
!strcmp (pOptionName, "HPGL2MODE" ) //HPGL2 is not unicode
)
{
return TRUE;
}
return FALSE;
}