Public Types | Public Member Functions | List of all members
iimg::IBitmap Class Referenceabstract

Definition of single plane bitmap. More...

#include <IBitmap.h>

Inheritance diagram for iimg::IBitmap:
iimg::IRasterImage i2d::IObject2d iser::IObject i2d::ICalibrationProvider iser::ISerializable istd::IChangeable istd::IChangeable istd::IPolymorphic istd::IPolymorphic iimg::CBitmapBase iimg::CBitmap iimg::CGeneralBitmap iimg::CBitmapSurface iser::TCopySerializedWrap< iimg::CBitmap > istd::TCachedUpdateManagerWrap< iimg::CGeneralBitmap > imod::TModelWrap< iimg::CBitmap > iimg::CReflectedBitmapBase

Public Types

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...
 
- 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 Member Functions

virtual PixelFormat GetPixelFormat () const =0
 Get the bitmap's pixel format. More...
 
virtual bool IsFormatSupported (PixelFormat pixelFormat) const =0
 Get true if the pixel format is supported by the bitmap implementation. More...
 
virtual bool CreateBitmap (PixelFormat pixelFormat, const istd::CIndex2d &size, int pixelBitsCount=0, int componentsCount=0)=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)=0
 Create bitmap with specified size and format using external image data buffer. More...
 
virtual bool CreateImageFromRegion (const iimg::IBitmap &sourceImage, const i2d::CRect &region)=0
 Create image as a copy of rectangular region of some other image. More...
 
virtual int GetLineBytesCount () const =0
 Number of bytes per single line. More...
 
virtual int GetLinesDifference () const =0
 Get address difference between next and previous line. More...
 
virtual int GetPixelsDifference () const =0
 Get address difference between next and previous pixel. More...
 
virtual int GetComponentBitsCount (int componentIndex=0) const =0
 Get number of bits per single pixel component. More...
 
virtual int GetPixelBitsCount () const =0
 Get total number of bits per single pixel. More...
 
virtual const void * GetLinePtr (int positionY) const =0
 Get pointer to buffer for single line. More...
 
virtual void * GetLinePtr (int positionY)=0
 Get pointer to buffer for single line. More...
 
- Public Member Functions inherited from iimg::IRasterImage
virtual bool IsEmpty () const =0
 Return true if this image is empty. More...
 
virtual void ResetImage ()=0
 Reset this image. More...
 
virtual void ClearImage ()=0
 Cleat this image. More...
 
virtual istd::CIndex2d GetImageSize () const =0
 Get size of this raster image. More...
 
virtual int GetComponentsCount () const =0
 Get number of color components. More...
 
virtual icmm::CVarColor GetColorAt (const istd::CIndex2d &position) const =0
 Get color at specified pixel. More...
 
virtual bool SetColorAt (const istd::CIndex2d &position, const icmm::CVarColor &color)=0
 Set color at specified pixel. More...
 
- Public Member Functions inherited from i2d::IObject2d
virtual CVector2d GetCenter () const =0
 Returns center of this 2D-object. More...
 
virtual void MoveCenterTo (const CVector2d &position)=0
 Move object to position position. More...
 
virtual CRectangle GetBoundingBox () const =0
 Get bounding box of this shape. More...
 
virtual void SetCalibration (const ICalibration2d *calibrationPtr, bool releaseFlag=false)=0
 Set calibration of this object. More...
 
virtual bool Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)=0
 Transform this object using some transformation. More...
 
virtual bool InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)=0
 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 =0
 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 =0
 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 bool Serialize (IArchive &archive)=0
 Load or store state of this object as a archive stream. More...
 
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 int GetSupportedOperations () const
 Get set of flags for supported operations. More...
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one. More...
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object. More...
 
virtual IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object. More...
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state. 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 ()
 
- Public Member Functions inherited from i2d::ICalibrationProvider
virtual const ICalibration2dGetCalibration () const =0
 Get access to transformation object, which transforms a local logical coordinate system to global one. More...
 

Additional Inherited Members

- 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 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...
 

Detailed Description

Definition of single plane bitmap.

Definition at line 17 of file IBitmap.h.

Member Enumeration Documentation

Bitmap pixel format description.

Enumerator
PF_UNKNOWN 

Unknown image format.

PF_MONO 

Monochrome bitmap.

PF_GRAY 

8-bit grayscale bitmap.

PF_RGB 

32-bit RGB-bitmap, alpha channel can be ignored.

PF_RGBA 

32-bit RGB bitmap with alpha channel.

PF_RGB24 

24-bit RGB-bitmap packed bitmap.

PF_GRAY16 

16-bit grayscale bitmap.

PF_GRAY32 

32-bit grayscale bitmap.

PF_FLOAT32 

32-bit floating point coded bitmap (type float).

PF_FLOAT64 

64-bit floating point coded bitmap (type double).

PF_USER 

First user defined pixel format.

Definition at line 23 of file IBitmap.h.

Member Function Documentation

virtual bool iimg::IBitmap::CreateBitmap ( PixelFormat  pixelFormat,
const istd::CIndex2d size,
int  pixelBitsCount = 0,
int  componentsCount = 0 
)
pure 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.

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

virtual bool iimg::IBitmap::CreateBitmap ( PixelFormat  pixelFormat,
const istd::CIndex2d size,
void *  dataPtr,
bool  releaseFlag,
int  linesDifference = 0 
)
pure 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.

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

virtual bool iimg::IBitmap::CreateImageFromRegion ( const iimg::IBitmap sourceImage,
const i2d::CRect region 
)
pure virtual

Create image as a copy of rectangular region of some other image.

Implemented in iimg::CBitmapBase.

virtual int iimg::IBitmap::GetComponentBitsCount ( int  componentIndex = 0) const
pure virtual

Get number of bits per single pixel component.

Implemented in iimg::CBitmapBase.

virtual int iimg::IBitmap::GetLineBytesCount ( ) const
pure virtual

Number of bytes per single line.

Implemented in iimg::CBitmapBase.

virtual const void* iimg::IBitmap::GetLinePtr ( int  positionY) const
pure virtual

Get pointer to buffer for single line.

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

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

Referenced by iimg::CScanlineMask::CalculateMaskFromBitmap().

virtual void* iimg::IBitmap::GetLinePtr ( int  positionY)
pure virtual

Get pointer to buffer for single line.

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

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

virtual int iimg::IBitmap::GetLinesDifference ( ) const
pure virtual

Get address difference between next and previous line.

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

virtual int iimg::IBitmap::GetPixelBitsCount ( ) const
pure virtual

Get total number of bits per single pixel.

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

virtual PixelFormat iimg::IBitmap::GetPixelFormat ( ) const
pure virtual

Get the bitmap's pixel format.

See Also
PixelFormat

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

virtual int iimg::IBitmap::GetPixelsDifference ( ) const
pure virtual

Get address difference between next and previous pixel.

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.

virtual bool iimg::IBitmap::IsFormatSupported ( PixelFormat  pixelFormat) const
pure virtual

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

Parameters
pixelFormatbitmap format.
See Also
PixelFormat

Implemented in iimg::CBitmap, and iimg::CGeneralBitmap.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy