/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- y
- columns
- rows
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
//
// Representation of a pixel view.
//
#if !defined(Magick_Pixels_header)
#define Magick_Pixels_header
#include "Magick++/Include.h"
#include "Magick++/Color.h"
#include "Magick++/Image.h"
namespace Magick
{
class MagickPPExport Pixels
{
public:
// Construct pixel view using specified image.
Pixels( Magick::Image &image_ );
// Destroy pixel view
~Pixels( void );
// Transfer pixels from the image to the pixel view as defined by
// the specified region. Modified pixels may be subsequently
// transferred back to the image via sync.
PixelPacket* get ( const ::ssize_t x_, const ::ssize_t y_,
const size_t columns_,const size_t rows_ );
// Transfer read-only pixels from the image to the pixel view as
// defined by the specified region.
const PixelPacket* getConst ( const ::ssize_t x_, const ::ssize_t y_,
const size_t columns_,
const size_t rows_ );
// Transfers the image view pixels to the image.
void sync ( void );
// Allocate a pixel view region to store image pixels as defined
// by the region rectangle. This area is subsequently transferred
// from the pixel view to the image via sync.
PixelPacket* set ( const ::ssize_t x_, const ::ssize_t y_,
const size_t columns_, const size_t rows_ );
// Return pixel colormap index array
IndexPacket* indexes ( void );
// Left ordinate of view
::ssize_t x ( void ) const;
// Top ordinate of view
::ssize_t y ( void ) const;
// Width of view
size_t columns ( void ) const;
// Height of view
size_t rows ( void ) const;
#if 0
// Transfer one or more pixel components from a buffer or file
// into the image pixel view of an image. Used to support image
// decoders.
void decode ( const QuantumType quantum_,
const unsigned char *source_ )
{
MagickCore::ReadPixelCache( _image.image(), quantum_, source_ );
}
// Transfer one or more pixel components from the image pixel
// view to a buffer or file. Used to support image encoders.
void encode ( const QuantumType quantum_,
const unsigned char *destination_ )
{
MagickCore::WritePixelCache( _image.image(), quantum_, destination_ );
}
#endif
private:
// Copying and assigning Pixels is not supported.
Pixels( const Pixels& pixels_ );
const Pixels& operator=( const Pixels& pixels_ );
Magick::Image _image; // Image reference
MagickCore::CacheView* _view; // Image view handle
::ssize_t _x; // Left ordinate of view
::ssize_t _y; // Top ordinate of view
size_t _columns; // Width of view
size_t _rows; // Height of view
MagickCore:: ExceptionInfo _exception; // Any thrown exception
}; // class Pixels
} // Magick namespace
//
// Inline methods
//
// Left ordinate of view
inline ::ssize_t Magick::Pixels::x ( void ) const
{
return _x;
}
// Top ordinate of view
inline ::ssize_t Magick::Pixels::y ( void ) const
{
return _y;
}
// Width of view
inline size_t Magick::Pixels::columns ( void ) const
{
return _columns;
}
// Height of view
inline size_t Magick::Pixels::rows ( void ) const
{
return _rows;
}
#endif // Magick_Pixels_header