ACF $AcfVersion:0$
CMultiPageBitmapBase.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <imod/TModelWrap.h>
10
11
12namespace iimg
13{
14
15
24 virtual public IMultiPageBitmapController
25{
26public:
28
29 // reimplemented (idoc::IMultiPageDocument)
31 const idoc::IDocumentMetaInfo* pageMetaInfoPtr = NULL,
32 const iprm::IParamsSet* pageParameterPtr = NULL,
33 int position = -1) override;
34
35 // reimplemented (iimg::IMultiBitmapProvider)
36 virtual const iprm::IOptionsList* GetBitmapListInfo() const override;
37 virtual int GetBitmapsCount() const override;
38 virtual const iimg::IBitmap* GetBitmap(int bitmapIndex) const override;
39
40 // reimplemented (iimg::IMultiPageBitmapController)
43 const istd::CIndex2d& size,
44 const idoc::IDocumentMetaInfo* metaInfoPtr = NULL) override;
47 const istd::CIndex2d& size,
48 void* dataPtr,
49 bool releaseFlag,
50 int linesDifference = 0,
51 const idoc::IDocumentMetaInfo* metaInfoPtr = NULL) override;
52 virtual void RemoveBitmap(int index) override;
53
54 // reimplemented (istd::IChangeable)
55 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
56 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
57
58protected:
59 // abstract methods
60 virtual IBitmapUniquePtr CreateBitmap() const = 0;
61};
62
63
64} // namespace iimg
65
66
67
68
Interface for document meta-information.
Definition of a multi-page bitmap document.
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS) override
Reset data to its default state.
idoc::CMultiPageDocumentBase BaseClass
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy this object from another one.
virtual const iprm::IOptionsList * GetBitmapListInfo() const override
Get optional information about bitmaps in form of section constraints.
virtual IBitmapUniquePtr CreateBitmap() const =0
virtual iimg::IBitmap * InsertBitmap(iimg::IBitmap::PixelFormat pixelFormat, const istd::CIndex2d &size, const idoc::IDocumentMetaInfo *metaInfoPtr=NULL) override
Inserts a new bitmap.
virtual iimg::IBitmap * InsertBitmap(iimg::IBitmap::PixelFormat pixelFormat, const istd::CIndex2d &size, void *dataPtr, bool releaseFlag, int linesDifference=0, const idoc::IDocumentMetaInfo *metaInfoPtr=NULL) override
Inserts a new bitmap.
virtual void RemoveBitmap(int index) override
Removes the bitmap at the given index.
virtual int GetBitmapsCount() const override
Get number of produced bitmaps.
virtual const iimg::IBitmap * GetBitmap(int bitmapIndex) const override
Get access to produced bitmap object.
virtual istd::IChangeable * InsertPage(const idoc::IDocumentMetaInfo *pageMetaInfoPtr=NULL, const iprm::IParamsSet *pageParameterPtr=NULL, int position=-1) override
Insert a new document page at the given position.
Definition of single plane bitmap.
Definition IBitmap.h:21
PixelFormat
Bitmap pixel format description.
Definition IBitmap.h:27
Interface of a controller for handling multi-page bitmaps.
Constraints of selection from set of possibilities.
Set of general parameters.
Definition IParamsSet.h:81
Index implementation for addressing elements in 2D-space.
Definition CIndex2d.h:21
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
Unique ownership smart pointer for interface types.
#define NULL
Definition istd.h:74
Contains the system indenendent definitions of image and related themes.
Definition CBitmap.h:17