PDF::API2::Resource::ExtGState - PDF::API2::Resource::ExtGState documentation


PDF-API2 documentation Contained in the PDF-API2 distribution.

Index


Code Index:

NAME

Top

PDF::API2::Resource::ExtGState

METHODS

Top

$egs = PDF::API2::Resource::ExtGState->new @parameters

Returns a new extgstate object (called from $pdf->extgstate).

$font = PDF::API2::Resource::ExtGState->new_api $api, $name

Returns a egstate-font object. This method is different from 'new' that it needs an PDF::API2-object rather than a Text::PDF::File-object.

$egs->strokeadjust $boolean
$egs->strokeoverprint $boolean
$egs->filloverprint $boolean
$egs->overprintmode $num
$egs->blackgeneration $obj
$egs->blackgeneration2 $obj
$egs->undercolorremoval $obj
$egs->undercolorremoval2 $obj
$egs->transfer $obj
$egs->transfer2 $obj
$egs->halftone $obj
$egs->halftonephase $obj
$egs->smoothness $num
$egs->font $font, $size
$egs->linewidth $size
$egs->linecap $cap
$egs->linejoin $join
$egs->meterlimit $limit
$egs->dash @dash
$egs->flatness $flat
$egs->renderingintent $intentName
$egs->strokealpha $alpha

The current stroking alpha constant, specifying the constant shape or constant opacity value to be used for stroking operations in the transparent imaging model.

$egs->fillalpha $alpha

Same as strokealpha, but for nonstroking operations.

$egs->blendmode $blendname
$egs->blendmode $blendfunctionobj

The current blend mode to be used in the transparent imaging model.

$egs->alphaisshape $boolean

The alpha source flag (alpha is shape), specifying whether the current soft mask and alpha constant are to be interpreted as shape values (true) or opacity values (false).

$egs->textknockout $boolean

The text knockout flag, which determines the behavior of overlapping glyphs within a text object in the transparent imaging model.

$egs->transparency $t

The graphics tranparency , with 0 being fully opaque and 1 being fully transparent. This is a convenience method setting proper values for strokeaplha and fillalpha.

$egs->opacity $op

The graphics opacity , with 1 being fully opaque and 0 being fully transparent. This is a convenience method setting proper values for strokeaplha and fillalpha.

AUTHOR

Top

alfred reibenschuh


PDF-API2 documentation Contained in the PDF-API2 distribution.
package PDF::API2::Resource::ExtGState;

our $VERSION = '2.019';

use base 'PDF::API2::Resource';

use PDF::API2::Basic::PDF::Utils;
use PDF::API2::Util;

no warnings qw[ deprecated recursion uninitialized ];

sub new {
    my ($class,$pdf,$key)=@_;
    my $self = $class->SUPER::new($pdf,$key);
    $self->{Type}=PDFName('ExtGState');
    return($self);
}

sub new_api {
    my ($class,$api,@opts)=@_;

    my $obj=$class->new($api->{pdf},@opts);
    $self->{' api'}=$api;

    return($obj);
}

sub strokeadjust {
    my ($self,$var)=@_;
    $self->{SA}=PDFBool($var);
    return($self);
}

sub strokeoverprint {
    my ($self,$var)=@_;
    $self->{OP}=PDFBool($var);
    return($self);
}

sub filloverprint {
    my ($self,$var)=@_;
    $self->{op}=PDFBool($var);
    return($self);
}

sub overprintmode {
    my ($self,$var)=@_;
    $self->{OPM}=PDFNum($var);
    return($self);
}

sub blackgeneration {
    my ($self,$obj)=@_;
    $self->{BG}=$obj;
    return($self);
}

sub blackgeneration2 {
    my ($self,$obj)=@_;
    $self->{BG2}=$obj;
    return($self);
}

sub undercolorremoval {
    my ($self,$obj)=@_;
    $self->{UCR}=$obj;
    return($self);
}

sub undercolorremoval2 {
    my ($self,$obj)=@_;
    $self->{UCR2}=$obj;
    return($self);
}

sub transfer {
    my ($self,$obj)=@_;
    $self->{TR}=$obj;
    return($self);
}

sub transfer2 {
    my ($self,$obj)=@_;
    $self->{TR2}=$obj;
    return($self);
}

sub halftone {
    my ($self,$obj)=@_;
    $self->{HT}=$obj;
    return($self);
}

sub halftonephase {
    my ($self,$obj)=@_;
    $self->{HTP}=$obj;
    return($self);
}

sub smoothness {
    my ($self,$var)=@_;
    $self->{SM}=PDFNum($var);
    return($self);
}

sub font {
    my ($self,$font,$size)=@_;
    $self->{Font}=PDFArray(PDFName($font->{' apiname'}),PDFNum($size));
    return($self);
}

sub linewidth {
    my ($self,$var)=@_;
    $self->{LW}=PDFNum($var);
    return($self);
}

sub linecap {
    my ($self,$var)=@_;
    $self->{LC}=PDFNum($var);
    return($self);
}

sub linejoin {
    my ($self,$var)=@_;
    $self->{LJ}=PDFNum($var);
    return($self);
}

sub meterlimit {
    my ($self,$var)=@_;
    $self->{ML}=PDFNum($var);
    return($self);
}

sub dash {
    my ($self,@dash)=@_;
    $self->{ML}=PDFArray( map { PDFNum($_); } @dash );
    return($self);
}

sub flatness {
    my ($self,$var)=@_;
    $self->{FL}=PDFNum($var);
    return($self);
}

sub renderingintent {
    my ($self,$var)=@_;
    $self->{FL}=PDFName($var);
    return($self);
}

sub strokealpha {
    my ($self,$var)=@_;
    $self->{CA}=PDFNum($var);
    return($self);
}

sub fillalpha {
    my ($self,$var)=@_;
    $self->{ca}=PDFNum($var);
    return($self);
}

sub blendmode {
    my ($self,$var)=@_;
    if(ref($var)) {
        $self->{BM}=$var;
    } else {
        $self->{BM}=PDFName($var);
    }
    return($self);
}

sub alphaisshape {
    my ($self,$var)=@_;
    $self->{AIS}=PDFBool($var);
    return($self);
}

sub textknockout {
    my ($self,$var)=@_;
    $self->{TK}=PDFBool($var);
    return($self);
}

sub transparency {
    my ($self,$var)=@_;
    $self->strokealpha(1-$var);
    $self->fillalpha(1-$var);
    return($self);
}

sub opacity {
    my ($self,$var)=@_;
    $self->strokealpha($var);
    $self->fillalpha($var);
    return($self);
}

sub outobjdeep {
    my ($self, @opts) = @_;
    foreach my $k (qw/ api apipdf /) {
        $self->{" $k"}=undef;
        delete($self->{" $k"});
    }
    $self->SUPER::outobjdeep(@opts);
}

1;

__END__