NAME

Graphics::Potrace::Raster::Importer - vectorial exporter base class for Graphics::Potrace

VERSION

version 0.76

DESCRIPTION

This is a base class for building up raster importers. One example of using this base class is shipped directly in the distribution as Graphics::Potrace::Raster::Ascii.

You only need to override one of three methods: "load_handle" or "load_data".

In this class these two methods are both defined in terms of the other, so that you can really override only one of them and get the other one for free.

INTERFACE

clear_target

Clears the currently set target raster (see "target").

has_target

Checks whether the object has a target bitmap for load operations or not. See also "target".

load_data

my $bitmap = $importer->load_data($scalar);

Import data from a scalar variable. The format the data inside the $scalar depends on the particular derived class.

load

my $bitmap = $importer->load(data => $scalar);
my $bitmap = $importer->load(file => $filename);
my $bitmap = $importer->load(fh => $filehandle);

Import data from a scalar, a file or a filehandle. The format of the data in the file/filehandle depends on the derived class. This method leverages upon /load_data and "load_handle". In this way you can use one single method and decide what you want to pass in exactly.

load_handle

my $bitmap = $importer->load_handle($filehandle);

Import data from a filehandle. This functionality is already covered by "load" above, but this method is more useful for overriding in derived classes.

new

my $i = Graphics::Potrace::Raster::Importer->new(%args);

Constructor. The only common parameter that you can set is target, corresponding to set "target".

target

my $raster = $importer->target();
$importer->target($raster);

Quasi-accessor for setting the target bitmap for the import. This is a quasi-accessor because if no target is currently defined (you can check it with /has_target) then a new one will be provided each time you call this method.

AUTHOR

Flavio Poletti <polettix@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2011-2015 by Flavio Poletti polettix@cpan.org.

This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.