Represents one image editing operation. More...
#include <quillimagefilter.h>
Public Types | |
enum | QuillFilterRole { Role_Undefined = 0, Role_Load, Role_Save, Role_Overlay, Role_PreviewScale } |
enum | ImageFilterError { UnspecifiedError = -1, NoError = 0, FileNotFoundError, UnsupportedFormatError, InvalidDataError, FileCanNotOpenError, CanceledError } |
typedef QString | QuillFilterOption |
Public Member Functions | |
QuillImageFilter () | |
QuillImageFilter (const QString &name) | |
QuillImageFilter (QuillFilterRole role) | |
virtual | ~QuillImageFilter () |
bool | isValid () |
QVariant | option (const QString &filterOption) const |
bool | setOption (const QString &filterOption, const QVariant &value) |
bool | supportsOption (const QString &filterOption) const |
const QStringList | supportedOptions () const |
virtual QuillImage | apply (const QuillImage &image) const |
QSize | newFullImageSize (const QSize &fullImageSize) const |
QRect | newArea (const QSize &fullImageSize, const QRect &area) const |
const QString | name () const |
QuillFilterRole | role () const |
QIODevice * | iODevice () const |
void | setIODevice (QIODevice *iODevice) |
void | cancel () |
QuillImageFilter::ImageFilterError | error () const |
Static Public Attributes | |
static const QLatin1String | FileName |
static const QLatin1String | FileFormat |
static const QLatin1String | Timestamp |
static const QLatin1String | Name_AutoContrast |
static const QLatin1String | Name_BrightnessContrast |
static const QLatin1String | Name_Crop |
static const QLatin1String | Name_Load |
static const QLatin1String | Name_Overlay |
static const QLatin1String | Name_Save |
static const QLatin1String | Name_ScaleCrop |
static const QLatin1String | Name_Flip |
static const QLatin1String | Name_FreeRotate |
static const QLatin1String | Name_Gaussian |
static const QLatin1String | Name_Lanczos |
static const QLatin1String | Name_Levels |
static const QLatin1String | Name_AutoLevels |
static const QLatin1String | Name_RedEyeReduction |
static const QLatin1String | Name_RedEyeDetection |
static const QLatin1String | Name_Rotate |
static const QLatin1String | Name_Scale |
static const QLatin1String | Name_AutoContrast_deprecated |
static const QLatin1String | Name_BrightnessContrast_deprecated |
static const QLatin1String | Name_Crop_deprecated |
static const QLatin1String | Name_Load_deprecated |
static const QLatin1String | Name_Overlay_deprecated |
static const QLatin1String | Name_Save_deprecated |
static const QLatin1String | Name_ScaleCrop_deprecated |
static const QLatin1String | Name_Flip_deprecated |
static const QLatin1String | Name_FreeRotate_deprecated |
static const QLatin1String | Name_Gaussian_deprecated |
static const QLatin1String | Name_Lanczos_deprecated |
static const QLatin1String | Name_Levels_deprecated |
static const QLatin1String | Name_AutoLevels_deprecated |
static const QLatin1String | Name_RedEyeReduction_deprecated |
static const QLatin1String | Name_RedEyeDetection_deprecated |
static const QLatin1String | Name_Rotate_deprecated |
static const QLatin1String | Name_Scale_deprecated |
static const QLatin1String | DisableUndo |
static const QLatin1String | DisablePreview |
static const QLatin1String | SizeAfter |
static const QLatin1String | Brightness |
static const QLatin1String | Contrast |
static const QLatin1String | Red |
static const QLatin1String | Green |
static const QLatin1String | Blue |
static const QLatin1String | RedMax |
static const QLatin1String | GreenMax |
static const QLatin1String | BlueMax |
static const QLatin1String | Angle |
static const QLatin1String | CropRectangle |
static const QLatin1String | Center |
static const QLatin1String | Radius |
static const QLatin1String | Horizontal |
static const QLatin1String | Background |
static const QLatin1String | TileCount |
static const QLatin1String | SelectionArea |
static const QLatin1String | RawExifData |
static const QLatin1String | MimeType |
static const QLatin1String | BackgroundColor |
static const QLatin1String | IgnoreExifOrientation |
Protected Member Functions | |
QuillImageFilterImplementation * | handler () const |
void | setHandler (QuillImageFilterImplementation *handler) |
void | setValid (bool valid) |
Represents one image editing operation.
Image editing operations operate with instances of QuillImage class. They are used by calling apply().
To keep the public API minimal, individual filter constructors are not in the public interface. Instead, Quill image filters are generated for the application by the QuillImageFilterFactory class.
Filters can be parametrized using options, see setOption() and option(); and QuillFilterOption for the list of available options. Some filters like BrightnessContrast or RedEyeReduction always require some options to be set; others like Crop also have default values.
typedef QString QuillImageFilter::QuillFilterOption |
Role_Undefined |
Used for enumerating through the filter roles By default, filters do not have a role |
Role_Load |
Filter role for loading an image |
Role_Save |
Filter role for saving an image |
Role_Overlay |
Overlay save helper - knows how fill the saving buffer |
Role_PreviewScale |
Filter role to provide a preview scaling |
QuillImageFilter::QuillImageFilter | ( | ) |
Initializes an invalid image filter.
QuillImageFilter::QuillImageFilter | ( | const QString & | name | ) |
Initializes an image filter with a given name. If a filter corresponding to the name is not found from within the plugin database,
QuillImageFilter::QuillImageFilter | ( | QuillFilterRole | role | ) |
Initializes an image filter with a given role. If no filter implementing the given role is foung, an invalid filter is created instead.
QuillImageFilter::~QuillImageFilter | ( | ) | [virtual] |
Frees common things to all filters.
QuillImage QuillImageFilter::apply | ( | const QuillImage & | image | ) | const [virtual] |
Applies the filter to a given preview or fragment.
Reimplemented in QuillImageFilterGenerator.
void QuillImageFilter::cancel | ( | ) |
Note: This is currently an API placeholder with no actual functionality.
Cancel a call to apply() which is currently running in some other thread. This is the only method of its class which is thread safe. Cancellation implementation by filter is optional. When the canceled filter recognizes the cancellation, it will terminate gracefully, return an invalid QuillImage, and have its error() value set as QuillImageFilter::CanceledError.
QuillImageFilter::ImageFilterError QuillImageFilter::error | ( | ) | const |
QuillImageFilterImplementation * QuillImageFilter::handler | ( | ) | const [protected] |
QIODevice * QuillImageFilter::iODevice | ( | ) | const |
Returns the IO device used, see setIODevice().
bool QuillImageFilter::isValid | ( | ) |
Check if a filter is valid (if a filter was found from any plugin).
const QString QuillImageFilter::name | ( | ) | const |
Returns the name of the filter.
QRect QuillImageFilter::newArea | ( | const QSize & | fullImageSize, | |
const QRect & | area | |||
) | const |
If the filter changes dimensions of the image, this can be used to re-calculate a new position for a specific tile.
QSize QuillImageFilter::newFullImageSize | ( | const QSize & | fullImageSize | ) | const |
If the filter changes dimensions of the image, this can be used to re-calculate a new size for the full image.
QVariant QuillImageFilter::option | ( | const QString & | filterOption | ) | const |
Returns the value of a filter option. These options are the recommended way to pass information to the filters. This function needs to be reimplemented in a derived class to support options.
QuillImageFilter::QuillFilterRole QuillImageFilter::role | ( | ) | const |
Returns the role of this filter.
The role system is used by LibQuill when it auto-generates filters for its own use. This will also allow later registering third party filters to replace LibQuill defaults.
void QuillImageFilter::setHandler | ( | QuillImageFilterImplementation * | handler | ) | [protected] |
void QuillImageFilter::setIODevice | ( | QIODevice * | iODevice | ) |
Sets the IO device used. This is only used by filters which represent file system access (loading and saving). The device remains property of the caller but remains in use by the filter; it should only be deleted after the filter has been removed.
bool QuillImageFilter::setOption | ( | const QString & | filterOption, | |
const QVariant & | value | |||
) |
Sets the value of a filter option. These options are the recommended way to pass information to the filters. This function needs to be reimplemented in a derived class to support options.
void QuillImageFilter::setValid | ( | bool | valid | ) | [protected] |
const QStringList QuillImageFilter::supportedOptions | ( | ) | const |
Returns the list of all options supported by the filter.
bool QuillImageFilter::supportsOption | ( | const QString & | filterOption | ) | const |
Returns true if a filter supports the given option. This function needs to be reimplemented in a derived class to support options.
const QLatin1String QuillImageFilter::Angle [static] |
used for rotations
const QLatin1String QuillImageFilter::Background [static] |
For the overlay filter since it needs to process two images.
const QLatin1String QuillImageFilter::BackgroundColor [static] |
Background color for alpha rendering
const QLatin1String QuillImageFilter::Blue [static] |
Minimum blue level (0-255)
const QLatin1String QuillImageFilter::BlueMax [static] |
Maximum blue level (0-255)
const QLatin1String QuillImageFilter::Brightness [static] |
Brightness component of the brightness/contrast filter (percentage units)
const QLatin1String QuillImageFilter::Center [static] |
The centerpoint of red eye detection area
const QLatin1String QuillImageFilter::Contrast [static] |
Contrast component of the brightness/contrast filter (percentage units)
const QLatin1String QuillImageFilter::CropRectangle [static] |
the rectangle used to crop image
const QLatin1String QuillImageFilter::DisablePreview [static] |
filter should not be applied to preview image of any resolution.
const QLatin1String QuillImageFilter::DisableUndo [static] |
filter has permanent effects and therefore should not be undone.
const QLatin1String QuillImageFilter::FileFormat [static] |
const QLatin1String QuillImageFilter::FileName [static] |
const QLatin1String QuillImageFilter::Green [static] |
Minimum green level (0-255)
const QLatin1String QuillImageFilter::GreenMax [static] |
Maximum green level (0-255)
const QLatin1String QuillImageFilter::Horizontal [static] |
If the flip effect is horizontal or not
const QLatin1String QuillImageFilter::IgnoreExifOrientation [static] |
Boolean check if the load filter should ignore EXIF orientation
const QLatin1String QuillImageFilter::MimeType [static] |
MIME type of the image to be loaded or saved
const QLatin1String QuillImageFilter::Name_AutoContrast [static] |
const QLatin1String QuillImageFilter::Name_AutoContrast_deprecated [static] |
const QLatin1String QuillImageFilter::Name_AutoLevels [static] |
const QLatin1String QuillImageFilter::Name_AutoLevels_deprecated [static] |
const QLatin1String QuillImageFilter::Name_BrightnessContrast [static] |
const QLatin1String QuillImageFilter::Name_BrightnessContrast_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Crop [static] |
const QLatin1String QuillImageFilter::Name_Crop_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Flip [static] |
const QLatin1String QuillImageFilter::Name_Flip_deprecated [static] |
const QLatin1String QuillImageFilter::Name_FreeRotate [static] |
const QLatin1String QuillImageFilter::Name_FreeRotate_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Gaussian [static] |
const QLatin1String QuillImageFilter::Name_Gaussian_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Lanczos [static] |
const QLatin1String QuillImageFilter::Name_Lanczos_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Levels [static] |
const QLatin1String QuillImageFilter::Name_Levels_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Load [static] |
const QLatin1String QuillImageFilter::Name_Load_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Overlay [static] |
const QLatin1String QuillImageFilter::Name_Overlay_deprecated [static] |
const QLatin1String QuillImageFilter::Name_RedEyeDetection [static] |
const QLatin1String QuillImageFilter::Name_RedEyeDetection_deprecated [static] |
const QLatin1String QuillImageFilter::Name_RedEyeReduction [static] |
const QLatin1String QuillImageFilter::Name_RedEyeReduction_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Rotate [static] |
const QLatin1String QuillImageFilter::Name_Rotate_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Save [static] |
const QLatin1String QuillImageFilter::Name_Save_deprecated [static] |
const QLatin1String QuillImageFilter::Name_Scale [static] |
const QLatin1String QuillImageFilter::Name_Scale_deprecated [static] |
const QLatin1String QuillImageFilter::Name_ScaleCrop [static] |
const QLatin1String QuillImageFilter::Name_ScaleCrop_deprecated [static] |
const QLatin1String QuillImageFilter::Radius [static] |
Radius of effect (for red eye detection, should be an integer)
const QLatin1String QuillImageFilter::RawExifData [static] |
Raw EXIF data dumped into a byte array
const QLatin1String QuillImageFilter::Red [static] |
Minimum red level (0-255)
const QLatin1String QuillImageFilter::RedMax [static] |
Maximum red level (0-255)
const QLatin1String QuillImageFilter::SelectionArea [static] |
Selection area (for red eye reduction, should be a QPolygon)
const QLatin1String QuillImageFilter::SizeAfter [static] |
to specify new full image size.
const QLatin1String QuillImageFilter::TileCount [static] |
Total tile count for save filter
const QLatin1String QuillImageFilter::Timestamp [static] |