Man Linux: Main Page and Category List


       Prima::PS::Drawable -  PostScript interface to Prima::Drawable


               use Prima;
               use Prima::PS::Drawable;

               my $x = Prima::PS::Drawable-> create( onSpool => sub {
                       open F, ">> ./";
                       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.

   Inherited properties
           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?)

   Specific properties
           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

       ::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.

           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.

           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

           Default value is 0

   Internal methods
           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.

           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::font plus those that defined into
           Prima::PS::Fonts module.