Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions

QuillImageFilter Class Reference

Represents one image editing operation. More...

#include <quillimagefilter.h>

Inheritance diagram for QuillImageFilter:
Inheritance graph
[legend]
Collaboration diagram for QuillImageFilter:
Collaboration graph
[legend]

List of all members.

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

QuillImageFilterImplementationhandler () const
void setHandler (QuillImageFilterImplementation *handler)
void setValid (bool valid)

Detailed Description

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.


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
UnspecifiedError 
NoError 
FileNotFoundError 
UnsupportedFormatError 
InvalidDataError 
FileCanNotOpenError 
CanceledError 
Enumerator:
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


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

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_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_RedEyeReduction [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]

The documentation for this class was generated from the following files: