diff options
Diffstat (limited to 'html/en/drv/ps.html')
-rw-r--r-- | html/en/drv/ps.html | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/html/en/drv/ps.html b/html/en/drv/ps.html new file mode 100644 index 0000000..7a2dc1a --- /dev/null +++ b/html/en/drv/ps.html @@ -0,0 +1,208 @@ +<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<title>CD_PS</title> +<link rel="stylesheet" type="text/css" href="../../style.css"> +</head> + +<body> + +<h2>CD_PS - PostScript Driver (cdps.h)</h2> + + <p>This drivers allows generating a PostScript file. This format was created to be a high-quality graphics language + for printers and is currently supported by several printers. If your printer supports PostScript, you can send the + file generated by the driver directly to the printer port. Usually, the filename has an extension .PS or .EPS. The + driver generates level-2 PostScript, therefore some PostScript viewers might present errors. The format's copyrights + are property of <a href="http://www.adobe.com" target="_top">Adobe Systems</a>. </p> + +<h3>Use</h3> + + <p>The file is created and opened by calling function <font face="Courier"> + <a href="../func/init.html#cdCreateCanvas"><strong>cdCreateCanvas</strong></a>(CD_PS, + Data)</font>, in which <font face="Courier">Data</font> contains the filename and canvas dimensions. This function + opens the file and writes its header. Then, other functions in the CD library can be called as usual. The + <font face="Courier">Data</font> parameter string has the following format:</p> + + <pre>"<em>filename -p[paper] -w[width] -h[height] -l[left] -r[right] -b[bottom] -t[top] -s[resolution] [-e]</em> <em>[-g] [-o] [-1] d[margin]</em>"<em><br> +</em>or in C<em><br> +"<strong><tt>%s -p%d -w%g -h%g -l%g -r%g -b%g -t%g -s%d -e -o -1 -g -d%g</tt></strong>"</em></pre> + + <p>The filename must be inside double quotes (") if it has spaces. Any amount of such canvases may exist + simultaneously. It is important to note that a call to function + <a href="../func/init.html#cdKillCanvas"><font face="Courier"><strong> + cdKillCanvas</strong></font></a> is required to <b>close</b> the file properly.</p> + <p><b>Paper Size - </b>The default paper size is A4. It is possible to change it by using one of the predefined sizes + - <strong><tt>CD_A0</tt></strong>, <strong><tt>CD_A1</tt></strong>, <strong><tt>CD_A2</tt></strong>, <strong><tt>CD_A3</tt></strong>, + <strong><tt>CD_A4</tt></strong>, <strong><tt>CD_A5</tt></strong>, <strong><tt>CD_LETTER</tt></strong> and <strong><tt> + CD_LEGAL</tt></strong> - with parameter "<font face="Courier">-p</font>". It is also possible to define a paper in a + particular size by using parameters "<font face="Courier">-w</font>" e "<font face="Courier">-h</font>". Values are + provided in millimeters.</p> + +<div align="center"> + <center> + <table border="1" cellpadding="3"> + <caption valign="top"><font size="4">Default Paper Sizes</font></caption> + <tr> + <td> </td> + <th>Width (mm)</th> + <th>Length (mm)</th> + </tr> + <tr> + <td><strong>A0</strong></td> + <td align="center">841</td> + <td align="center">1187</td> + </tr> + <tr> + <td><strong>A1</strong></td> + <td align="center">594</td> + <td align="center">841</td> + </tr> + <tr> + <td><strong>A2</strong></td> + <td align="center">420</td> + <td align="center">594</td> + </tr> + <tr> + <td><strong>A3</strong></td> + <td align="center">297</td> + <td align="center">420</td> + </tr> + <tr> + <td><strong>A4</strong></td> + <td align="center">210</td> + <td align="center">297</td> + </tr> + <tr> + <td><strong>A5</strong></td> + <td align="center">148</td> + <td align="center">210</td> + </tr> + <tr> + <td><strong>Letter</strong></td> + <td align="center">216</td> + <td align="center">279</td> + </tr> + <tr> + <td><strong>Legal</strong></td> + <td align="center">216</td> + <td align="center">356</td> + </tr> + </table> + </center> +</div> + + <p><b>Margins -</b> The margins are controlled by parameters "<font face="Courier">-l</font>" "<font face="Courier">-r</font>" + "<font face="Courier">-t</font>" and "<font face="Courier">-b</font>" (<em>left, right, top, bottom</em>). Values are + provided in millimeters. Default margins are 25.4 mm to all parameters. You can draw only inside the margins.</p> + <p><b>Resolution -</b> Resolution is used to convert values from millimeters to pixels (the same as points, but the + number of points is per inch - DPI). Use parameter "<font face="Courier">-s</font>" to configure the resolution. The + default value is 300 DPI.</p> + <p><b>Orientation -</b> The page can be oriented as portrait or landscape. The default value is portrait, but when the + parameter "-o" is used, the horizontal and vertical values are switched.</p> + <p><b>EPS -</b> The PostScript file can be in an <strong>Encapsulated PostScript<b> </b></strong>format. For such, + simply specify the parameter "<font face="Courier">-e</font>". It is useful for other applications to import the + PostScript file. You can define the margins of the bounding box by means of parameter "<font face="Courier">-d</font>", + in millimeters.</p> + <p><b>Debug -</b> Parameter "<font face="Courier">-g</font>" adds a series of comments to the PS file, making the + beginning and end of a command from the CD library explicit. It is useful only for those who understand PostScript and + wish to identify a problem. It considerably increases the file size.</p> + <p><b>Level 1 -</b> Parameter "<font face="Courier">-1</font>" forces the driver to generate a level-1 PostScript. In + this case, pattern, stipple and hatch are not supported.</p> + <p><b>Pages -</b> Use function <font face="Courier">cdFlush</font> to change to a new page. The previous page will not + be changed.</p> + +<h3>Behavior of Functions</h3> +<h4>Control</h4> +<ul> + <li><a href="../func/other.html#cdPlay"><font face="Courier"><strong>Play</strong></font></a>: + does nothing, returns <font face="Courier">CD_ERROR</font>. </li> + <li><a href="../func/control.html#cdFlush"><font face="Courier"><strong>Flush</strong></font></a>: + changes to a new page, preserving the previous one. Does nothing in EPS mode.</li> + <li><a href="../func/control.html#cdClear"><font face="Courier"><strong>Clear</strong></font></a>: + does nothing.</li> +</ul> +<h4>Coordinate System & Clipping</h4> +<ul> + <li><a href="../func/coordinates.html#cdGetCanvasSize"><font face="Courier"> + <strong>GetCanvasSize</strong></font></a>: returns the page's size within the margins (drawing area).</li> + <li><a href="../func/coordinates.html#cdUpdateYAxis"><font face="Courier"> + <strong>UpdateYAxis</strong></font></a>: does nothing.</li> + <li><b>Complex Regions</b>: not supported.</li> +</ul> +<h4>Attributes</h4> +<ul> + <li><a href="../func/attributes.html#cdBackground"><font face="Courier"> + <strong> + Background</strong></font></a> does nothing, returns <font face="Courier">CD_WHITE</font>.</li> + <li><a href="../func/filled.html#cdBackOpacity"><font face="Courier"><strong> + BackOpacity</strong></font></a>: does nothing, returns <font face="Courier">CD_TRANSPARENT</font>.</li> + <li><a href="../func/attributes.html#cdWriteMode"><font face="Courier"> + <strong> + WriteMode</strong></font></a>: does nothing, returns <font face="Courier">CD_REPLACE</font>.</li> + <li><a href="../func/text.html#cdFontDim"><font face="Courier"><strong>FontDim</strong></font></a>: + is simulated.</li> + <li><a href="../func/text.html#cdTextSize"><font face="Courier"><strong> + TextSize</strong></font></a>: is simulated.</li> + <li><a href="../func/filled.html#cdHatch"><font face="Courier"><strong>Hatch</strong></font></a>: + is always opaque (to be implemented).</li> + <li><a href="../func/filled.html#cdStipple"><font face="Courier"><strong> + Stipple</strong></font></a>: is always opaque (to be implemented).</li> + <li><a href="../func/text.html#cdTextAlignment"><font face="Courier"><strong> + TextAlignment</strong></font></a>: <font face="Courier">Baseline</font> is the same as <font face="Courier">South</font>.</li> + <li><a href="../func/text.html#cdFont"><font face="Courier"><strong>Font</strong></font></a>: + old name "System" is mapped to "Courier". Styles are added to the Postscript + font name.</li> +</ul> +<h4>Colors </h4> +<ul> + <li><a href="../func/color.html#cdGetColorPlanes"><font face="Courier"> + <strong> + GetColorPlanes</strong></font></a>: returns 24.</li> + <li><a href="../func/color.html#cdPalette"><font face="Courier"><strong>Palette</strong></font></a>: + does nothing. </li> +</ul> +<h4>Client Images</h4> +<ul> + <li><a href="../func/client.html#cdGetImageRGB"><font face="Courier"><strong> + GetImageRGB</strong></font></a>: does nothing.</li> + <li><font face="Courier"><strong><a href="../func/client.html#cdPutImageMap"> + PutImageMap</a></strong></font>: stores an RGB image in the file (to be implemented).</li> + <li><a href="../func/client.html#cdPutImageRGBA"><font face="Courier"><strong> + PutImageRGBA</strong></font></a>: alpha is ignored (to be implemented).</li> +</ul> +<h4>Primitives</h4> +<ul> + <li><font face="Courier"><strong><a href="../func/marks.html#cdPixel">Pixel</a></strong></font>: + does not exist in PS, is simulated using a circle with radius=1.</li> + <li>Floating point primitives are supported.</li> + <li>Filled primitves do not include the line at the edges of the filled area.</li> +</ul> +<h4>Server Images</h4> +<ul> + <li>All functions do nothing.</li> +</ul> +<h4>Exclusive Attributes</h4> +<ul> + <li>"<strong><font face="Courier">POLYHOLE</font></strong>": defines the index of + the vertex where there is a hole in a + closed polygon. It will affect the next <strong>cdEnd</strong>. Can be called several times between + <strong>cdBegin</strong> and <strong>cdEnd</strong> to define holes. The value passed must + be a string containing an integer ("%d"). If the value of the attribute passed is NULL, all holes will no longer be + considered. When consulted returns the current number of holes ("%d"). It can have a maximum of 500 holes.</li> +</ul> +<ul> + <li>"<b><font face="Courier">CMD</font></b>": saves a string directly to the file. Allows adding PostScript commands + to the file generated by the CD library. (set only)</li> +</ul> +<ul> + <li>"<b><font face="Courier">ROTATE</font></b>": allows the usage of 1 angle and 1 coordinate (x, y), that + define a global rotation transformation centered in the specified coordinate. Use 1 real and 2 integer values inside a + string ("%g %d %d" = angle x y).</li> +</ul> + +</body> + +</html> |