Public Member Functions | Protected Member Functions | List of all members
iimg::CGeneralBitmap Class Reference

Standard device- and platform-independent bitmap definition. More...

#include <CGeneralBitmap.h>

Inheritance diagram for iimg::CGeneralBitmap:
iimg::CBitmapBase i2d::CObject2dBase iimg::IBitmap i2d::IObject2d iimg::IRasterImage iser::IObject i2d::ICalibrationProvider i2d::IObject2d iser::ISerializable istd::IChangeable iser::IObject i2d::ICalibrationProvider istd::IChangeable istd::IPolymorphic iser::ISerializable istd::IChangeable istd::IPolymorphic istd::IChangeable istd::IPolymorphic istd::IPolymorphic istd::TCachedUpdateManagerWrap< iimg::CGeneralBitmap > iimg::CReflectedBitmapBase

Public Member Functions

 CGeneralBitmap ()
 
 CGeneralBitmap (const CGeneralBitmap &bitmap)
 
virtual bool IsFormatSupported (PixelFormat pixelFormat) const
 Get true if the pixel format is supported by the bitmap implementation. More...
 
virtual PixelFormat GetPixelFormat () const
 Get the bitmap's pixel format. More...
 
virtual bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, int pixelBitsCount=0, int componentsCount=0)
 Create bitmap with specified size and format. More...
 
virtual bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, void *dataPtr, bool releaseFlag, int linesDifference=0)
 Create bitmap with specified size and format using external image data buffer. More...
 
virtual int GetLinesDifference () const
 Get address difference between next and previous line. More...
 
virtual int GetPixelsDifference () const
 Get address difference between next and previous pixel. More...
 
virtual int GetPixelBitsCount () const
 Get total number of bits per single pixel. More...
 
virtual const void * GetLinePtr (int positionY) const
 Get pointer to buffer for single line. More...
 
virtual void * GetLinePtr (int positionY)
 Get pointer to buffer for single line. More...
 
virtual void ResetImage ()
 Reset this image. More...
 
virtual void ClearImage ()
 Cleat this image. More...
 
virtual istd::CIndex2d GetImageSize () const
 Get size of this raster image. More...
 
virtual int GetComponentsCount () const
 Get number of color components. More...
 
virtual int GetSupportedOperations () const
 Get set of flags for supported operations. More...
 
virtual bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one. More...
 
virtual istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object. More...
 
CGeneralBitmapoperator= (const CGeneralBitmap &bitmap)
 
bool operator== (const CGeneralBitmap &bitmap) const
 
bool operator!= (const CGeneralBitmap &bitmap) const
 
- Public Member Functions inherited from iimg::CBitmapBase
virtual i2d::CVector2d GetCenter () const
 Returns center of this 2D-object. More...
 
virtual void MoveCenterTo (const i2d::CVector2d &position)
 Move object to position position. More...
 
virtual i2d::CRectangle GetBoundingBox () const
 Get bounding box of this shape. More...
 
virtual bool CreateImageFromRegion (const iimg::IBitmap &sourceBitmap, const i2d::CRect &region)
 Create image as a copy of rectangular region of some other image. More...
 
virtual int GetLineBytesCount () const
 Number of bytes per single line. More...
 
virtual int GetComponentBitsCount (int componentIndex=0) const
 Get number of bits per single pixel component. More...
 
virtual bool IsEmpty () const
 Return true if this image is empty. More...
 
virtual icmm::CVarColor GetColorAt (const istd::CIndex2d &position) const
 Get color at specified pixel. More...
 
virtual bool SetColorAt (const istd::CIndex2d &position, const icmm::CVarColor &color)
 Set color at specified pixel. More...
 
virtual bool Serialize (iser::IArchive &archive)
 Load or store state of this object as a archive stream. More...
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state. More...
 
- Public Member Functions inherited from i2d::CObject2dBase
 CObject2dBase ()
 
 CObject2dBase (const CObject2dBase &object2d)
 
virtual const ICalibration2dGetCalibration () const
 Get access to transformation object, which transforms a local logical coordinate system to global one. More...
 
virtual void SetCalibration (const ICalibration2d *calibrationPtr, bool releaseFlag=false)
 Set calibration of this object. More...
 
virtual bool Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
 Transform this object using some transformation. More...
 
virtual bool InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
 Do inverse transformation of this object. More...
 
virtual bool GetTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
 Calulate transformation of the object into second one. More...
 
virtual bool GetInvTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
 Calulate inverse transformation of the object into second one. More...
 
- Public Member Functions inherited from iser::IObject
virtual QByteArray GetFactoryId () const
 
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data. More...
 
- Public Member Functions inherited from istd::IChangeable
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object. More...
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction. More...
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction. More...
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes. More...
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Protected Member Functions

virtual bool CreateBitmap (const istd::CIndex2d &size, int pixelBitsCount, int componentsCount, PixelFormat pixelFormat)
 Create bitmap with specified size, number of bits per pixel and components number per pixel. More...
 
virtual bool CreateBitmap (const istd::CIndex2d &size, void *dataPtr, bool releaseFlag, int linesDifference, int pixelBitsCount, int componentsCount, PixelFormat pixelFormat)
 Create bitmap using external image buffer. More...
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event. More...
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event. More...
 

Additional Inherited Members

- Public Types inherited from iimg::CBitmapBase
typedef i2d::CObject2dBase BaseClass
 
- Public Types inherited from i2d::IObject2d
enum  ChangeFlags { CF_OBJECT_POSITION = 0x6ba340 }
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ACF_INTERNAL = 0, CF_ALL_DATA, CF_ANY, CF_DESTROYING,
  CF_DELEGATED, CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0, SO_OBSERVE = 1 << 0, SO_COPY = 1 << 1, SO_CLONE = 1 << 2,
  SO_COMPARE = 1 << 3, SO_RESET = 1 << 4
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT, CM_WITHOUT_REFS, CM_WITH_REFS, CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 
- Public Types inherited from iimg::IBitmap
enum  PixelFormat {
  PF_UNKNOWN = 0, PF_MONO, PF_GRAY, PF_RGB,
  PF_RGBA, PF_RGB24, PF_GRAY16, PF_GRAY32,
  PF_FLOAT32, PF_FLOAT64, PF_USER = 256
}
 Bitmap pixel format description. More...
 
- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes. More...
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set. More...
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set. More...
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set. More...
 
- Static Protected Attributes inherited from i2d::CObject2dBase
static const ChangeSet s_objectMovedChange
 
static const ChangeSet s_objectModifiedChange
 

Detailed Description

Standard device- and platform-independent bitmap definition.

Definition at line 17 of file CGeneralBitmap.h.

Constructor & Destructor Documentation

iimg::CGeneralBitmap::CGeneralBitmap ( )
iimg::CGeneralBitmap::CGeneralBitmap ( const CGeneralBitmap bitmap)

Member Function Documentation

virtual void iimg::CGeneralBitmap::ClearImage ( )
virtual

Cleat this image.

After this operation all the image pixels will be set to the default value (black by default).

Implements iimg::IRasterImage.

virtual istd::IChangeable* iimg::CGeneralBitmap::CloneMe ( CompatibilityMode  mode = CM_WITHOUT_REFS) const
virtual

Make a copy of this object.

Returns
new instance or NULL, if this operation is not supported.

Reimplemented from istd::IChangeable.

virtual bool iimg::CGeneralBitmap::CopyFrom ( const istd::IChangeable object,
CompatibilityMode  mode = CM_WITHOUT_REFS 
)
virtual

Copy this object from another one.

Default implementation in istd::IChangeable does nothing.

Reimplemented from i2d::CObject2dBase.

virtual bool iimg::CGeneralBitmap::CreateBitmap ( PixelFormat  pixelFormat,
const istd::CIndex2d size,
int  pixelBitsCount = 0,
int  componentsCount = 0 
)
virtual

Create bitmap with specified size and format.

Parameters
pixelFormatbitmap format.
See Also
PixelFormat
Parameters
sizebitmap size.
pixelBitsCountbits per pixel. Default value 0 means that the number of bits per pixel is defined by format specification.
componentsCountcomponents per pixel. Default value 0 means that the number of bits per pixel is defined by format specification.

Implements iimg::IBitmap.

virtual bool iimg::CGeneralBitmap::CreateBitmap ( PixelFormat  pixelFormat,
const istd::CIndex2d size,
void *  dataPtr,
bool  releaseFlag,
int  linesDifference = 0 
)
virtual

Create bitmap with specified size and format using external image data buffer.

Parameters
pixelFormatbitmap format.
See Also
PixelFormat
Parameters
sizebitmap size.
dataPtrpointer to external image buffer.
releaseFlagif its true, external buffer will be managed (removed) by this object.
linesDifferenceaddress difference between next and previos line. If it equals 0, the value will be taken from size and number of bits per pixel.

Implements iimg::IBitmap.

virtual bool iimg::CGeneralBitmap::CreateBitmap ( const istd::CIndex2d size,
int  pixelBitsCount,
int  componentsCount,
PixelFormat  pixelFormat 
)
protectedvirtual

Create bitmap with specified size, number of bits per pixel and components number per pixel.

Parameters
sizebitmap size.
pixelBitsCountnumber of bits per single pixel.
componentsCountnumber of components per single pixel.
Returns
true if bitmap was created.
virtual bool iimg::CGeneralBitmap::CreateBitmap ( const istd::CIndex2d size,
void *  dataPtr,
bool  releaseFlag,
int  linesDifference,
int  pixelBitsCount,
int  componentsCount,
PixelFormat  pixelFormat 
)
protectedvirtual

Create bitmap using external image buffer.

Parameters
sizebitmap size.
dataPtrpointer to external image buffer.
releaseFlagif its true, external buffer will be managed (removed) by this object.
linesDifferenceaddress difference between next and previos line. If it equals 0, the value will be taken from size and number of bits per pixel.
pixelBitsCountnumber of bits per single pixel.
componentsCountnumber of components per single pixel.
Returns
true if bitmap was created.
int iimg::CGeneralBitmap::GetComponentsCount ( ) const
inlinevirtual

Get number of color components.

Implements iimg::IRasterImage.

Definition at line 142 of file CGeneralBitmap.h.

istd::CIndex2d iimg::CGeneralBitmap::GetImageSize ( ) const
inlinevirtual

Get size of this raster image.

Implements iimg::IRasterImage.

Definition at line 136 of file CGeneralBitmap.h.

const void * iimg::CGeneralBitmap::GetLinePtr ( int  positionY) const
inlinevirtual

Get pointer to buffer for single line.

Parameters
positionYposition Y. It must be smaller than bitmap size Y component.

Implements iimg::IBitmap.

Definition at line 116 of file CGeneralBitmap.h.

References istd::TPointerBase< Type >::GetPtr(), and istd::CIndex2d::GetY().

void * iimg::CGeneralBitmap::GetLinePtr ( int  positionY)
inlinevirtual

Get pointer to buffer for single line.

Parameters
positionYposition Y. It must be smaller than bitmap size Y component.

Implements iimg::IBitmap.

Definition at line 125 of file CGeneralBitmap.h.

References istd::TPointerBase< Type >::GetPtr(), and istd::CIndex2d::GetY().

int iimg::CGeneralBitmap::GetLinesDifference ( ) const
inlinevirtual

Get address difference between next and previous line.

Implements iimg::IBitmap.

Definition at line 98 of file CGeneralBitmap.h.

int iimg::CGeneralBitmap::GetPixelBitsCount ( ) const
inlinevirtual

Get total number of bits per single pixel.

Implements iimg::IBitmap.

Definition at line 110 of file CGeneralBitmap.h.

virtual PixelFormat iimg::CGeneralBitmap::GetPixelFormat ( ) const
virtual

Get the bitmap's pixel format.

See Also
PixelFormat

Implements iimg::IBitmap.

int iimg::CGeneralBitmap::GetPixelsDifference ( ) const
inlinevirtual

Get address difference between next and previous pixel.

Implements iimg::IBitmap.

Definition at line 104 of file CGeneralBitmap.h.

virtual int iimg::CGeneralBitmap::GetSupportedOperations ( ) const
virtual

Get set of flags for supported operations.

See Also
SupportedOperations

Reimplemented from istd::IChangeable.

virtual bool iimg::CGeneralBitmap::IsFormatSupported ( PixelFormat  pixelFormat) const
virtual

Get true if the pixel format is supported by the bitmap implementation.

Parameters
pixelFormatbitmap format.
See Also
PixelFormat

Implements iimg::IBitmap.

bool iimg::CGeneralBitmap::operator!= ( const CGeneralBitmap bitmap) const
CGeneralBitmap& iimg::CGeneralBitmap::operator= ( const CGeneralBitmap bitmap)
bool iimg::CGeneralBitmap::operator== ( const CGeneralBitmap bitmap) const
virtual void iimg::CGeneralBitmap::ResetImage ( )
virtual

Reset this image.

After this operation image is set to initial state.

Implements iimg::IRasterImage.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy