Prima::PS::Drawable - PostScript interface to Prima::Drawable
use Prima; use Prima::PS::Drawable; my $x = Prima::PS::Drawable-> 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;
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.
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 is not realized ( yet?)
amount of copies that PS interpreter should print
could be 0 or 1
physical page dimension, in points
non-printable page area, an array of 4 integers: left, bottom, right and top margins in points.
if 1, a 90 degrees rotated document layout is assumed
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.
Can be called for direct PostScript code injection. Example:
$x-> emit('0.314159 setgray'); $x-> bar( 10, 10, 20, 20);
Helpers for translation from pixel to points and vice versa.
Wrappers for PS outline that is expected to be filled or stroked. Apply colors, line and fill styles if necessary.
Prima::PS::Drawable 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.
Returns Prima::Application::fonts, however with iso10646-1 encoding only. That effectively allows only unicode output.
iso10646-1
To install Prima, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prima
CPAN shell
perl -MCPAN -e shell install Prima
For more information on module installation, please visit the detailed CPAN module installation guide.