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::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 {
48 
49 public:
50  explicit ViewContactOfPageBackground(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
51  virtual ~ViewContactOfPageBackground() override;
52 };
53 
55 {
58 
59 public:
60  explicit ViewContactOfPageShadow(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
61  virtual ~ViewContactOfPageShadow() override;
62 };
63 
65 {
68 
69 public:
70  explicit ViewContactOfPageFill(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
71  virtual ~ViewContactOfPageFill() override;
72 };
73 
75 {
78 
79 public:
80  explicit ViewContactOfMasterPage(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
81  virtual ~ViewContactOfMasterPage() override;
82 };
83 
85 {
88 
89 public:
90  explicit ViewContactOfOuterPageBorder(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
91  virtual ~ViewContactOfOuterPageBorder() override;
92 };
93 
95 {
98 
99 public:
100  explicit ViewContactOfInnerPageBorder(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
101  virtual ~ViewContactOfInnerPageBorder() override;
102 };
103 
112 {
113  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
115 
116 public:
117  explicit ViewContactOfPageHierarchy(ViewContactOfSdrPage& rParentViewContactOfSdrPage);
118  virtual ~ViewContactOfPageHierarchy() override;
119 
120  virtual sal_uInt32 GetObjectCount() const override;
121  virtual ViewContact& GetViewContact(sal_uInt32 nIndex) const override;
122 };
123 
125 {
126  bool mbFront : 1;
127 
128  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
130 
131 public:
132  ViewContactOfGrid(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront);
133  virtual ~ViewContactOfGrid() override;
134 
135  bool getFront() const { return mbFront; }
136 };
137 
139 {
140  bool mbFront : 1;
141 
142  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
144 
145 public:
146  ViewContactOfHelplines(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront);
147  virtual ~ViewContactOfHelplines() override;
148 
149  bool getFront() const { return mbFront; }
150 };
151 
153 {
154  // the owner of this ViewContact. Set from constructor and not
155  // to be changed in any way.
157 
158  // helper viewContacts to build a clear paint hierarchy
170 
171 protected:
172  // Create an Object-Specific ViewObjectContact, set ViewContact and
173  // ObjectContact. Always needs to return something. Default is to create
174  // a standard ViewObjectContact containing the given ObjectContact and *this
175  virtual ViewObjectContact& CreateObjectSpecificViewObjectContact(ObjectContact& rObjectContact) override;
176 
177 public:
178  // access to SdrObject
180  {
181  return mrPage;
182  }
183 
184  // basic constructor, used from SdrPage.
185  explicit ViewContactOfSdrPage(SdrPage& rObj);
186  virtual ~ViewContactOfSdrPage() override;
187 
188  // Access to possible sub-hierarchy
189  virtual sal_uInt32 GetObjectCount() const override;
190  virtual ViewContact& GetViewContact(sal_uInt32 nIndex) const override;
191 
192  // React on changes of the object of this ViewContact
193  virtual void ActionChanged() override;
194 
195 protected:
196  // This method is responsible for creating the graphical visualisation data
197  // ONLY based on model data
199 };
200 
201 }
202 
203 #endif // INCLUDED_SVX_INC_SDR_CONTACT_VIEWCONTACTOFSDRPAGE_HXX
204 
205 /* 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:365
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override