LibreOffice Module svx (master)  1
viewcontactofsdrpage.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SVX_INC_SDR_CONTACT_VIEWCONTACTOFSDRPAGE_HXX
21 #define INCLUDED_SVX_INC_SDR_CONTACT_VIEWCONTACTOFSDRPAGE_HXX
22 
23 #include <sal/types.h>
25 
26 class SdrPage;
27 
28 namespace sdr { namespace contact {
29 
30 class ViewContactOfSdrPage;
31 
33 {
35 
36 public:
37  explicit ViewContactOfPageSubObject(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
38  virtual ~ViewContactOfPageSubObject() override;
39 
40  virtual ViewContact* GetParentContact() const override;
41  const SdrPage& getPage() const;
42 };
43 
45 {
46 protected:
49 
50 public:
51  explicit ViewContactOfPageBackground(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
52  virtual ~ViewContactOfPageBackground() override;
53 };
54 
56 {
57 protected:
60 
61 public:
62  explicit ViewContactOfPageShadow(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
63  virtual ~ViewContactOfPageShadow() override;
64 };
65 
67 {
68 protected:
71 
72 public:
73  explicit ViewContactOfPageFill(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
74  virtual ~ViewContactOfPageFill() override;
75 };
76 
78 {
79 protected:
82 
83 public:
84  explicit ViewContactOfMasterPage(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
85  virtual ~ViewContactOfMasterPage() override;
86 };
87 
89 {
90 protected:
93 
94 public:
95  explicit ViewContactOfOuterPageBorder(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
96  virtual ~ViewContactOfOuterPageBorder() override;
97 };
98 
100 {
101 protected:
102  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
104 
105 public:
106  explicit ViewContactOfInnerPageBorder(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
107  virtual ~ViewContactOfInnerPageBorder() override;
108 };
109 
118 {
119 protected:
120  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
122 
123 public:
124  explicit ViewContactOfPageHierarchy(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
125  virtual ~ViewContactOfPageHierarchy() override;
126 
127  virtual sal_uInt32 GetObjectCount() const override;
128  virtual ViewContact& GetViewContact(sal_uInt32 nIndex) const override;
129 };
130 
132 {
133  bool const mbFront : 1;
134 
135  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
137 
138 public:
139  ViewContactOfGrid(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront);
140  virtual ~ViewContactOfGrid() override;
141 
142  bool getFront() const { return mbFront; }
143 };
144 
146 {
147  bool const mbFront : 1;
148 
149  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
151 
152 public:
153  ViewContactOfHelplines(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront);
154  virtual ~ViewContactOfHelplines() override;
155 
156  bool getFront() const { return mbFront; }
157 };
158 
160 {
161  // the owner of this ViewContact. Set from constructor and not
162  // to be changed in any way.
164 
165  // helper viewContacts to build a clear paint hierarchy
177 
178 protected:
179  // Create an Object-Specific ViewObjectContact, set ViewContact and
180  // ObjectContact. Always needs to return something. Default is to create
181  // a standard ViewObjectContact containing the given ObjectContact and *this
182  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
183 
184 public:
185  // access to SdrObject
187  {
188  return mrPage;
189  }
190 
191  // basic constructor, used from SdrPage.
192  explicit ViewContactOfSdrPage(SdrPage& rObj);
193  virtual ~ViewContactOfSdrPage() override;
194 
195  // Access to possible sub-hierarchy
196  virtual sal_uInt32 GetObjectCount() const override;
197  virtual ViewContact& GetViewContact(sal_uInt32 nIndex) const override;
198 
199  // React on changes of the object of this ViewContact
200  virtual void ActionChanged() override;
201 
202 protected:
203  // This method is responsible for creating the graphical visualisation data
204  // ONLY based on model data
206 };
207 
208 }}
209 
210 #endif // INCLUDED_SVX_INC_SDR_CONTACT_VIEWCONTACTOFSDRPAGE_HXX
211 
212 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
sal_Int32 nIndex
virtual sal_uInt32 GetObjectCount() const override
ViewContactOfHelplines(ViewContactOfSdrPage &rParentViewContactOfSdrPage, bool bFront)
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
ViewContactOfPageShadow(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
ViewContactOfPageShadow maViewContactOfPageShadow
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual sal_uInt32 GetObjectCount() const override
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
ViewContactOfInnerPageBorder(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
ViewContactOfMasterPage(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
ViewContactOfOuterPageBorder maViewContactOfOuterPageBorder
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
ViewContactOfHelplines maViewContactOfHelplinesBack
This view contact corresponds with all SdrObject instances in a single SdrPage.
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
ViewContactOfPageBackground maViewContactOfPageBackground
ViewContactOfPageFill(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
ViewContactOfGrid(ViewContactOfSdrPage &rParentViewContactOfSdrPage, bool bFront)
ViewContactOfOuterPageBorder(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
ViewContactOfPageHierarchy maViewContactOfPageHierarchy
ViewContactOfPageHierarchy(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
ViewContactOfPageSubObject(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
ViewContactOfMasterPage maViewContactOfMasterPage
ViewContactOfHelplines maViewContactOfHelplinesFront
ViewContactOfPageBackground(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
ViewContactOfInnerPageBorder maViewContactOfInnerPageBorder
virtual ViewContact * GetParentContact() const override
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:366
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override