ICF 3.0.5.47
Technical documentation of ICF Libraries
iimg::CBitmapBase Class Reference

Base implementation of some iimg::IBitmap methods. More...

#include <CBitmapBase.h>

Inheritance diagram for iimg::CBitmapBase:
Collaboration diagram for iimg::CBitmapBase:

Public Types

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_ICF_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 , SO_CHANGE_LOCK = 1 << 5
}
 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_XYZ32 , PF_XY32 ,
  PF_USER = 256
}
 Bitmap pixel format description. More...
 

Public Member Functions

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

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 
- Static Protected Attributes inherited from i2d::CObject2dBase
static const ChangeSet s_objectMovedChange
 
static const ChangeSet s_objectModifiedChange
 

Detailed Description

Base implementation of some iimg::IBitmap methods.

Definition at line 22 of file CBitmapBase.h.

Member Typedef Documentation

◆ BaseClass

Member Function Documentation

◆ CreateImageFromRegion()

virtual bool iimg::CBitmapBase::CreateImageFromRegion ( const iimg::IBitmap & sourceBitmap,
const i2d::CRect & region )
virtual

◆ GetBoundingBox()

i2d::CRectangle iimg::CBitmapBase::GetBoundingBox ( ) const
overridevirtual

Get bounding box of this shape.

Please note, this bounding box is in logical units, the calibration will not be considered.

Implements i2d::IObject2d.

◆ GetCenter()

i2d::CVector2d iimg::CBitmapBase::GetCenter ( ) const
overridevirtual

Returns center of this 2D-object.

Implements i2d::IObject2d.

◆ GetColorAt()

icmm::CVarColor iimg::CBitmapBase::GetColorAt ( const istd::CIndex2d & position) const
overridevirtual

Get color at specified pixel.

Parameters
positionpixel position, must be inside of returned size.

Implements iimg::IRasterImage.

◆ GetComponentBitsCount()

int iimg::CBitmapBase::GetComponentBitsCount ( int componentIndex = 0) const
overridevirtual

Get number of bits per single pixel component.

Implements iimg::IBitmap.

◆ GetLineBytesCount()

int iimg::CBitmapBase::GetLineBytesCount ( ) const
overridevirtual

Number of bytes per single line.

Implements iimg::IBitmap.

◆ IsEmpty()

bool iimg::CBitmapBase::IsEmpty ( ) const
overridevirtual

Return true if this image is empty.

Implements iimg::IRasterImage.

◆ MoveCenterTo()

void iimg::CBitmapBase::MoveCenterTo ( const i2d::CVector2d & position)
overridevirtual

Move object to position position.

Implements i2d::IObject2d.

◆ ResetData()

bool iimg::CBitmapBase::ResetData ( CompatibilityMode mode = CM_WITHOUT_REFS)
overridevirtual

Reset data to its default state.

Default implementation in istd::IChangeable does nothing. You may check, if this functionality is supported over GetSupportedOperations().

Returns
true if the operation was successful, and false otherwise.

Reimplemented from istd::IChangeable.

◆ Serialize()

bool iimg::CBitmapBase::Serialize ( iser::IArchive & archive)
overridevirtual

Load or store state of this object as a archive stream.

Type of operation is depending on archive type.

See also
iser::IArchive

Implements iser::ISerializable.

◆ SetColorAt()

bool iimg::CBitmapBase::SetColorAt ( const istd::CIndex2d & position,
const icmm::CVarColor & color )
overridevirtual

Set color at specified pixel.

Parameters
positionpixel position, must be inside of returned size.
colorcolor of pixel will be set.
Returns
true, if pixel color was changed.

Implements iimg::IRasterImage.


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

© Witold Gantzke and Kirill Lepskiy