• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegraphics API Reference
  • KDE Home
  • Contact Us
 

libs/libkexiv2/libkexiv2

  • KExiv2Iface
  • RotationMatrix
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
KExiv2Iface::RotationMatrix Class Reference

#include <rotationmatrix.h>

Public Types

enum  TransformationAction {
  NoTransformation = 0, FlipHorizontal = 1, FlipVertical = 2, Rotate90 = 5,
  Rotate180 = 6, Rotate270 = 7
}
 

Public Member Functions

 RotationMatrix ()
 
 RotationMatrix (TransformationAction action)
 
 RotationMatrix (KExiv2::ImageOrientation exifOrientation)
 
 RotationMatrix (int m11, int m12, int m21, int m22)
 
KExiv2::ImageOrientation exifOrientation () const
 
bool isNoTransform () const
 
bool operator!= (const RotationMatrix &ma) const
 
RotationMatrix & operator*= (const RotationMatrix &ma)
 
RotationMatrix & operator*= (TransformationAction action)
 
RotationMatrix & operator*= (QList< TransformationAction > actions)
 
RotationMatrix & operator*= (KExiv2::ImageOrientation exifOrientation)
 
bool operator== (const RotationMatrix &ma) const
 
QMatrix toMatrix () const
 
QList< TransformationAction > transformations () const
 

Static Public Member Functions

static QMatrix toMatrix (KExiv2::ImageOrientation orientation)
 

Protected Member Functions

void set (int m11, int m12, int m21, int m22)
 

Protected Attributes

int m [2][2]
 

Detailed Description

Definition at line 43 of file rotationmatrix.h.

Member Enumeration Documentation

enum KExiv2Iface::RotationMatrix::TransformationAction

This describes single transform primitives.

Note some of the defined Exif rotation flags combine two of these actions. The enum values correspond to those defined as JXFORM_CODE in the often used the JPEG tool transupp.h.

Enumerator
NoTransformation 
FlipHorizontal 

no transformation

FlipVertical 

horizontal flip

Rotate90 

vertical flip

Rotate180 

90-degree clockwise rotation

Rotate270 

180-degree rotation

Definition at line 54 of file rotationmatrix.h.

Constructor & Destructor Documentation

KExiv2Iface::RotationMatrix::RotationMatrix ( )

Constructs the identity matrix (the matrix describing no transformation)

Definition at line 139 of file rotationmatrix.cpp.

KExiv2Iface::RotationMatrix::RotationMatrix ( TransformationAction  action)

Returns the matrix corresponding to the given TransformationAction.

Definition at line 144 of file rotationmatrix.cpp.

KExiv2Iface::RotationMatrix::RotationMatrix ( KExiv2::ImageOrientation  exifOrientation)

Returns the matrix corresponding to the given TransformationAction.

Definition at line 149 of file rotationmatrix.cpp.

KExiv2Iface::RotationMatrix::RotationMatrix ( int  m11,
int  m12,
int  m21,
int  m22 
)

Definition at line 154 of file rotationmatrix.cpp.

Member Function Documentation

KExiv2::ImageOrientation KExiv2Iface::RotationMatrix::exifOrientation ( ) const

Returns the Exif orienation flag describing this matrix.

Returns ORIENTATION_UNSPECIFIED if no flag matches this matrix.

Definition at line 254 of file rotationmatrix.cpp.

bool KExiv2Iface::RotationMatrix::isNoTransform ( ) const

Returns true of this matrix describes no transformation (is the identity matrix)

Definition at line 167 of file rotationmatrix.cpp.

bool KExiv2Iface::RotationMatrix::operator!= ( const RotationMatrix &  ma) const

Definition at line 187 of file rotationmatrix.cpp.

RotationMatrix & KExiv2Iface::RotationMatrix::operator*= ( const RotationMatrix &  ma)

Definition at line 172 of file rotationmatrix.cpp.

RotationMatrix & KExiv2Iface::RotationMatrix::operator*= ( TransformationAction  action)

Applies the given transform to this matrix.

Definition at line 192 of file rotationmatrix.cpp.

RotationMatrix & KExiv2Iface::RotationMatrix::operator*= ( QList< TransformationAction >  actions)

Applies the given transform actions to this matrix.

Definition at line 197 of file rotationmatrix.cpp.

RotationMatrix & KExiv2Iface::RotationMatrix::operator*= ( KExiv2::ImageOrientation  exifOrientation)

Applies the given Exif orientation flag to this matrix.

Definition at line 207 of file rotationmatrix.cpp.

bool KExiv2Iface::RotationMatrix::operator== ( const RotationMatrix &  ma) const

Definition at line 179 of file rotationmatrix.cpp.

void KExiv2Iface::RotationMatrix::set ( int  m11,
int  m12,
int  m21,
int  m22 
)
protected

Definition at line 159 of file rotationmatrix.cpp.

QMatrix KExiv2Iface::RotationMatrix::toMatrix ( ) const

Returns a QMatrix representing this matrix.

Definition at line 291 of file rotationmatrix.cpp.

QMatrix KExiv2Iface::RotationMatrix::toMatrix ( KExiv2::ImageOrientation  orientation)
static

Returns a QMatrix for the given Exif orientation.

Definition at line 296 of file rotationmatrix.cpp.

QList< RotationMatrix::TransformationAction > KExiv2Iface::RotationMatrix::transformations ( ) const

Returns the actions described by this matrix.

Converts the mathematically correct description into the primitive operations that can be carried out losslessly.

The order matters. Not all possible matrices are supported, but all those that can be combined by Exif rotation flags and the transform actions above. If isNoTransform() or the matrix is not supported returns an empty list.

Definition at line 215 of file rotationmatrix.cpp.

Member Data Documentation

int KExiv2Iface::RotationMatrix::m[2][2]
protected

Definition at line 113 of file rotationmatrix.h.


The documentation for this class was generated from the following files:
  • rotationmatrix.h
  • rotationmatrix.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:19:40 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libs/libkexiv2/libkexiv2

Skip menu "libs/libkexiv2/libkexiv2"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdegraphics API Reference

Skip menu "kdegraphics API Reference"
  •     libkdcraw
  •     libkexiv2
  •     libkipi
  •     libksane
  • okular

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal