# crwimage.hpp File Reference

Class CrwImage to access Canon Crw images.
References:
The Canon RAW (CRW) File Format by Phil Harvey. More...

`#include "types.hpp"`
`#include "image.hpp"`
`#include "basicio.hpp"`
`#include "exif.hpp"`
`#include "iptc.hpp"`
`#include <iosfwd>`
`#include <string>`
`#include <vector>`
`#include <stack>`

Include dependency graph for crwimage.hpp:

## Namespaces

namespace | Exiv2
namespace | Exiv2::ImageType

## Classes

class | Exiv2::CrwImage
| Class to access raw Canon Crw images. Only Exif metadata and a comment are supported. Crw format does not contain Iptc metadata. More...
class | Exiv2::CrwParser
class | Exiv2::CiffComponent
| Interface class for components of the CIFF directory hierarchy of a Crw (Canon Raw data) image. Both CIFF directories as well as entries implement this interface. This class is implemented as NVI (non-virtual interface). More...
class | Exiv2::CiffEntry
| This class models one directory entry of a CIFF directory of a Crw (Canon Raw data) image. More...
class | Exiv2::CiffDirectory
| This class models a CIFF directory of a Crw (Canon Raw data) image. More...
class | Exiv2::CiffHeader
| This class models the header of a Crw (Canon Raw data) image. It is the head of a CIFF parse tree, consisting of CiffDirectory and CiffEntry objects. Most of its methods will walk the parse tree to perform the requested action. More...
struct | Exiv2::CrwSubDir
| Structure for the CIFF directory hierarchy. More...
struct | Exiv2::CrwMapping
| Structure for a mapping table for conversion of CIFF entries to image metadata and vice versa. More...
class | Exiv2::CrwMap
| Static class providing mapping functionality from Crw entries to image metadata and vice versa. More...

## Typedefs

typedef void(* | Exiv2::CrwDecodeFct )(const CiffComponent &, const CrwMapping *, Image &, ByteOrder)
| Function pointer for functions to decode Exif tags from a Crw entry.
typedef void(* | Exiv2::CrwEncodeFct )(const Image &, const CrwMapping *, CiffHeader *)
| Function pointer for functions to encode Crw entries from Exif tags.
typedef std::stack< CrwSubDir > | Exiv2::CrwDirs
| Stack to hold a path of Crw directories.

## Functions

Image::AutoPtr | Exiv2::newCrwInstance (BasicIo::AutoPtr io, bool create)
| Create a new CrwImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted.
bool | Exiv2::isCrwType (BasicIo &iIo, bool advance)
| Check if the file iIo is a Crw image.
DataBuf | Exiv2::packIfdId (const ExifData &exifData, IfdId ifdId, ByteOrder byteOrder)
| Pack the tag values of all ifdId tags in exifData into a data buffer. This function is used to pack Canon Camera Settings1,2 and Custom Function tags.

## Variables

const int | Exiv2::ImageType::crw = 3
| Crw image type (see class CrwImage).

## Detailed Description

Class CrwImage to access Canon Crw images.
References:
The Canon RAW (CRW) File Format by Phil Harvey.

Version:
  Rev
    705

Author:
  Andreas Huggel (ahu) ahuggel@gmx.net

Date:
  28-Aug-05, ahu: created