TMultiPageBitmap.h
Go to the documentation of this file.
1 #ifndef iimg_TMultiPageBitmap_included
2 #define iimg_TMultiPageBitmap_included
3 
4 
5 // ACF includes
7 #include <iimg/CGeneralBitmap.h>
8 
9 
10 namespace iimg
11 {
12 
13 
19 template <class BitmapImpl>
21 {
22 public:
24  typedef BitmapImpl BitmapType;
25 
26  // reimplemented (istd::IChangeable)
28 
29 protected:
30  // reimplemented (CMultiPageBitmapBase)
31  virtual IBitmap* CreateBitmap() const;
32 };
33 
34 
35 // public methods
36 
37 // reimplemented (istd::IChangeable)
38 
39 template <class BitmapImpl>
41 {
43  if (clonedPtr->CopyFrom(*this, mode)){
44  return clonedPtr.PopPtr();
45  }
46 
47  return NULL;
48 }
49 
50 
51 // protected methods
52 
53 // reimplemented (CMultiPageBitmapBase)
54 
55 template <class BitmapImpl>
57 {
58  return new BitmapImpl;
59 }
60 
61 
63 
64 
65 } // namespace iimg
66 
67 
68 #endif // !iimg_TMultiPageBitmap_included
69 
70 
Generic implementation of a multi-page bitmap.
External references are simple ignored.
Definition: IChangeable.h:197
CompatibilityMode
Control how relationship betweeen objects are interpreted.
Definition: IChangeable.h:186
virtual IBitmap * CreateBitmap() const
TMultiPageBitmap< CGeneralBitmap > CGeneralMultiPageBitmap
virtual istd::IChangeable * CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const
Make a copy of this object.
Type * PopPtr()
Reset internal pointer value without deleting instance and return previos value.
Definition: TDelPtr.h:149
Definition of single plane bitmap.
Definition: IBitmap.h:17
Common interface for data model objects, which can be changed.
Definition: IChangeable.h:24
Definition of a multi-page bitmap document.
#define NULL
Definition: istd.h:64
CMultiPageBitmapBase BaseClass
Pointer wrapper providing automatic deleting pointed object during destruction.
Definition: TDelPtr.h:20

© 2007-2017 Witold Gantzke and Kirill Lepskiy