ICF 3.0.5.47
Technical documentation of ICF Libraries
iimg::CMultiPageBitmapBase Class Referenceabstract

Definition of a multi-page bitmap document. More...

#include <CMultiPageBitmapBase.h>

Inheritance diagram for iimg::CMultiPageBitmapBase:
Collaboration diagram for iimg::CMultiPageBitmapBase:

Public Types

typedef idoc::CMultiPageDocumentBase BaseClass
 
- Public Types inherited from idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >
typedef idoc::IMultiPageDocument BaseClass
 
typedef CStandardDocumentMetaInfo BaseClass2
 
- 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 idoc::IDocumentMetaInfo
enum  ChangeFlags { CF_METAINFO = 0xd83067d }
 Data model change notification flags. More...
 
enum  MetaInfoType {
  MIT_TITLE , MIT_AUTHOR , MIT_CREATOR , MIT_DESCRIPTION ,
  MIT_CREATION_TIME , MIT_MODIFICATION_TIME , MIT_CREATOR_VERSION , MIT_DOCUMENT_VERSION ,
  MIT_CONTENT_CHECKSUM , MIT_USER = 1024
}
 Type of the meta information. More...
 
typedef QSet< int > MetaInfoTypes
 
- Public Types inherited from iprm::IOptionsList
enum  ChangeFlags { CF_OPTIONS_CHANGED = 0x8263d86 , CF_OPTION_RENAMED }
 Flags for changes related to this interface. More...
 
enum  OptionsFlags { SCF_NONE = 0 , SCF_SUPPORT_UNIQUE_ID = 256 , SFC_DISABLE_ALLOWED = 32 }
 Flags for control constraints behavior. More...
 

Public Member Functions

istd::IChangeableInsertPage (const idoc::IDocumentMetaInfo *pageMetaInfoPtr=nullptr, const iprm::IParamsSet *pageParameterPtr=nullptr, int position=-1) override
 Insert a new document page at the given position.
 
const iprm::IOptionsListGetBitmapListInfo () const override
 Get optional information about bitmaps in form of section constraints.
 
int GetBitmapsCount () const override
 Get number of produced bitmaps.
 
const iimg::IBitmapGetBitmap (int bitmapIndex) const override
 Get access to produced bitmap object.
 
iimg::IBitmapInsertBitmap (iimg::IBitmap::PixelFormat pixelFormat, const istd::CIndex2d &size, const idoc::IDocumentMetaInfo *metaInfoPtr=nullptr) override
 Inserts a new bitmap.
 
iimg::IBitmapInsertBitmap (iimg::IBitmap::PixelFormat pixelFormat, const istd::CIndex2d &size, istd::COptMemory &&data, int linesDifference=0, const idoc::IDocumentMetaInfo *metaInfoPtr=nullptr) override
 Inserts a new bitmap.
 
void RemoveBitmap (int index) override
 Removes the bitmap at the given index.
 
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.
 
- Public Member Functions inherited from idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >
int GetPagesCount () const override
 
const istd::IChangeableGetDocumentPage (int pageIndex) const override
 
const idoc::IDocumentMetaInfoGetPageMetaInfo (int pageIndex) const override
 
void ResetPages () override
 
bool RemovePage (int pageIndex) override
 
const IDocumentMetaInfoGetDocumentMetaInfo () const override
 
int GetOptionsFlags () const override
 Get constraints flags.
 
int GetOptionsCount () const override
 Get number of managed options.
 
QString GetOptionName (int index) const override
 Get name of specified option.
 
QString GetOptionDescription (int index) const override
 Get human readable description for a option with the index index.
 
QByteArray GetOptionId (int index) const override
 Get option ID.
 
bool IsOptionEnabled (int index) const override
 Return true if the option is enabled and can be selected.
 
bool Serialize (iser::IArchive &archive) override
 Load or store state of this object as a archive stream.
 
bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 Copy this object from another one.
 
bool ResetData (CompatibilityMode mode) override
 Reset data to its default state.
 
- Public Member Functions inherited from idoc::IMultiPageDocument
- 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 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 idoc::CStandardDocumentMetaInfo
MetaInfoTypes GetMetaInfoTypes (bool allowReadOnly=true) const override
 Get list of contained meta info types.
 
QVariant GetMetaInfo (int metaInfoType) const override
 Get document's meta info.
 
bool SetMetaInfo (int metaInfoType, const QVariant &metaInfo) override
 Set new document's meta information for a given meta type.
 
QString GetMetaInfoName (int metaInfoType) const override
 Get a human readable name for a given meta information type.
 
QString GetMetaInfoDescription (int metaInfoType) const override
 Get a human readable description for a given meta information type.
 
bool IsMetaInfoWritable (int metaInfoType) const override
 Check if meta information can be changed.
 
bool IsEqual (const IChangeable &object) const override
 
bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 
std::unique_ptr< istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override
 Make a copy of this object.
 
- Public Member Functions inherited from idoc::IDocumentMetaInfo
- 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 iprm::IOptionsList
- Public Member Functions inherited from iimg::IMultiPageBitmapController
- Public Member Functions inherited from iimg::IMultiBitmapProvider

Protected Member Functions

virtual std::unique_ptr< IBitmapCreateBitmap () const =0
 
- Protected Member Functions inherited from idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >
virtual bool SerializePage (iser::IArchive &archive, Page &pageItem)
 Serialize a single page item into or from the archive.
 
- 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.
 

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.
 
- Static Public Member Functions inherited from iprm::IOptionsList
static int FindIndexById (const QByteArray &id, const iprm::IOptionsList &list)
 Helper function to find the option index by ID.
 
- Protected Types inherited from idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >
typedef std::vector< Page > Pages
 
- Protected Attributes inherited from idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >
Pages m_documentPages
 

Detailed Description

Definition of a multi-page bitmap document.

Definition at line 24 of file CMultiPageBitmapBase.h.

Member Typedef Documentation

◆ BaseClass

Member Function Documentation

◆ CopyFrom()

bool iimg::CMultiPageBitmapBase::CopyFrom ( const istd::IChangeable & object,
CompatibilityMode mode = CM_WITHOUT_REFS )
overridevirtual

Copy this object from another one.

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

Reimplemented from istd::IChangeable.

◆ CreateBitmap()

virtual std::unique_ptr< IBitmap > iimg::CMultiPageBitmapBase::CreateBitmap ( ) const
protectedpure virtual

◆ GetBitmap()

const iimg::IBitmap * iimg::CMultiPageBitmapBase::GetBitmap ( int bitmapIndex) const
overridevirtual

Get access to produced bitmap object.

Returns
pointer to bitmap instance if this bitmap is accessible, or nullptr.

Implements iimg::IMultiBitmapProvider.

◆ GetBitmapListInfo()

const iprm::IOptionsList * iimg::CMultiPageBitmapBase::GetBitmapListInfo ( ) const
overridevirtual

Get optional information about bitmaps in form of section constraints.

It allows to get name and description of each bitmap channel.

Implements iimg::IMultiBitmapProvider.

◆ GetBitmapsCount()

int iimg::CMultiPageBitmapBase::GetBitmapsCount ( ) const
overridevirtual

Get number of produced bitmaps.

Implements iimg::IMultiBitmapProvider.

◆ InsertBitmap() [1/2]

iimg::IBitmap * iimg::CMultiPageBitmapBase::InsertBitmap ( iimg::IBitmap::PixelFormat pixelFormat,
const istd::CIndex2d & size,
const idoc::IDocumentMetaInfo * metaInfoPtr = nullptr )
overridevirtual

Inserts a new bitmap.

Parameters
pixelFormatThe pixel format.
sizeSize of the page bitmap.
Returns
null if it fails, else a pointer to the inserted bitmap.

Implements iimg::IMultiPageBitmapController.

◆ InsertBitmap() [2/2]

iimg::IBitmap * iimg::CMultiPageBitmapBase::InsertBitmap ( iimg::IBitmap::PixelFormat pixelFormat,
const istd::CIndex2d & size,
istd::COptMemory && data,
int linesDifference = 0,
const idoc::IDocumentMetaInfo * metaInfoPtr = nullptr )
overridevirtual

Inserts a new bitmap.

Parameters
pixelFormatpixel format.
sizesize of the page bitmap.
[in,out]dataexternal image buffer.
linesDifferencedistance between adjacent lines in bytes.
Returns
null if it fails, else a pointer to the inserted bitmap.

Implements iimg::IMultiPageBitmapController.

◆ InsertPage()

istd::IChangeable * iimg::CMultiPageBitmapBase::InsertPage ( const idoc::IDocumentMetaInfo * pageMetaInfoPtr = nullptr,
const iprm::IParamsSet * pageParameterPtr = nullptr,
int position = -1 )
overridevirtual

Insert a new document page at the given position.

Parameters
pageMetaInfoPtrMeta-information of the document.
pageParameterPtrOptionally given parameters for the page creation.
positionInsertion position in the page container. If this value is negative, the new page will be inserted after the last page of the document.
Returns
The method returns the object, which represents the contents of the page.

Implements idoc::IMultiPageDocument.

◆ RemoveBitmap()

void iimg::CMultiPageBitmapBase::RemoveBitmap ( int index)
overridevirtual

Removes the bitmap at the given index.

Parameters
indexIndex of the bitmap page.

Implements iimg::IMultiPageBitmapController.

◆ ResetData()

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


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

© Witold Gantzke and Kirill Lepskiy