LibreOffice Module svx (master)  1
viewcontactofsdrpage.cxx
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 
22 #include <svx/svdpage.hxx>
26 #include <svtools/colorcfg.hxx>
27 #include <tools/debug.hxx>
28 #include <vcl/svapp.hxx>
37 #include <vcl/lazydelete.hxx>
38 #include <vcl/settings.hxx>
41 #include <bitmaps.hlst>
42 
43 namespace sdr::contact {
44 
46 : mrParentViewContactOfSdrPage(rParentViewContactOfSdrPage)
47 {
48 }
49 
51 {
52 }
53 
55 {
57 }
58 
60 {
62 }
63 
65 {
66  ViewObjectContact* pRetval = new ViewObjectContactOfPageBackground(rObjectContact, *this);
67  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
68 
69  return *pRetval;
70 }
71 
73 {
74  // We have only the page information, not the view information. Use the
75  // svtools::DOCCOLOR color for initialisation
76  const svtools::ColorConfig aColorConfig;
77  const Color aInitColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor);
78  const basegfx::BColor aRGBColor(aInitColor.getBColor());
81 
82  rVisitor.visit(xReference);
83 }
84 
86 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
87 {
88 }
89 
91 {
92 }
93 
95 {
96  ViewObjectContact* pRetval = new ViewObjectContactOfPageShadow(rObjectContact, *this);
97  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
98 
99  return *pRetval;
100 }
101 
103 {
104  static bool bUseOldPageShadow(false); // loplugin:constvars:ignore
105  const SdrPage& rPage = getPage();
106  basegfx::B2DHomMatrix aPageMatrix;
107  aPageMatrix.set(0, 0, static_cast<double>(rPage.GetWidth()));
108  aPageMatrix.set(1, 1, static_cast<double>(rPage.GetHeight()));
109 
110  if(bUseOldPageShadow)
111  {
112  // create page shadow polygon
113  const double fPageBorderFactor(1.0 / 256.0);
114  basegfx::B2DPolygon aPageShadowPolygon;
115  aPageShadowPolygon.append(basegfx::B2DPoint(1.0, fPageBorderFactor));
116  aPageShadowPolygon.append(basegfx::B2DPoint(1.0 + fPageBorderFactor, fPageBorderFactor));
117  aPageShadowPolygon.append(basegfx::B2DPoint(1.0 + fPageBorderFactor, 1.0 + fPageBorderFactor));
118  aPageShadowPolygon.append(basegfx::B2DPoint(fPageBorderFactor, 1.0 + fPageBorderFactor));
119  aPageShadowPolygon.append(basegfx::B2DPoint(fPageBorderFactor, 1.0));
120  aPageShadowPolygon.append(basegfx::B2DPoint(1.0, 1.0));
121  aPageShadowPolygon.setClosed(true);
122  aPageShadowPolygon.transform(aPageMatrix);
123 
124  // We have only the page information, not the view information. Use the
125  // svtools::FONTCOLOR color for initialisation
126  const svtools::ColorConfig aColorConfig;
127  const Color aShadowColor(aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor);
128  const basegfx::BColor aRGBShadowColor(aShadowColor.getBColor());
131  basegfx::B2DPolyPolygon(aPageShadowPolygon),
132  aRGBShadowColor));
133 
134  rVisitor.visit(xReference);
135  }
136  else
137  {
139  BitmapEx(SIP_SA_PAGESHADOW35X35)));
140 
141  if(aDiscreteShadow.get())
142  {
145  aPageMatrix,
146  *aDiscreteShadow.get()));
147 
148  rVisitor.visit(xReference);
149  }
150  }
151 }
152 
154 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
155 {
156 }
157 
159 {
160 }
161 
163 {
164  ViewObjectContact* pRetval = new ViewObjectContactOfMasterPage(rObjectContact, *this);
165  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
166 
167  return *pRetval;
168 }
169 
171 {
172  // this class is used when the page is a MasterPage and is responsible to
173  // create a visualisation for the MPBGO, if exists. This needs to be suppressed
174  // when a SdrPage which uses a MasterPage creates it's output. Suppression
175  // is done in the corresponding VOC since DisplayInfo data is needed
176  const SdrPage& rPage = getPage();
177 
178  if(rPage.IsMasterPage())
179  {
180  if(0 == rPage.GetPageNum())
181  {
182  // #i98063#
183  // filter MasterPage 0 since it's the HandoutPage. Thus, it's a
184  // MasterPage, but has no MPBGO, so there is nothing to do here.
185  }
186  else
187  {
189 
190  // #i110846# Suppress SdrPage FillStyle for MasterPages without StyleSheets,
191  // else the PoolDefault (XFILL_COLOR and Blue8) will be used. Normally, all
192  // MasterPages should have a StyleSheet exactly for this reason, but historically
193  // e.g. the Notes MasterPage has no StyleSheet set (and there maybe others).
194  if(rPage.getSdrPageProperties().GetStyleSheet())
195  {
196  // create page fill attributes with correct properties
198  rPage.getSdrPageProperties().GetItemSet());
199  }
200 
201  if(!aFill.isDefault())
202  {
203  // direct model data is the page size, get and use it
204  const basegfx::B2DRange aOuterRange(
205  0, 0, rPage.GetWidth(), rPage.GetHeight());
206  const basegfx::B2DRange aInnerRange(
207  rPage.GetLeftBorder(), rPage.GetUpperBorder(),
208  rPage.GetWidth() - rPage.GetRightBorder(), rPage.GetHeight() - rPage.GetLowerBorder());
209  bool const isFullSize(rPage.IsBackgroundFullSize());
210  const basegfx::B2DPolygon aFillPolygon(
211  basegfx::utils::createPolygonFromRect(isFullSize ? aOuterRange : aInnerRange));
214  basegfx::B2DPolyPolygon(aFillPolygon),
215  aFill,
217 
218  rVisitor.visit(xReference);
219  }
220  }
221  }
222 }
223 
225 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
226 {
227 }
228 
230 {
231 }
232 
234 {
235  ViewObjectContact* pRetval = new ViewObjectContactOfPageFill(rObjectContact, *this);
236  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
237 
238  return *pRetval;
239 }
240 
242 {
243  const SdrPage& rPage = getPage();
244  const basegfx::B2DRange aPageFillRange(0.0, 0.0, static_cast<double>(rPage.GetWidth()), static_cast<double>(rPage.GetHeight()));
245  const basegfx::B2DPolygon aPageFillPolygon(basegfx::utils::createPolygonFromRect(aPageFillRange));
246 
247  // We have only the page information, not the view information. Use the
248  // svtools::DOCCOLOR color for initialisation
249  const svtools::ColorConfig aColorConfig;
250  const Color aPageFillColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor);
251 
252  // create and add primitive
253  const basegfx::BColor aRGBColor(aPageFillColor.getBColor());
255 }
256 
258 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
259 {
260 }
261 
263 {
264 }
265 
267 {
268  ViewObjectContact* pRetval = new ViewObjectContactOfOuterPageBorder(rObjectContact, *this);
269  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
270 
271  return *pRetval;
272 }
273 
275 {
276  const SdrPage& rPage = getPage();
277  const basegfx::B2DRange aPageBorderRange(0.0, 0.0, static_cast<double>(rPage.GetWidth()), static_cast<double>(rPage.GetHeight()));
278 
279  // Changed to 0x949599 for renaissance, before svtools::FONTCOLOR was used.
280  // Added old case as fallback for HighContrast.
281  basegfx::BColor aRGBBorderColor(0x94 / double(0xff), 0x95 / double(0xff), 0x99 / double(0xff));
282 
283  if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
284  {
285  const svtools::ColorConfig aColorConfig;
286  const Color aBorderColor(aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor);
287 
288  aRGBBorderColor = aBorderColor.getBColor();
289  }
290 
291  if(rPage.getPageBorderOnlyLeftRight())
292  {
293  // #i93597# for Report Designer, the page border shall be only displayed right and left,
294  // but not top and bottom. Create simplified geometry.
295  basegfx::B2DPolygon aLeft, aRight;
296 
297  aLeft.append(basegfx::B2DPoint(aPageBorderRange.getMinX(), aPageBorderRange.getMinY()));
298  aLeft.append(basegfx::B2DPoint(aPageBorderRange.getMinX(), aPageBorderRange.getMaxY()));
299 
300  aRight.append(basegfx::B2DPoint(aPageBorderRange.getMaxX(), aPageBorderRange.getMinY()));
301  aRight.append(basegfx::B2DPoint(aPageBorderRange.getMaxX(), aPageBorderRange.getMaxY()));
302 
305  }
306  else
307  {
308  const basegfx::B2DPolygon aPageBorderPolygon(basegfx::utils::createPolygonFromRect(aPageBorderRange));
310  }
311 }
312 
314 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
315 {
316 }
317 
319 {
320 }
321 
323 {
324  ViewObjectContact* pRetval = new ViewObjectContactOfInnerPageBorder(rObjectContact, *this);
325  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
326 
327  return *pRetval;
328 }
329 
331 {
332  const SdrPage& rPage = getPage();
333  const basegfx::B2DRange aPageBorderRange(
334  static_cast<double>(rPage.GetLeftBorder()), static_cast<double>(rPage.GetUpperBorder()),
335  static_cast<double>(rPage.GetWidth() - rPage.GetRightBorder()), static_cast<double>(rPage.GetHeight() - rPage.GetLowerBorder()));
336  const basegfx::B2DPolygon aPageBorderPolygon(basegfx::utils::createPolygonFromRect(aPageBorderRange));
337 
338  // We have only the page information, not the view information. Use the
339  // svtools::FONTCOLOR or svtools::DOCBOUNDARIES color for initialisation
340  const svtools::ColorConfig aColorConfig;
341  Color aBorderColor;
342 
343  if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
344  {
345  aBorderColor = aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor;
346  }
347  else
348  {
349  svtools::ColorConfigValue aBorderConfig = aColorConfig.GetColorValue(svtools::DOCBOUNDARIES);
350  aBorderColor = aBorderConfig.bIsVisible ? aBorderConfig.nColor :
351  aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor;
352  }
353 
354  // create page outer border primitive
355  const basegfx::BColor aRGBBorderColor(aBorderColor.getBColor());
357 }
358 
360 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
361 {
362 }
363 
365 {
366 }
367 
369 {
370  ViewObjectContact* pRetval = new ViewObjectContactOfPageHierarchy(rObjectContact, *this);
371  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
372 
373  return *pRetval;
374 }
375 
377 {
378  // collect sub-hierarchy
379  const sal_uInt32 nObjectCount(GetObjectCount());
380 
381  // collect all sub-primitives
382  for(sal_uInt32 a(0); a < nObjectCount; a++)
383  {
384  const ViewContact& rCandidate(GetViewContact(a));
385  rCandidate.getViewIndependentPrimitive2DContainer(rVisitor);
386  }
387 }
388 
390 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
391 {
392 }
393 
395 {
396 }
397 
399 {
400  return getPage().GetObjCount();
401 }
402 
404 {
405  SdrObject* pObj = getPage().GetObj(nIndex);
406  assert(pObj && "ViewContactOfPageHierarchy::GetViewContact: Corrupt SdrObjList (!)");
407  return pObj->GetViewContact();
408 }
409 
411 {
412  ViewObjectContact* pRetval = new ViewObjectContactOfPageGrid(rObjectContact, *this);
413  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
414 
415  return *pRetval;
416 }
417 
419 {
420  // We have only the page information, not the view information and thus no grid settings. Create empty
421  // default. For the view-dependent implementation, see ViewObjectContactOfPageGrid::createPrimitive2DSequence
422 }
423 
424 ViewContactOfGrid::ViewContactOfGrid(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront)
425 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage),
426  mbFront(bFront)
427 {
428 }
429 
431 {
432 }
433 
435 {
436  ViewObjectContact* pRetval = new ViewObjectContactOfPageHelplines(rObjectContact, *this);
437  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
438 
439  return *pRetval;
440 }
441 
443 {
444  // We have only the page information, not the view information and thus no helplines. Create empty
445  // default. For the view-dependent implementation, see ViewObjectContactOfPageHelplines::createPrimitive2DSequence
446 }
447 
449 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage),
450  mbFront(bFront)
451 {
452 }
453 
455 {
456 }
457 
458 // Create an Object-Specific ViewObjectContact, set ViewContact and
459 // ObjectContact. Always needs to return something.
461 {
462  ViewObjectContact* pRetval = new ViewObjectContactOfSdrPage(rObjectContact, *this);
463  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
464 
465  return *pRetval;
466 }
467 
469 : mrPage(rPage),
470  maViewContactOfPageBackground(*this),
471  maViewContactOfPageShadow(*this),
472  maViewContactOfPageFill(*this),
473  maViewContactOfMasterPage(*this),
474  maViewContactOfOuterPageBorder(*this),
475  maViewContactOfInnerPageBorder(*this),
476  maViewContactOfGridBack(*this, false),
477  maViewContactOfHelplinesBack(*this, false),
478  maViewContactOfPageHierarchy(*this),
479  maViewContactOfGridFront(*this, true),
480  maViewContactOfHelplinesFront(*this, true)
481 {
482 }
483 
485 {
486 }
487 
488 // Access to possible sub-hierarchy
490 {
491  // Fixed count of content. It contains PageBackground (Wiese), PageShadow, PageFill,
492  // then - depending on if the page has a MasterPage - either MasterPage Hierarchy
493  // or MPBGO. Also OuterPageBorder, InnerPageBorder and two pairs of Grid and Helplines
494  // (for front and back) which internally are visible or not depending on the current
495  // front/back setting for those.
496  return 11;
497 }
498 
500 {
501  switch(nIndex)
502  {
503  case 0: return const_cast<ViewContactOfPageBackground&>(maViewContactOfPageBackground);
504  case 1: return const_cast<ViewContactOfPageShadow&>(maViewContactOfPageShadow);
505  case 2: return const_cast<ViewContactOfPageFill&>(maViewContactOfPageFill);
506  case 3:
507  {
508  const SdrPage& rPage = GetSdrPage();
509 
510  if(rPage.TRG_HasMasterPage())
511  {
513  }
514  else
515  {
517  }
518  }
521  case 6: return const_cast<ViewContactOfGrid&>(maViewContactOfGridBack);
522  case 7: return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesBack);
523  case 8: return const_cast<ViewContactOfPageHierarchy&>(maViewContactOfPageHierarchy);
524  case 9: return const_cast<ViewContactOfGrid&>(maViewContactOfGridFront);
525  case 10: case 11: return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesFront);
526  default: assert(false);return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesFront);
527  }
528 }
529 
530 // React on changes of the object of this ViewContact
532 {
533  // call parent
535 
536  // apply to local viewContacts, they all rely on page information. Exception
537  // is the sub hierarchy; this will not be influenced by the change
541 
542  const SdrPage& rPage = GetSdrPage();
543 
544  if(rPage.TRG_HasMasterPage())
545  {
547  }
548  else if(rPage.IsMasterPage())
549  {
551  }
552 
559 }
560 
562 {
563  // collect all sub-sequences including sub hierarchy.
567 
568  const SdrPage& rPage = GetSdrPage();
569 
570  if(rPage.TRG_HasMasterPage())
571  {
573  }
574  else if(rPage.IsMasterPage())
575  {
577  }
578 
582 
583  // Only add front versions of grid and helplines since no visibility test is done,
584  // so adding the back incarnations is not necessary. This makes the Front
585  // visualisation the default when no visibility tests are done.
586 
587  // Since we have no view here, no grid and helpline definitions are available currently. The used
588  // methods at ViewContactOfHelplines and ViewContactOfGrid return only empty sequences and
589  // do not need to be called ATM. This may change later if grid or helpline info gets
590  // model data (it should not). Keeping the lines commented to hold this hint.
591 
592  // drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, maViewContactOfGridFront.getViewIndependentPrimitive2DContainer());
593  // drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, maViewContactOfHelplinesFront.getViewIndependentPrimitive2DContainer());
594 }
595 
596 }
597 
598 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
void append(const basegfx::B2DPoint &rPoint, sal_uInt32 nCount)
virtual sal_uInt32 GetObjectCount() const override
ViewContactOfHelplines(ViewContactOfSdrPage &rParentViewContactOfSdrPage, bool bFront)
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue)
tools::Long GetWidth() const
Definition: svdpage.cxx:1448
attribute::SdrFillAttribute createNewSdrFillAttribute(const SfxItemSet &rSet)
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
static const AllSettings & GetSettings()
ViewContactOfPageShadow(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
SdrObject * GetObj(size_t nNum) const
Definition: svdpage.cxx:807
sal_Int32 GetRightBorder() const
Definition: svdpage.cxx:1559
size_t GetObjCount() const
Definition: svdpage.cxx:801
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
sal_Int32 GetLowerBorder() const
Definition: svdpage.cxx:1564
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
sal_Int32 GetLeftBorder() const
Definition: svdpage.cxx:1549
sdr::contact::ViewContact & GetViewContact() const
Definition: svdobj.cxx:251
ViewContactOfPageShadow maViewContactOfPageShadow
virtual sal_uInt32 GetObjectCount() const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
ViewContactOfInnerPageBorder(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
ViewContactOfMasterPage(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
ViewContactOfOuterPageBorder maViewContactOfOuterPageBorder
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) 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)
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
#define DBG_ASSERT(sCon, aError)
uno_Any a
ViewContactOfGrid(ViewContactOfSdrPage &rParentViewContactOfSdrPage, bool bFront)
virtual void visit(const Primitive2DReference &)=0
tools::Long GetHeight() const
Definition: svdpage.cxx:1474
ViewContactOfOuterPageBorder(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
sal_Int32 GetUpperBorder() const
Definition: svdpage.cxx:1554
B2DPolygon createPolygonFromRect(const B2DRectangle &rRect, double fRadiusX, double fRadiusY)
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
ViewContactOfPageHierarchy maViewContactOfPageHierarchy
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
ViewContactOfPageHierarchy(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
bool IsMasterPage() const
Definition: svdpage.hxx:459
const SfxItemSet & GetItemSet() const
Definition: svdpage.hxx:337
SdrPageProperties & getSdrPageProperties()
Definition: svdpage.cxx:1872
ViewContactOfPageSubObject(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
bool TRG_HasMasterPage() const
Definition: svdpage.hxx:495
Abstract DrawObject.
Definition: svdobj.hxx:259
virtual void ActionChanged()
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
void transform(const basegfx::B2DHomMatrix &rMatrix)
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
void setClosed(bool bNew)
sdr::contact::ViewContact & TRG_GetMasterPageDescriptorViewContact() const
Definition: svdpage.cxx:1669
void getViewIndependentPrimitive2DContainer(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const
ViewContactOfMasterPage maViewContactOfMasterPage
ViewContactOfHelplines maViewContactOfHelplinesFront
ColorConfigValue GetColorValue(ColorConfigEntry eEntry, bool bSmart=true) const
ViewContactOfPageBackground(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
SfxStyleSheet * GetStyleSheet() const
Definition: svdpage.hxx:344
ViewContactOfInnerPageBorder maViewContactOfInnerPageBorder
bool getPageBorderOnlyLeftRight() const
Definition: svdpage.hxx:474
basegfx::BColor getBColor() const
virtual ViewContact * GetParentContact() const override
virtual void createViewIndependentPrimitive2DSequence(drawinglayer::primitive2d::Primitive2DDecompositionVisitor &rVisitor) const override
bool IsBackgroundFullSize() const
Definition: svdpage.cxx:1578
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:373
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override
sal_uInt16 GetPageNum() const
Definition: svdpage.cxx:1596
bool m_bDetectedRangeSegmentation false
Primitive2DReference createPolyPolygonFillPrimitive(const basegfx::B2DPolyPolygon &rPolyPolygon, const attribute::SdrFillAttribute &rFill, const attribute::FillGradientAttribute &rFillGradient)