digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::TagRegion Class Reference

Public Types

enum  Type { Invalid , Rect }
 

Public Member Functions

 TagRegion ()=default
 Use this small class to convert between the formatted textual representation of a tag region in the database and the corresponding object.
 
 TagRegion (const QRect &rect)
 Construct with the region.
 
 TagRegion (const QString &descriptor)
 Construct with the textual descriptor.
 
bool intersects (const TagRegion &other, double fraction=0)
 Returns true if this and the other region intersect.
 
bool isValid () const
 
bool operator!= (const TagRegion &other) const
 
bool operator== (const TagRegion &other) const
 
QRect toRect () const
 If type is Rect, returns the contained rectangle.
 
QVariant toVariant () const
 Stores in / loads from a variant.
 
QString toXml () const
 Returns an XML textual representation of this region.
 
Type type () const
 

Static Public Member Functions

static QRectF absoluteToRelative (const QRect &region, const QSize &fullSize)
 Takes absolute region and full size to return the original relative region.
 
static QSize adjustToOrientation (QRect &region, int orientation, const QSize &fullSize)
 Rotate and flip region to MetaEngine::ImageOrientation.
 
static TagRegion fromVariant (const QVariant &var)
 
static QRect mapFromOriginalSize (const DImg &reducedSizeImage, const QRect &fullSizeDetail)
 
static QRect mapFromOriginalSize (const QSize &fullImageSize, const QSize &reducedImageSize, const QRect &fullSizeDetail)
 
static QRect mapToOriginalSize (const DImg &reducedSizeImage, const QRect &reducedSizeDetail)
 Takes the original and reduced size from the DImg.
 
static QRect mapToOriginalSize (const QSize &fullImageSize, const QSize &reducedImageSize, const QRect &reducedSizeDetail)
 Converts detail rectangles taken from a reduced size image to the original size, and vice versa.
 
static QRect relativeToAbsolute (const QRectF &region, const DImg &reducedSizeImage)
 Takes the original and reduced size from the DImg, maps to original size.
 
static QRect relativeToAbsolute (const QRectF &region, const QSize &fullSize)
 Takes a relative region and a full size and returns the absolute region.
 
static void reverseToOrientation (QRect &region, int orientation, const QSize &fullSize)
 Reverse rotate and flip region to MetaEngine::ImageOrientation.
 

Protected Attributes

Type m_type = Invalid
 
QVariant m_value
 

Constructor & Destructor Documentation

◆ TagRegion()

Digikam::TagRegion::TagRegion ( )
default

Construct an invalid region.

Member Function Documentation

◆ absoluteToRelative()

QRectF Digikam::TagRegion::absoluteToRelative ( const QRect &  region,
const QSize &  fullSize 
)
static

Used to write back rectangles into image's XMP. see MetadataHub::write.

◆ adjustToOrientation()

QSize Digikam::TagRegion::adjustToOrientation ( QRect &  region,
int  orientation,
const QSize &  fullSize 
)
static

The value region are calculated for the new image orientation.

◆ intersects()

bool Digikam::TagRegion::intersects ( const TagRegion other,
double  fraction = 0 
)

fraction describes the relative overlap area needed to return true: If fraction is 0, returns true if the regions intersect at all. If fraction is 1, returns true only if other is completely contained in this region. If fraction is x, 0 < x < 1, returns true if the area of this region covered by the other is greater than x. Invalid areas never intersect.

◆ reverseToOrientation()

void Digikam::TagRegion::reverseToOrientation ( QRect &  region,
int  orientation,
const QSize &  fullSize 
)
static

The value region are calculated for the new image orientation.

◆ toVariant()

QVariant Digikam::TagRegion::toVariant ( ) const

Will only use native QVariant types.