NAME
Prima::PS::PostScript - PostScript interface to Prima::Drawable
SYNOPSIS
use Prima;
use Prima::PS::PostScript;
my $x = Prima::PS::PostScript-> create( onSpool => sub {
open F, ">> ./test.ps";
print F $_[1];
close F;
});
die "error:$@" unless $x-> begin_doc;
$x-> font-> size( 30);
$x-> text_out( "hello!", 100, 100);
$x-> end_doc;
DESCRIPTION
Realizes the Prima library interface to PostScript level 2 document language. The module is designed to be compliant with Prima::Drawable interface. All properties' behavior is as same as Prima::Drawable's, except those described below.
Inherited properties
- ::resolution
-
Can be set while object is in normal stage - cannot be changed if document is opened. Applies to fillPattern realization and general pixel-to-point and vice versa calculations
- ::region
-
- ::region is not realized ( yet?)
Specific properties
- ::copies
-
amount of copies that PS interpreter should print
- ::grayscale
-
could be 0 or 1
- ::pageSize
-
physical page dimension, in points
- ::pageMargins
-
non-printable page area, an array of 4 integers: left, bottom, right and top margins in points.
- ::reversed
-
if 1, a 90 degrees rotated document layout is assumed
- ::rotate and ::scale
-
along with Prima::Drawable::translate provide PS-specific transformation matrix manipulations. ::rotate is number, measured in degrees, counter-clockwise. ::scale is array of two numbers, respectively x- and y-scale. 1 is 100%, 2 is 200% etc.
Internal methods
- emit
-
Can be called for direct PostScript code injection. Example:
$x-> emit('0.314159 setgray'); $x-> bar( 10, 10, 20, 20);
- pixel2point and point2pixel
-
Helpers for translation from pixel to points and vice versa.
- fill & stroke
-
Wrappers for PS outline that is expected to be filled or stroked. Apply colors, line and fill styles if necessary.
- spool
-
Prima::PS::PostScript is not responsible for output of generated document, it just calls ::spool when document is closed through ::end_doc. By default just skips data. Prima::PS::Printer handles spooling logic.
- fonts
-
Returns Prima::Application::fonts, however with
iso10646-1
encoding only. That effectively allows only unicode output.