MSPLOT

SUMMARY

The MSPLOT is a Microsoft® Windows NT®/Windows® 2000 printer driver that is designed to support all HPGL/2 compatible plotters. The full source codes of this driver include parser/UI and are published in the DDK as an example of how to write a user-mode or kernel-mode printer driver in Windows NT/Windows 2000. The sample is 64-bit compliant.

BUILDING THE SAMPLE

To build the sample, use the build command. Once built, the sample will produce three binaries: Plotter.dll, Plotui.dll, and Plotgpc.exe. All plotter samples can be installed using the file plotter.inf. This INF expects plotter minidriver files to be in an i386 directory.

CODE TOUR

File Manifest

File                   Description
 
Plotter.inf                    INF file for plotter sample installation
Inc\Plotdm.h            PLOTDEVMODE extended devmode definitions
Inc\Plotgpc.h           Characterization data definition
 
Lib\Plotlib.h           Defines and prototype for the plotter library
Lib\Precomp.h           Precompile header file
Lib\Cachegpc.c          Functions to cached the PLOTGPC
Lib\Devmode.c           Different version devmode conversion functions
Lib\Drvinfo.c           Functions to access spooler's DRIVER_INFO data structure
Lib\File.c              Function to read file
Lib\Forms.c             All functions related to the spooler/driver's forms
Lib\Halftone.c          Data and function to validate the COLORADJUSTMENT
Lib\Plotdbg.c           Contains all plotter's debugging functions
Lib\Plotdm.c            Functions which validate/set plotter's devmodes
Lib\Readgpc.c           Functions to read the PLOTGPC data file
Lib\Regdata.c           Plotter property registry data save/retrieve functions
Lib\Widechar.c          NLS unicode /ANSI translation code
 
Plotter\Bitblt.h        Definitions and prototypes for module bitblt.c
Plotter\Brush.h         Definitions and prototypes for module brush.c
Plotter\Compress.h      Definitions and prototypes for module compress.c
Plotter\Enable.h        Definitions and prototypes for module enable.c
Plotter\Escape.h        Definitions and prototypes for module escape.c
Plotter\Htblt.h         Definitions and prototypes for module htblt.c
Plotter\Htbmp1.h        Definitions and prototypes for module htbmp1.c
Plotter\Htbmp4.h        Definitions and prototypes for module htbmp4.c
Plotter\Output.h        Definitions and prototypes for module output.c
Plotter\Page.h          Definitions and prototypes for module page.h
Plotter\Path.h          Definitions and prototypes for module path.h
Plotter\Pdevinfo.h      Definitions and prototypes for module pdevinfo.c
Plotter\Pencolor.h      Definitions and prototypes for module pencolor.c
Plotter\Plotform.h      Definitions and prototypes for module plotform.c
Plotter\Plotters.h      Plotter Information to be included by all source files
Plotter\Polygon.h       Definitions and prototypes for module polygon.c
Plotter\Precomp.h       Precompiled header file
Plotter\Ropblt.h        Definitions and prototypes for module ropblt.c
Plotter\Textout.h       Definitions and prototypes for module textout.c
Plotter\Transpos.h      Definitions and prototypes for module transpos.c
Plotter\Bitblt.c        Functions which implement bitmap handling for plotter
Plotter\Brush.c         plotter brush realization, BRUSHOBJ functions
Plotter\Compress.c      plotter's dynamic data compression functions
Plotter\Enable.c        Plotter driver's Enable, Disable and related functions
Plotter\Escape.c        Code to implement the DrvEscape() driver call
Plotter\Htblt.c         Contains all halftone bitblt functions.
Plotter\Htbmp1.c        Functions for output halftoned 1BPP bitmaps to devices
Plotter\Htbmp4.c        Functions for output halftoned 4BPP bitmaps to devices
Plotter\Output.c        Common plotter output functions to the spooler, devices
Plotter\Page.c          Functions for job boundary states, Send Page and etc.
Plotter\Path.c          Functions related to drawing paths
Plotter\Pdevinfo.c      Functions to get / validate the PDEV data structure.
Plotter\Pencolor.c      Functions to get/set the color of a passed brushes.
Plotter\Plotform.c      Functions to set the correct HPGL/2 plotter coordinate system
Plotter\Polygon.c       Path forming code utilized by the rest of the driver
Plotter\Ropblt.c        Contains code to deal with ROP3 codes
Plotter\Textout.c       Contains the DrvTextOut entry point for text drawing
Plotter\Transpos.c      Functions for transposing an 8/4/1 BPP bitmaps
Plotter\Plotter.rc      Resource file
 
Plotui\Cpsui.h          Definitions and prototypes for module cpsui.c
Plotui\Formbox.h        Definitions and prototypes for module formbox.c
Plotui\Help.h           Definitions and prototypes for module help.c
Plotui\Pensetup.h       Definitions and prototypes for module pensetup.c
Plotui\Plotui.h         Definitions and prototypes for module plotui.c
Plotui\Precomp.h        Precompiled header file
Plotui\Ptrinfo.h        Definitions and prototypes for module ptrinfo.c
Plotui\Cpsui.c          Contains helper functions to be used with common UI
Plotui\Devcaps.c        DrvDeviceCapabilities() and other support functions
Plotui\Docprop.c        Contains functions for DrvDocumentPropertySheets().
Plotui\Formbox.c        Functions to enumerate valid form and list on the combobox
Plotui\Help.c           All help functions for the plotter user interface
Plotui\Pensetup.c       Contains Functions to setup the plotter's pen
Plotui\Plotui.c         Contains plotter UI dll entry point
Plotui\Ptrinfo.c        Functions to mapping/cache a hPrinter to useful data
Plotui\Ptrprop.c        PrinterProperties() API entry and it's related functions
Plotui\Qryprint.c       Functions called by the spooler to determine if a particular job can be print to a given plotter
Plotui\Upgrade.c        Contains version upgrade functions
Plotui\Plotui.rc        Plotter user interface resource file
 
Tools\Ntres\Plotgpc.c   Functions required to generate a plotter gpc data file
 

Top of page

 

 

 
 

© 1999 Microsoft Corporation