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

Bitmap implementation based on Qt QImage. More...

#include <CBitmap.h>

Inheritance diagram for iimg::CBitmap:
iimg::CBitmapBase iimg::IQImageProvider i2d::CObject2dBase iimg::IBitmap istd::IPolymorphic 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 iimg::CBitmapSurface iser::TCopySerializedWrap< iimg::CBitmap > imod::TModelWrap< iimg::CBitmap >

Public Member Functions

 CBitmap ()
 
 CBitmap (const CBitmap &bitmap)
 
 CBitmap (const QImage &image)
 
QImage & GetQImageRef ()
 
virtual const QImage & GetQImage () const
 Gets a QImage object. More...
 
virtual bool CopyImageFrom (const QImage &image)
 Copies the image data from a QImage object. More...
 
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 icmm::CVarColor GetColorAt (const istd::CIndex2d &position) const
 Get color at specified pixel. More...
 
virtual QByteArray GetFactoryId () const
 
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...
 
- 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 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::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 ()
 

Static Public Member Functions

static QByteArray GetTypeName ()
 
- 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...
 

Protected Member Functions

QImage::Format CalcQtFormat (PixelFormat pixelFormat) const
 
PixelFormat CalcFromQtFormat (QImage::Format imageFormat) const
 
bool SetQImage (const QImage &image)
 
- 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 Protected Attributes inherited from i2d::CObject2dBase
static const ChangeSet s_objectMovedChange
 
static const ChangeSet s_objectModifiedChange
 

Detailed Description

Bitmap implementation based on Qt QImage.

Definition at line 22 of file CBitmap.h.

Constructor & Destructor Documentation

iimg::CBitmap::CBitmap ( )
iimg::CBitmap::CBitmap ( const CBitmap bitmap)
iimg::CBitmap::CBitmap ( const QImage &  image)

Member Function Documentation

PixelFormat iimg::CBitmap::CalcFromQtFormat ( QImage::Format  imageFormat) const
protected
QImage::Format iimg::CBitmap::CalcQtFormat ( PixelFormat  pixelFormat) const
protected
virtual void iimg::CBitmap::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::CBitmap::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.

Reimplemented in imod::TModelWrap< iimg::CBitmap >.

virtual bool iimg::CBitmap::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.

Reimplemented in iser::TCopySerializedWrap< iimg::CBitmap >.

virtual bool iimg::CBitmap::CopyImageFrom ( const QImage &  image)
virtual

Copies the image data from a QImage object.

Parameters
imageQImage object.
Returns
true if it succeeds, false if it fails.

Implements iimg::IQImageProvider.

virtual bool iimg::CBitmap::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::CBitmap::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 icmm::CVarColor iimg::CBitmap::GetColorAt ( const istd::CIndex2d position) const
virtual

Get color at specified pixel.

Parameters
positionpixel position, must be inside of returned size.

Reimplemented from iimg::CBitmapBase.

virtual int iimg::CBitmap::GetComponentsCount ( ) const
virtual

Get number of color components.

Implements iimg::IRasterImage.

virtual QByteArray iimg::CBitmap::GetFactoryId ( ) const
virtual

Reimplemented from iser::IObject.

virtual istd::CIndex2d iimg::CBitmap::GetImageSize ( ) const
virtual

Get size of this raster image.

Implements iimg::IRasterImage.

virtual const void* iimg::CBitmap::GetLinePtr ( int  positionY) const
virtual

Get pointer to buffer for single line.

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

Implements iimg::IBitmap.

virtual void* iimg::CBitmap::GetLinePtr ( int  positionY)
virtual

Get pointer to buffer for single line.

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

Implements iimg::IBitmap.

virtual int iimg::CBitmap::GetLinesDifference ( ) const
virtual

Get address difference between next and previous line.

Implements iimg::IBitmap.

virtual int iimg::CBitmap::GetPixelBitsCount ( ) const
virtual

Get total number of bits per single pixel.

Implements iimg::IBitmap.

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

Get the bitmap's pixel format.

See Also
PixelFormat

Implements iimg::IBitmap.

virtual int iimg::CBitmap::GetPixelsDifference ( ) const
virtual

Get address difference between next and previous pixel.

Implements iimg::IBitmap.

virtual const QImage& iimg::CBitmap::GetQImage ( ) const
virtual

Gets a QImage object.

Implements iimg::IQImageProvider.

QImage & iimg::CBitmap::GetQImageRef ( )
inline

Definition at line 83 of file CBitmap.h.

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

Get set of flags for supported operations.

See Also
SupportedOperations

Reimplemented from istd::IChangeable.

Reimplemented in iser::TCopySerializedWrap< iimg::CBitmap >, and imod::TModelWrap< iimg::CBitmap >.

static QByteArray iimg::CBitmap::GetTypeName ( )
static
virtual bool iimg::CBitmap::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.

virtual void iimg::CBitmap::ResetImage ( )
virtual

Reset this image.

After this operation image is set to initial state.

Implements iimg::IRasterImage.

bool iimg::CBitmap::SetQImage ( const QImage &  image)
protected

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

© 2007-2017 Witold Gantzke and Kirill Lepskiy