NAME
Prima::ImageDialog - file open and save dialogs.
DESCRIPTION
The module provides dialogs specially adjusted for image loading and
saving.
Prima::ImageOpenDialog
Provides a preview feature, allowing the user to view the image file
before loading, and the selection of a frame index for the multi-framed
image files. Instead of "execute" call, the load method is used to
invoke the dialog and returns the loaded image as a "Prima::Image"
object. The loaded object by default contains "{extras}" hash variable
set, which contains extra information returned by the loader. See
Prima::image-load for more information.
SYNOPSIS
my $dlg = Prima::ImageOpenDialog-> create;
my $img = $dlg-> load;
return unless $img;
print "$_:$img->{extras}->{$_}\n" for sort keys %{$img-> {extras}};
Proprties
preview BOOLEAN
Selects if the preview functionality is active. The user can
switch it on and off interactively.
Default value: 1
Methods
load %PROFILE
Executes the dialog, and, if successful, loads the image file and
frame selected by the user. Returns the loaded image as a
"Prima::Image" object. PROFILE is a hash, passed to
"Prima::Image::load" method. In particular, it can be used to
disable the default loading of extra information in "{extras}"
variable, or to specify a non-default loading option. For example,
"{extras}->{className} = 'Prima::Icon'" would return the loaded
image as an icon object. See Prima::image-load for more.
"load" can report progressive image loading to the caller, and/or
to an instance of "Prima::ImageViewer", if desired. If either (or
both) "onHeaderReady" and "onDataReady" notifications are
specified, these are called from the respective event handlers of
the image being loaded ( see "Loading with progress indicator" in
Prima::image-load for details). If profile key "progressViewer" is
supplied, its value is treated as a "Prima::ImageViewer" instance,
and it is used to display image loading progress. See
"watch_load_progress" in Prima::ImageViewer.
Events
HeaderReady IMAGE
See "HeaderReady" in Prima::Image.
DataReady IMAGE, X, Y, WIDTH, HEIGHT
See "DataReady" in Prima::Image.
Prima::ImageSaveDialog
Provides a save dialog where the user can select image format, the bit
depth and other format-specific options. The format-specific options
can be set if a dialog for the file format is provided. The standard
toolkit dialogs reside under in "Prima::Image" namespace, in
Prima/Image subdirectory. For example, "Prima::Image::gif" provides the
selection of transparency color, and "Prima::Image::jpeg" the image
quality control. If the image passed to the image property contains
"{extras}" variable, the data are read and used as the default values.
In particular, "{extras}->-{codecID}" field, responsible for the file
format, if present, affects the default file format selection.
SYNOPSIS
my $dlg = Prima::ImageSaveDialog-> create;
return unless $dlg-> save( $image );
print "saved as ", $dlg-> fileName, "\n";
Properties
image IMAGE
Selects the image to be saved. This property is to be used for the
standard invocation of dialog, via "execute". It is not needed when
the execution and saving is invoked via save method.
Methods
save IMAGE, %PROFILE
Invokes the dialog, and, if the execution was successful, saves the
IMAGE according to the user selection and PROFILE hash. PROFILE is
not used for the default options, but is passed directly to
"Prima::Image::save" call, possibly overriding selection of the
user. Returns 1 in case of success, 0 in case of error. If the
error occurs, the user is notified before the method returns.
AUTHOR
Dmitry Karasik, <dmitry@karasik.eu.org>.
SEE ALSO
Prima, Prima::Window, Prima::codecs, Prima::image-load, Prima::Image,
Prima::FileDialog, Prima::ImageViewer, examples/iv.pl.