summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@cib.de>2018-04-16 22:34:50 +0200
committerArmin Le Grand <Armin.Le.Grand@cib.de>2018-09-17 09:10:18 +0200
commit1ebb77fd17b417d92ab48fcef56a0230c5750de2 (patch)
tree6f36c8b63ada04af4dfe4acaefb32d57995565fd /include
parent47543560311038191fd7ae901031da6c40b697b1 (diff)
SOSAW080: Derive SdrObjGroup from SdrObjList
Also simplify parent/child relationships, get rid of double data (SdrPage/Parent infos in SdrObjects, also in SdrObjList). This is all not needed - when a SdrObject is inserted to a SdrPage, get SdrPage by traveling over parents (no double info, member as soon as inserted, ...). More cleanups/reworks included, will need some more cleanups, too. Stabilizing: SetRectsDirty/DefaultStyleSheet Had to correct the SetRectsDirty stuff for 3D due to going down the hierarchy while the 2D implementation goes the other direction -> endless loops. Added special handling for 3D stuff for now (will be chnaged again when SnapRect is no longer needed at SdrObject level). Also had to adapt how the DefaultStyleSheet is set at incarnated SdrObjects - better: their properties. Since we now always have a SdrModel, it is possible to correctly initialize with the correct default StyleSheet from that SdrModel. This needs to be done after ForceDefaultAttributes and in a way that again deletes Items that are set in the StyleSheet. This leads to an error in CppunitTest_sd_import_tests where I checked tdf100491 - it is okay and thus I change the control instance of the imported, XML-dumped file. The less hard attributes, the better for Styles in general. Cleanup of comments for last two commits Corrected SvxShape::getParent() Needed to get the direct parent, so test for SdrObject first (to get SdrObjGroup/E3DScene), for SdrPage second Fixed CppunitTest_sc_subsequent_export_test Several problems arose. The used SdrCaptionObj was Cloned, but the clone not inserted to a SdrPage. This leads to not being able to access a UNO API imlementation of the SdrPage (SvxPage) on lower levels. It worked before due to SdrObject having a SdrPage* additionally to being added to a SdrPage - this is exactly the main cleanup this change does. Looked for why it is cloned, could see no reasons. The SdrCaptionObj exists during all im/export, not difference to other SdrObjects (that do not get cloned). It is not changed in any way. It *might* be to suppress a crash that happened due to UNO API Service emfio/emfio not being available in the UnitTest scenario. Interestingly it did not crash with the cloned SdrCaptionObj, but the Graphic exported was probably wrong. Fixed by no longer Cloning the SdrCaptionObj and adding emfio/emfio UNO API Service. d139f821a5b39535a3e7b9c6261df7e18f8ae8ac 910e7f4bc628a715fda7545dffaf3369d5e76ea0 ca1de01b723051e09ac37d7ec7bba978beea41c5 3a76da1471dfe75e69847f64a6a3519ad21c8c9c Change-Id: I986586e326b563acebf00d931a7084c6eb09e5f8 Reviewed-on: https://gerrit.libreoffice.org/54689 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> Reviewed-on: https://gerrit.libreoffice.org/60535 Tested-by: Jenkins
Diffstat (limited to 'include')
-rw-r--r--include/svx/scene3d.hxx16
-rw-r--r--include/svx/sdr/properties/properties.hxx2
-rw-r--r--include/svx/svditer.hxx34
-rw-r--r--include/svx/svdoashp.hxx3
-rw-r--r--include/svx/svdobj.hxx27
-rw-r--r--include/svx/svdoedge.hxx3
-rw-r--r--include/svx/svdograf.hxx3
-rw-r--r--include/svx/svdogrp.hxx17
-rw-r--r--include/svx/svdoole2.hxx3
-rw-r--r--include/svx/svdotext.hxx4
-rw-r--r--include/svx/svdpage.hxx58
-rw-r--r--include/svx/svdtypes.hxx14
12 files changed, 99 insertions, 85 deletions
diff --git a/include/svx/scene3d.hxx b/include/svx/scene3d.hxx
index 044b27d5368f..1ebf4ac9728b 100644
--- a/include/svx/scene3d.hxx
+++ b/include/svx/scene3d.hxx
@@ -95,6 +95,14 @@ protected:
public:
E3dScene(SdrModel& rSdrModel);
+ // derived from SdrObjList
+ virtual SdrPage* getSdrPageFromSdrObjList() const override;
+ virtual SdrObject* getSdrObjectFromSdrObjList() const override;
+ virtual SdrModel& getSdrModelFromSdrObjList() const override;
+
+ // derived from SdrObject
+ virtual SdrObjList* getChildrenOfSdrObject() const override;
+
virtual void SetBoundRectDirty() override;
// access to cleanup of depth mapper
@@ -180,10 +188,12 @@ public:
virtual SdrObject* RemoveObject(size_t nObjNum) override;
// needed for group functionality
- virtual void SetRectsDirty(bool bNotMyself = false) override;
+ virtual void SetRectsDirty(bool bNotMyself = false, bool bRecursive = true) override;
virtual void NbcSetLayer(SdrLayerID nLayer) override;
- virtual void setParentOfSdrObject(SdrObjList* pNewObjList) override;
- virtual void SetPage(SdrPage* pNewPage) override;
+
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
+
virtual SdrObjList* GetSubList() const override;
void Insert3DObj(E3dObject* p3DObj);
void Remove3DObj(E3dObject const * p3DObj);
diff --git a/include/svx/sdr/properties/properties.hxx b/include/svx/sdr/properties/properties.hxx
index 5f9a63484d43..bdb2976cd1ee 100644
--- a/include/svx/sdr/properties/properties.hxx
+++ b/include/svx/sdr/properties/properties.hxx
@@ -82,6 +82,8 @@ namespace sdr
SdrObject& mrObject;
protected:
+ // apply the correct SfyStyleSheet from SdrObject's SdrModel
+ virtual void applyDefaultStyleSheetFromSdrModel();
// create a new object specific itemset with object specific ranges.
virtual std::unique_ptr<SfxItemSet> CreateObjectSpecificItemSet(SfxItemPool& pPool) = 0;
diff --git a/include/svx/svditer.hxx b/include/svx/svditer.hxx
index 6f87776401ce..e89efccf54c3 100644
--- a/include/svx/svditer.hxx
+++ b/include/svx/svditer.hxx
@@ -27,6 +27,7 @@
class SdrObjList;
class SdrObject;
+class SdrPage;
class SdrMarkList;
// SdrObjListIter methods:
@@ -37,41 +38,36 @@ enum class SdrIterMode { Flat, DeepWithGroups, DeepNoGroups };
class SVX_DLLPUBLIC SdrObjListIter
{
- std::vector<SdrObject*> maObjList;
- sal_uInt32 mnIndex;
- bool mbReverse;
+ std::vector< const SdrObject* > maObjList;
+ size_t mnIndex;
+ bool mbReverse;
+ bool mbUseZOrder;
- void ImpProcessObjectList(const SdrObjList& rObjList, SdrIterMode eMode, bool bUseZOrder);
+ void ImpProcessObjectList(const SdrObjList& rSdrObjList, SdrIterMode eMode);
void ImpProcessMarkList(const SdrMarkList& rMarkList, SdrIterMode eMode);
- void ImpProcessObj(SdrObject* pObj, SdrIterMode eMode, bool bUseZOrder);
+ void ImpProcessObj(const SdrObject& rSdrObject, SdrIterMode eMode);
public:
- explicit SdrObjListIter(const SdrObjList& rObjList, SdrIterMode eMode = SdrIterMode::DeepNoGroups, bool bReverse = false);
- /** This variant lets the user choose the order in which to travel over
- the objects.
- @param bUseZOrder
- When <TRUE/> then the z-order defines the order of iteration.
- Otherwise the navigation position as returned by
- SdrObject::GetNavigationPosition() is used.
- */
- SdrObjListIter(const SdrObjList& rObjList, bool bUseZOrder, SdrIterMode eMode);
+ explicit SdrObjListIter(const SdrObjList* pObjList, SdrIterMode eMode = SdrIterMode::DeepNoGroups, bool bReverse = false);
+ explicit SdrObjListIter(const SdrObjList* pObjList, bool bUseZOrder, SdrIterMode eMode = SdrIterMode::DeepNoGroups, bool bReverse = false);
/* SJ: the following function can now be used with every
SdrObject and is no longer limited to group objects */
- explicit SdrObjListIter(const SdrObject& rObj, SdrIterMode eMode = SdrIterMode::DeepNoGroups);
+ explicit SdrObjListIter(const SdrObject& rSdrObject, SdrIterMode eMode = SdrIterMode::DeepNoGroups, bool bReverse = false);
+ explicit SdrObjListIter(const SdrPage* pSdrPage, SdrIterMode eMode = SdrIterMode::DeepNoGroups, bool bReverse = false);
- /** Iterates over a list of marked objects received from the SdrMarkView. */
+ /** Iterates over a list of marked objects received from the SdrMarkView. TTTT used in sc */
explicit SdrObjListIter(const SdrMarkList& rMarkList, SdrIterMode eMode = SdrIterMode::DeepNoGroups);
void Reset() { mnIndex = (mbReverse ? maObjList.size() : 0L); }
bool IsMore() const { return (mbReverse ? mnIndex != 0 : ( mnIndex < maObjList.size())); }
SdrObject* Next()
{
- sal_uInt32 idx = (mbReverse ? --mnIndex : mnIndex++);
- return idx < maObjList.size() ? maObjList[idx] : nullptr;
+ const size_t idx(mbReverse ? --mnIndex : mnIndex++);
+ return (idx < maObjList.size()) ? const_cast< SdrObject* >(maObjList[idx]) : nullptr;
}
- sal_uInt32 Count() { return maObjList.size(); }
+ size_t Count() { return maObjList.size(); }
};
#endif // INCLUDED_SVX_SVDITER_HXX
diff --git a/include/svx/svdoashp.hxx b/include/svx/svdoashp.hxx
index 364b8ce7795a..e82e5018d137 100644
--- a/include/svx/svdoashp.hxx
+++ b/include/svx/svdoashp.hxx
@@ -224,7 +224,8 @@ public:
virtual SdrObject* DoConvertToPolyObj(bool bBezier, bool bAddText) const override;
- virtual void SetPage( SdrPage* pNewPage ) override;
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
virtual SdrObjGeoData *NewGeoData() const override;
virtual void SaveGeoData(SdrObjGeoData &rGeo) const override;
diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx
index 00b1152816e4..d99f3f3dfc35 100644
--- a/include/svx/svdobj.hxx
+++ b/include/svx/svdobj.hxx
@@ -343,8 +343,20 @@ public:
// A SdrObject always needs a SdrModel for lifetime (Pool, ...)
SdrObject(SdrModel& rSdrModel);
- // SdrModel access on SdrObject level
- SdrModel& getSdrModelFromSdrObject() const { return mrSdrModelFromSdrObject; }
+ // SdrModel/SdrPage access on SdrObject level
+ virtual SdrPage* getSdrPageFromSdrObject() const;
+ SdrModel& getSdrModelFromSdrObject() const;
+ SdrObjList* getParentOfSdrObject() const;
+ virtual SdrObjList* getChildrenOfSdrObject() const;
+
+private:
+ // only allow SetParentAtSdrObjectFromSdrObjList to call setParentOfSdrObject
+ friend void SetParentAtSdrObjectFromSdrObjList(SdrObject& rSdrObject, SdrObjList* pNew);
+ SVX_DLLPRIVATE void setParentOfSdrObject(SdrObjList* pNew);
+
+public:
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage);
void AddObjectUser(sdr::ObjectUser& rNewUser);
void RemoveObjectUser(sdr::ObjectUser& rOldUser);
@@ -373,7 +385,7 @@ public:
///
/// This is needed for instance for NbcMove, because usually one moves SnapRect and aOutRect
/// at the same time to avoid recomputation.
- virtual void SetRectsDirty(bool bNotMyself = false);
+ virtual void SetRectsDirty(bool bNotMyself = false, bool bRecursive = true);
// frees the SdrObject pointed to by the argument
// In case the object has an SvxShape, which has the ownership of the object, it
@@ -383,11 +395,6 @@ public:
// this method is only for access from Property objects
virtual void SetBoundRectDirty();
- virtual void setParentOfSdrObject(SdrObjList* pNewObjList);
- SdrObjList* getParentOfSdrObject() const { return mpParentOfSdrObject;}
-
- virtual void SetPage(SdrPage* pNewPage);
- SdrPage* GetPage() const { return pPage;}
SfxItemPool & GetObjectItemPool() const;
void AddListener(SfxListener& rListener);
@@ -909,9 +916,8 @@ public:
void setSuitableOutlinerBg(Outliner& rOutliner) const;
protected:
- tools::Rectangle aOutRect; // surrounding rectangle for Paint (incl. LineWdt, ...)
+ tools::Rectangle aOutRect; // surrounding rectangle for Paint (incl. LineWdt, ...)
Point aAnchor; // anchor position (Writer)
- SdrPage* pPage;
SdrObjUserCall* pUserCall;
std::unique_ptr<SdrObjPlusData>
pPlusData; // Broadcaster, UserData, connectors, ... (this is the Bitsack)
@@ -1074,7 +1080,6 @@ public:
SdrModel& rSdrModel,
SdrInventor nInventor,
sal_uInt16 nObjIdentifier,
- SdrPage* pPage = nullptr,
const tools::Rectangle* pSnapRect = nullptr);
static void InsertMakeObjectHdl(Link<SdrObjCreatorParams, SdrObject*> const & rLink);
diff --git a/include/svx/svdoedge.hxx b/include/svx/svdoedge.hxx
index e142a4a809e5..366963395a32 100644
--- a/include/svx/svdoedge.hxx
+++ b/include/svx/svdoedge.hxx
@@ -192,6 +192,9 @@ protected:
public:
SdrEdgeObj(SdrModel& rSdrModel);
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
+
SdrObjConnection& GetConnection(bool bTail1) { return *(bTail1 ? &aCon1 : &aCon2); }
virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const override;
virtual sal_uInt16 GetObjIdentifier() const override;
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index e07864d3423b..1718b967a4c3 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -197,7 +197,8 @@ public:
bool HasGDIMetaFile() const;
- virtual void SetPage(SdrPage* pNewPage) override;
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
bool isEmbeddedVectorGraphicData() const;
GDIMetaFile getMetafileFromEmbeddedVectorGraphicData() const;
diff --git a/include/svx/svdogrp.hxx b/include/svx/svdogrp.hxx
index 2901ee82f7d5..53f4107b8248 100644
--- a/include/svx/svdogrp.hxx
+++ b/include/svx/svdogrp.hxx
@@ -29,13 +29,12 @@
class SfxItemSet;
// SdrObjGroup
-class SVX_DLLPUBLIC SdrObjGroup final : public SdrObject
+class SVX_DLLPUBLIC SdrObjGroup final : public SdrObject, public SdrObjList
{
private:
virtual sdr::contact::ViewContact* CreateObjectSpecificViewContact() override;
virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
- SdrObjList maSdrObjList; // sub list (children)
Point aRefPoint; // Reference point inside the object group
private:
@@ -45,13 +44,23 @@ private:
public:
SdrObjGroup(SdrModel& rSdrModel);
+ // derived from SdrObjList
+ virtual SdrPage* getSdrPageFromSdrObjList() const override;
+ virtual SdrObject* getSdrObjectFromSdrObjList() const override;
+ virtual SdrModel& getSdrModelFromSdrObjList() const override;
+
+ // derived from SdrObject
+ virtual SdrObjList* getChildrenOfSdrObject() const override;
+
virtual void SetBoundRectDirty() override;
virtual sal_uInt16 GetObjIdentifier() const override;
virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const override;
virtual SdrLayerID GetLayer() const override;
virtual void NbcSetLayer(SdrLayerID nLayer) override;
- virtual void setParentOfSdrObject(SdrObjList* pNewObjList) override;
- virtual void SetPage(SdrPage* pNewPage) override;
+
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
+
virtual SdrObjList* GetSubList() const override;
virtual const tools::Rectangle& GetCurrentBoundRect() const override;
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
index 7dc190b33b67..c7a108c963df 100644
--- a/include/svx/svdoole2.hxx
+++ b/include/svx/svdoole2.hxx
@@ -120,7 +120,8 @@ public:
void AbandonObject();
- virtual void SetPage(SdrPage* pNewPage) override;
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
/** Change the IsClosedObj attribute
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index 912780c12320..7be26b52d40f 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -435,7 +435,9 @@ public:
SdrTextAniKind GetTextAniKind() const;
SdrTextAniDirection GetTextAniDirection() const;
- virtual void SetPage(SdrPage* pNewPage) override;
+ // react on model/page change
+ virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
+
virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const override;
virtual sal_uInt16 GetObjIdentifier() const override;
diff --git a/include/svx/svdpage.hxx b/include/svx/svdpage.hxx
index 5d978c09cba1..e095f953d1e8 100644
--- a/include/svx/svdpage.hxx
+++ b/include/svx/svdpage.hxx
@@ -72,18 +72,14 @@ private:
protected:
friend class SdrObjListIter;
friend class SdrEditView;
- SdrObjList* pUpList; /// parent list
- SdrPage* mpPage; /// Page containing the list, may be "this".
- SdrObject* pOwnerObj; /// OwnerObject, if it's list of a Group object.
- tools::Rectangle maOutRect;
- tools::Rectangle aSnapRect;
- SdrObjListKind eListKind;
- bool bObjOrdNumsDirty;
- bool bRectsDirty;
+
+ tools::Rectangle maSdrObjListOutRect;
+ tools::Rectangle maSdrObjListSnapRect;
+ bool mbObjOrdNumsDirty;
+ bool mbRectsDirty;
protected:
void RecalcRects();
- void copyDataFromSdrObjList(const SdrObjList& rSrcList);
private:
/// simple ActionChildInserted forwarder to have it on a central place
@@ -95,43 +91,46 @@ private:
// (e.g. SdrPage)
void impClearSdrObjList(bool bBroadcast);
-public:
- SdrObjList(SdrPage* pNewPage = nullptr);
+protected:
+ // protected constructor to make clear that this class should only
+ // be used as base for derivations, not naked. See getSdrModelFromSdrObjList
+ // which is pure virtual to force this, too
+ SdrObjList();
virtual ~SdrObjList();
+public:
+ // SdrModel/SdrPage access on SdrObjList level
+ virtual SdrPage* getSdrPageFromSdrObjList() const;
+ virtual SdrObject* getSdrObjectFromSdrObjList() const;
+ virtual SdrModel& getSdrModelFromSdrObjList() const = 0;
+
void CopyObjects(const SdrObjList& rSrcList);
// tdf#116879 clean up everything (without Undo), plus broadcasting
// changes. Split to this call and a private one (impClearSdrObjList)
// that allows cleanup without broadcasting in the destructor
- void ClearSdrObjList();
-
- SdrObjListKind GetListKind() const { return eListKind; }
- void SetListKind(SdrObjListKind eNewKind) { eListKind=eNewKind; }
- SdrObjList* GetUpList() const { return pUpList; }
- void SetUpList(SdrObjList* pNewUpList) { pUpList=pNewUpList; }
- SdrObject* GetOwnerObj() const { return pOwnerObj; }
- void SetOwnerObj(SdrObject* pNewOwner) { pOwnerObj=pNewOwner; }
- SdrPage* GetPage() const;
- void SetPage(SdrPage* pNewPage);
+ void ClearSdrObjList();
/// recalculate order numbers / ZIndex
void RecalcObjOrdNums();
- bool IsObjOrdNumsDirty() const { return bObjOrdNumsDirty; }
+ bool IsObjOrdNumsDirty() const { return mbObjOrdNumsDirty; }
virtual void NbcInsertObject(SdrObject* pObj, size_t nPos=SAL_MAX_SIZE);
virtual void InsertObject(SdrObject* pObj, size_t nPos=SAL_MAX_SIZE);
+
/// remove from list without delete
virtual SdrObject* NbcRemoveObject(size_t nObjNum);
virtual SdrObject* RemoveObject(size_t nObjNum);
+
/// Replace existing object by different one.
/// Same as Remove(old)+Insert(new) but faster because the order numbers
/// do not have to be set dirty.
virtual SdrObject* NbcReplaceObject(SdrObject* pNewObj, size_t nObjNum);
virtual SdrObject* ReplaceObject(SdrObject* pNewObj, size_t nObjNum);
+
/// Modify ZOrder of an SdrObject
virtual SdrObject* SetObjectOrdNum(size_t nOldObjNum, size_t nNewObjNum);
- void SetRectsDirty();
+ void SetSdrObjListRectsDirty();
const tools::Rectangle& GetAllObjSnapRect() const;
const tools::Rectangle& GetAllObjBoundRect() const;
@@ -160,6 +159,7 @@ public:
removes the group object afterwards.
*/
void FlattenGroups();
+
/** Ungroup the object at the given index
This method ungroups the content of the group object at the
@@ -282,9 +282,6 @@ private:
// Used for all methods which return a page number
#define SDRPAGE_NOTFOUND 0xFFFF
-
-// class SdrPageGridFrame
-
/// for the snap-to-grid in Writer
class SdrPageGridFrame
{
@@ -314,9 +311,7 @@ public:
const SdrPageGridFrame& operator[](sal_uInt16 nPos) const { return *GetObject(nPos); }
};
-
// class SdrPageProperties
-
class SVX_DLLPUBLIC SdrPageProperties : public SfxListener, public svl::StyleSheetUser
{
private:
@@ -399,6 +394,7 @@ public:
// SdrModel access on SdrPage level
SdrModel& getSdrModelFromSdrPage() const { return mrSdrModelFromSdrPage; }
+ virtual SdrModel& getSdrModelFromSdrObjList() const override;
protected:
sdr::contact::ViewContact* CreateObjectSpecificViewContact();
@@ -444,8 +440,7 @@ protected:
// #i93597#
bool mbPageBorderOnlyLeftRight : 1;
- void SetUnoPage(css::uno::Reference<
- css::drawing::XDrawPage> const&);
+ void SetUnoPage(css::uno::Reference<css::drawing::XDrawPage> const&);
virtual css::uno::Reference< css::uno::XInterface > createUnoPage();
// Copying of pages is split into two parts: construction and copying of page objects,
@@ -465,6 +460,9 @@ public:
bool IsInserted() const { return mbInserted; }
void SetChanged();
+ // derived from SdrObjList, returns this
+ virtual SdrPage* getSdrPageFromSdrObjList() const override;
+
// #i68775# React on PageNum changes (from Model in most cases)
void SetPageNum(sal_uInt16 nNew);
sal_uInt16 GetPageNum() const;
diff --git a/include/svx/svdtypes.hxx b/include/svx/svdtypes.hxx
index e3edbcc41511..38e41fa45a92 100644
--- a/include/svx/svdtypes.hxx
+++ b/include/svx/svdtypes.hxx
@@ -64,20 +64,6 @@ typedef o3tl::strong_int<sal_uInt8,SdrLayerIDTag> SdrLayerID;
constexpr SdrLayerID SDRLAYER_NOTFOUND(0xff);
/*
- * Page + ObjList
- */
-enum class SdrObjListKind {
- Unknown = 0x00,
- // pure object lists:
- GroupObj = 0x01,
- // Here is space for 12 more types of lists
- // Pages:
- DrawPage = 0x10,
- MasterPage = 0x11
- // Here is space for 8 more types of pages
-}; // reserved for Surrogate
-
-/*
* Repeat
*/
enum class SdrRepeatFunc {