Section: User Contributed Perl Documentation (3)Updated: 2009-02-24Local indexUp
NAME
Prima::PS::Drawable - PostScript interface to Prima::Drawable
SYNOPSIS
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;
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.
::useDeviceFonts
1 by default; optimizes greatly text operations, but takes the risk
that a character could be drawn incorrectly or not drawn at all -
this behavior depends on a particular PS interpreter.
::useDeviceFontsOnly
If 1, the system fonts, available from Prima::Application
interfaces can not be used. It is designed for
developers and the outside-of-Prima applications that wish to
use PS generation module without graphics. If 1, "::useDeviceFonts"
is set to 1 automatically.
Default value is 0
Internal methods
emit
Can be called for direct PostScript code injection. Example:
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::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.
fonts
Returns Prima::Application::font plus those that defined into Prima::PS::Fonts module.