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.
14 KiB
14 KiB
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="readme_files/filelist.xml">
<title>MSPLOT</title>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
name="date"/>
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if !mso]><object
classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
<style>
st1\:*{behavior:url(#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:536871559 0 0 0 415 0;}
@font-face
{font-family:"MS SANS SERIF";
panose-1:0 0 0 0 0 0 0 0 0 0;
mso-font-alt:"Times New Roman";
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:auto;
mso-font-signature:0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;
text-underline:single;}
p
{font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
pre
{margin-top:0in;
margin-bottom:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
</head>
<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
<div class=Section1>
<h2><span style='font-family:Verdana'>MSPLOT<o:p></o:p></span></h2>
<h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>The MSPLOT is a
Windows® 2000, Windows® XP and Windows® Server 2003 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® 2000, Windows® XP and Windows® Server 2003. The sample
is 64-bit compliant. <o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>To build the sample, use
the <b>build</b> 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 <i>plotter.inf</i>. This INF expects plotter minidriver files to
be in an i386 directory. <o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>CODE TOUR<o:p></o:p></span></h3>
<h4><span style='font-family:Verdana'>File Manifest<o:p></o:p></span></h4>
<pre><u>File<span style='mso-tab-count:3'> </span>Description<o:p></o:p></u></pre><pre><o:p> </o:p></pre><pre>Plotter.inf<span
style='mso-tab-count:3'> </span>INF file for plotter sample installation</pre><pre>Inc\Plotdm.h<span style='mso-spacerun:yes'> </span>PLOTDEVMODE extended devmode definitions</pre><pre>Inc\Plotgpc.h<span style='mso-spacerun:yes'> </span>Characterization data definition</pre><pre><o:p> </o:p></pre><pre>Lib\Plotlib.h<span style='mso-spacerun:yes'> </span>Defines and prototype for the plotter library</pre><pre>Lib\Precomp.h<span style='mso-spacerun:yes'> </span>Precompile header file</pre><pre>Lib\Cachegpc.c<span style='mso-spacerun:yes'> </span>Functions to cached the PLOTGPC</pre><pre>Lib\Devmode.c<span style='mso-spacerun:yes'> </span>Different version devmode conversion functions</pre><pre>Lib\Drvinfo.c<span style='mso-spacerun:yes'> </span>Functions to access spooler's DRIVER_INFO data structure</pre><pre>Lib\File.c<span style='mso-spacerun:yes'> </span>Function to read file</pre><pre>Lib\Forms.c<span style='mso-spacerun:yes'> </span>All functions related to the spooler/driver's forms</pre><pre>Lib\Halftone.c<span style='mso-spacerun:yes'> </span>Data and function to validate the COLORADJUSTMENT</pre><pre>Lib\Plotdbg.c<span style='mso-spacerun:yes'> </span>Contains all plotter's debugging functions</pre><pre>Lib\Plotdm.c<span style='mso-spacerun:yes'> </span>Functions which validate/set plotter's devmodes</pre><pre>Lib\Readgpc.c<span style='mso-spacerun:yes'> </span>Functions to read the PLOTGPC data file</pre><pre>Lib\Regdata.c<span style='mso-spacerun:yes'> </span>Plotter property registry data save/retrieve functions</pre><pre>Lib\Widechar.c<span style='mso-spacerun:yes'> </span>NLS unicode /ANSI translation code</pre><pre><o:p> </o:p></pre><pre>Plotter\Bitblt.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module bitblt.c</pre><pre>Plotter\Brush.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module brush.c</pre><pre>Plotter\Compress.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module compress.c</pre><pre>Plotter\Enable.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module enable.c</pre><pre>Plotter\Escape.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module escape.c</pre><pre>Plotter\Htblt.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module htblt.c</pre><pre>Plotter\Htbmp1.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module htbmp1.c</pre><pre>Plotter\Htbmp4.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module htbmp4.c</pre><pre>Plotter\Output.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module output.c</pre><pre>Plotter\Page.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module page.h</pre><pre>Plotter\Path.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module path.h</pre><pre>Plotter\Pdevinfo.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module pdevinfo.c</pre><pre>Plotter\Pencolor.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module pencolor.c</pre><pre>Plotter\Plotform.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module plotform.c</pre><pre>Plotter\Plotters.h<span style='mso-spacerun:yes'> </span>Plotter Information to be included by all source files</pre><pre>Plotter\Polygon.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module polygon.c</pre><pre>Plotter\Precomp.h<span style='mso-spacerun:yes'> </span>Precompiled header file</pre><pre>Plotter\Ropblt.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module ropblt.c</pre><pre>Plotter\Textout.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module textout.c</pre><pre>Plotter\Transpos.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module transpos.c</pre><pre>Plotter\Bitblt.c<span style='mso-spacerun:yes'> </span>Functions which implement bitmap handling for plotter</pre><pre>Plotter\Brush.c<span style='mso-spacerun:yes'> </span>plotter brush realization, BRUSHOBJ functions</pre><pre>Plotter\Compress.c<span style='mso-spacerun:yes'> </span>plotter's dynamic data compression functions</pre><pre>Plotter\Enable.c<span style='mso-spacerun:yes'> </span>Plotter driver's Enable, Disable and related functions</pre><pre>Plotter\Escape.c<span style='mso-spacerun:yes'> </span>Code to implement the DrvEscape() driver call</pre><pre>Plotter\Htblt.c<span style='mso-spacerun:yes'> </span>Contains all halftone bitblt functions.</pre><pre>Plotter\Htbmp1.c<span style='mso-spacerun:yes'> </span>Functions for output halftoned 1BPP bitmaps to devices</pre><pre>Plotter\Htbmp4.c<span style='mso-spacerun:yes'> </span>Functions for output halftoned 4BPP bitmaps to devices</pre><pre>Plotter\Output.c<span style='mso-spacerun:yes'> </span>Common plotter output functions to the spooler, devices</pre><pre>Plotter\Page.c<span style='mso-spacerun:yes'> </span>Functions for job boundary states, Send Page and etc.</pre><pre>Plotter\Path.c<span style='mso-spacerun:yes'> </span>Functions related to drawing paths</pre><pre>Plotter\Pdevinfo.c<span style='mso-spacerun:yes'> </span>Functions to get / validate the PDEV data structure.</pre><pre>Plotter\Pencolor.c<span style='mso-spacerun:yes'> </span>Functions to get/set the color of a passed brushes.</pre><pre>Plotter\Plotform.c<span style='mso-spacerun:yes'> </span>Functions to set the correct HPGL/2 plotter coordinate system</pre><pre>Plotter\Polygon.c<span style='mso-spacerun:yes'> </span>Path forming code utilized by the rest of the driver</pre><pre>Plotter\Ropblt.c<span style='mso-spacerun:yes'> </span>Contains code to deal with ROP3 codes</pre><pre>Plotter\Textout.c<span style='mso-spacerun:yes'> </span>Contains the DrvTextOut entry point for text drawing</pre><pre>Plotter\Transpos.c<span style='mso-spacerun:yes'> </span>Functions for transposing an <st1:date
Year="2001" Day="4" Month="8">8/4/1</st1:date> BPP bitmaps</pre><pre>Plotter\Plotter.rc<span style='mso-spacerun:yes'> </span>Resource file</pre><pre><o:p> </o:p></pre><pre>Plotui\Cpsui.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module cpsui.c</pre><pre>Plotui\Formbox.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module formbox.c</pre><pre>Plotui\Help.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module help.c</pre><pre>Plotui\Pensetup.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module pensetup.c</pre><pre>Plotui\Plotui.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module plotui.c</pre><pre>Plotui\Precomp.h<span style='mso-spacerun:yes'> </span>Precompiled header file</pre><pre>Plotui\Ptrinfo.h<span style='mso-spacerun:yes'> </span>Definitions and prototypes for module ptrinfo.c</pre><pre>Plotui\Cpsui.c<span style='mso-spacerun:yes'> </span>Contains helper functions to be used with common UI</pre><pre>Plotui\Devcaps.c<span style='mso-spacerun:yes'> </span>DrvDeviceCapabilities() and other support functions</pre><pre>Plotui\Docprop.c<span style='mso-spacerun:yes'> </span>Contains functions for DrvDocumentPropertySheets().</pre><pre>Plotui\Formbox.c<span style='mso-spacerun:yes'> </span>Functions to enumerate valid form and list on the combobox</pre><pre>Plotui\Help.c<span style='mso-spacerun:yes'> </span>All help functions for the plotter user interface</pre><pre>Plotui\Pensetup.c<span style='mso-spacerun:yes'> </span>Contains Functions to setup the plotter's pen</pre><pre>Plotui\Plotui.c<span style='mso-spacerun:yes'> </span>Contains plotter UI dll entry point</pre><pre>Plotui\Ptrinfo.c<span style='mso-spacerun:yes'> </span>Functions to mapping/cache a hPrinter to useful data</pre><pre>Plotui\Ptrprop.c<span style='mso-spacerun:yes'> </span>PrinterProperties() API entry and it's related functions</pre><pre>Plotui\Qryprint.c<span style='mso-spacerun:yes'> </span>Functions called by the spooler to determine if a particular job can be print to a given plotter</pre><pre>Plotui\Upgrade.c<span style='mso-spacerun:yes'> </span>Contains version upgrade functions</pre><pre>Plotui\Plotui.rc<span style='mso-spacerun:yes'> </span><span style='mso-spacerun:yes'> </span>Plotter user interface resource file</pre><pre><o:p> </o:p></pre><pre>Tools\Ntres\Plotgpc.c<span style='mso-spacerun:yes'> </span>Functions required to generate a plotter gpc data file</pre><pre><o:p> </o:p></pre>
<p align=center style='text-align:center;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
style='font-size:10.0pt;font-family:"Courier New"'><a href="#top"><span
style='font-family:Verdana'>Top of page</span></a></span><span
style='font-size:10.0pt;font-family:Verdana;mso-bidi-font-family:"Courier New"'>
<o:p></o:p></span></p>
<pre><o:p> </o:p></pre>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624
style='width:6.5in;mso-cellspacing:0in'>
<tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:1.5pt'>
<td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'>
<p class=MsoNormal><o:p> </o:p></p>
</td>
</tr>
</table>
<pre><o:p> </o:p></pre><pre><o:p> </o:p></pre>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
style='font-size:7.5pt;font-family:"MS SANS SERIF";mso-bidi-font-family:"Courier New"'>©
1999-2003 Microsoft Corporation</span><span style='font-size:10.0pt;font-family:
Verdana;mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
</div>
</body>
</html>