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 
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 
135  }
136  else
137  {
140  BitmapEx(SIP_SA_PAGESHADOW35X35)));
141 
142  if(aDiscreteShadow.get())
143  {
146  aPageMatrix,
147  *aDiscreteShadow.get()));
148 
150  }
151 
153  }
154 }
155 
157 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
158 {
159 }
160 
162 {
163 }
164 
166 {
167  ViewObjectContact* pRetval = new ViewObjectContactOfMasterPage(rObjectContact, *this);
168  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
169 
170  return *pRetval;
171 }
172 
174 {
176 
177  // this class is used when the page is a MasterPage and is responsible to
178  // create a visualisation for the MPBGO, if exists. This needs to be suppressed
179  // when a SdrPage which uses a MasterPage creates it's output. Suppression
180  // is done in the corresponding VOC since DisplayInfo data is needed
181  const SdrPage& rPage = getPage();
182 
183  if(rPage.IsMasterPage())
184  {
185  if(0 == rPage.GetPageNum())
186  {
187  // #i98063#
188  // filter MasterPage 0 since it's the HandoutPage. Thus, it's a
189  // MasterPage, but has no MPBGO, so there is nothing to do here.
190  }
191  else
192  {
194 
195  // #i110846# Suppress SdrPage FillStyle for MasterPages without StyleSheets,
196  // else the PoolDefault (XFILL_COLOR and Blue8) will be used. Normally, all
197  // MasterPages should have a StyleSheet exactly for this reason, but historically
198  // e.g. the Notes MasterPage has no StyleSheet set (and there maybe others).
199  if(rPage.getSdrPageProperties().GetStyleSheet())
200  {
201  // create page fill attributes with correct properties
203  rPage.getSdrPageProperties().GetItemSet());
204  }
205 
206  if(!aFill.isDefault())
207  {
208  // direct model data is the page size, get and use it
209  const basegfx::B2DRange aOuterRange(
210  0, 0, rPage.GetWidth(), rPage.GetHeight());
211  const basegfx::B2DRange aInnerRange(
212  rPage.GetLeftBorder(), rPage.GetUpperBorder(),
213  rPage.GetWidth() - rPage.GetRightBorder(), rPage.GetHeight() - rPage.GetLowerBorder());
214  bool const isFullSize(rPage.IsBackgroundFullSize());
215  const basegfx::B2DPolygon aFillPolygon(
216  basegfx::utils::createPolygonFromRect(isFullSize ? aOuterRange : aInnerRange));
219  basegfx::B2DPolyPolygon(aFillPolygon),
220  aFill,
222 
223  xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference };
224  }
225  }
226  }
227 
228  return xRetval;
229 }
230 
232 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
233 {
234 }
235 
237 {
238 }
239 
241 {
242  ViewObjectContact* pRetval = new ViewObjectContactOfPageFill(rObjectContact, *this);
243  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
244 
245  return *pRetval;
246 }
247 
249 {
250  const SdrPage& rPage = getPage();
251  const basegfx::B2DRange aPageFillRange(0.0, 0.0, static_cast<double>(rPage.GetWidth()), static_cast<double>(rPage.GetHeight()));
252  const basegfx::B2DPolygon aPageFillPolygon(basegfx::utils::createPolygonFromRect(aPageFillRange));
253 
254  // We have only the page information, not the view information. Use the
255  // svtools::DOCCOLOR color for initialisation
256  const svtools::ColorConfig aColorConfig;
257  const Color aPageFillColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor);
258 
259  // create and add primitive
260  const basegfx::BColor aRGBColor(aPageFillColor.getBColor());
262 
264 }
265 
267 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
268 {
269 }
270 
272 {
273 }
274 
276 {
277  ViewObjectContact* pRetval = new ViewObjectContactOfOuterPageBorder(rObjectContact, *this);
278  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
279 
280  return *pRetval;
281 }
282 
284 {
286  const SdrPage& rPage = getPage();
287  const basegfx::B2DRange aPageBorderRange(0.0, 0.0, static_cast<double>(rPage.GetWidth()), static_cast<double>(rPage.GetHeight()));
288 
289  // Changed to 0x949599 for renaissance, before svtools::FONTCOLOR was used.
290  // Added old case as fallback for HighContrast.
291  basegfx::BColor aRGBBorderColor(0x94 / double(0xff), 0x95 / double(0xff), 0x99 / double(0xff));
292 
293  if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
294  {
295  const svtools::ColorConfig aColorConfig;
296  const Color aBorderColor(aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor);
297 
298  aRGBBorderColor = aBorderColor.getBColor();
299  }
300 
301  if(rPage.getPageBorderOnlyLeftRight())
302  {
303  // #i93597# for Report Designer, the page border shall be only displayed right and left,
304  // but not top and bottom. Create simplified geometry.
305  basegfx::B2DPolygon aLeft, aRight;
306 
307  aLeft.append(basegfx::B2DPoint(aPageBorderRange.getMinX(), aPageBorderRange.getMinY()));
308  aLeft.append(basegfx::B2DPoint(aPageBorderRange.getMinX(), aPageBorderRange.getMaxY()));
309 
310  aRight.append(basegfx::B2DPoint(aPageBorderRange.getMaxX(), aPageBorderRange.getMinY()));
311  aRight.append(basegfx::B2DPoint(aPageBorderRange.getMaxX(), aPageBorderRange.getMaxY()));
312 
313  xRetval.resize(2);
316  }
317  else
318  {
319  xRetval.resize(1);
320  const basegfx::B2DPolygon aPageBorderPolygon(basegfx::utils::createPolygonFromRect(aPageBorderRange));
322  }
323 
324  return xRetval;
325 }
326 
328 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
329 {
330 }
331 
333 {
334 }
335 
337 {
338  ViewObjectContact* pRetval = new ViewObjectContactOfInnerPageBorder(rObjectContact, *this);
339  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
340 
341  return *pRetval;
342 }
343 
345 {
346  const SdrPage& rPage = getPage();
347  const basegfx::B2DRange aPageBorderRange(
348  static_cast<double>(rPage.GetLeftBorder()), static_cast<double>(rPage.GetUpperBorder()),
349  static_cast<double>(rPage.GetWidth() - rPage.GetRightBorder()), static_cast<double>(rPage.GetHeight() - rPage.GetLowerBorder()));
350  const basegfx::B2DPolygon aPageBorderPolygon(basegfx::utils::createPolygonFromRect(aPageBorderRange));
351 
352  // We have only the page information, not the view information. Use the
353  // svtools::FONTCOLOR or svtools::DOCBOUNDARIES color for initialisation
354  const svtools::ColorConfig aColorConfig;
355  Color aBorderColor;
356 
357  if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
358  {
359  aBorderColor = aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor;
360  }
361  else
362  {
363  svtools::ColorConfigValue aBorderConfig = aColorConfig.GetColorValue(svtools::DOCBOUNDARIES);
364  aBorderColor = aBorderConfig.bIsVisible ? aBorderConfig.nColor :
365  aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor;
366  }
367 
368  // create page outer border primitive
369  const basegfx::BColor aRGBBorderColor(aBorderColor.getBColor());
370  const drawinglayer::primitive2d::Primitive2DReference xReference(new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(aPageBorderPolygon, aRGBBorderColor));
371 
373 }
374 
376 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
377 {
378 }
379 
381 {
382 }
383 
385 {
386  ViewObjectContact* pRetval = new ViewObjectContactOfPageHierarchy(rObjectContact, *this);
387  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
388 
389  return *pRetval;
390 }
391 
393 {
394  // collect sub-hierarchy
396  const sal_uInt32 nObjectCount(GetObjectCount());
397 
398  // collect all sub-primitives
399  for(sal_uInt32 a(0); a < nObjectCount; a++)
400  {
401  const ViewContact& rCandidate(GetViewContact(a));
403 
404  xRetval.insert(xRetval.end(), aCandSeq.begin(), aCandSeq.end());
405  }
406 
407  return xRetval;
408 }
409 
411 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
412 {
413 }
414 
416 {
417 }
418 
420 {
421  return getPage().GetObjCount();
422 }
423 
425 {
426  SdrObject* pObj = getPage().GetObj(nIndex);
427  assert(pObj && "ViewContactOfPageHierarchy::GetViewContact: Corrupt SdrObjList (!)");
428  return pObj->GetViewContact();
429 }
430 
432 {
433  ViewObjectContact* pRetval = new ViewObjectContactOfPageGrid(rObjectContact, *this);
434  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
435 
436  return *pRetval;
437 }
438 
440 {
441  // We have only the page information, not the view information and thus no grid settings. Create empty
442  // default. For the view-dependent implementation, see ViewObjectContactOfPageGrid::createPrimitive2DSequence
444 }
445 
446 ViewContactOfGrid::ViewContactOfGrid(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront)
447 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage),
448  mbFront(bFront)
449 {
450 }
451 
453 {
454 }
455 
457 {
458  ViewObjectContact* pRetval = new ViewObjectContactOfPageHelplines(rObjectContact, *this);
459  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
460 
461  return *pRetval;
462 }
463 
465 {
466  // We have only the page information, not the view information and thus no helplines. Create empty
467  // default. For the view-dependent implementation, see ViewObjectContactOfPageHelplines::createPrimitive2DSequence
469 }
470 
472 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage),
473  mbFront(bFront)
474 {
475 }
476 
478 {
479 }
480 
481 // Create an Object-Specific ViewObjectContact, set ViewContact and
482 // ObjectContact. Always needs to return something.
484 {
485  ViewObjectContact* pRetval = new ViewObjectContactOfSdrPage(rObjectContact, *this);
486  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
487 
488  return *pRetval;
489 }
490 
492 : ViewContact(),
493  mrPage(rPage),
494  maViewContactOfPageBackground(*this),
495  maViewContactOfPageShadow(*this),
496  maViewContactOfPageFill(*this),
497  maViewContactOfMasterPage(*this),
498  maViewContactOfOuterPageBorder(*this),
499  maViewContactOfInnerPageBorder(*this),
500  maViewContactOfGridBack(*this, false),
501  maViewContactOfHelplinesBack(*this, false),
502  maViewContactOfPageHierarchy(*this),
503  maViewContactOfGridFront(*this, true),
504  maViewContactOfHelplinesFront(*this, true)
505 {
506 }
507 
509 {
510 }
511 
512 // Access to possible sub-hierarchy
514 {
515  // Fixed count of content. It contains PageBackground (Wiese), PageShadow, PageFill,
516  // then - depending on if the page has a MasterPage - either MasterPage Hierarchy
517  // or MPBGO. Also OuterPageBorder, InnerPageBorder and two pairs of Grid and Helplines
518  // (for front and back) which internally are visible or not depending on the current
519  // front/back setting for those.
520  return 11;
521 }
522 
524 {
525  switch(nIndex)
526  {
527  case 0: return const_cast<ViewContactOfPageBackground&>(maViewContactOfPageBackground);
528  case 1: return const_cast<ViewContactOfPageShadow&>(maViewContactOfPageShadow);
529  case 2: return const_cast<ViewContactOfPageFill&>(maViewContactOfPageFill);
530  case 3:
531  {
532  const SdrPage& rPage = GetSdrPage();
533 
534  if(rPage.TRG_HasMasterPage())
535  {
537  }
538  else
539  {
541  }
542  }
545  case 6: return const_cast<ViewContactOfGrid&>(maViewContactOfGridBack);
546  case 7: return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesBack);
547  case 8: return const_cast<ViewContactOfPageHierarchy&>(maViewContactOfPageHierarchy);
548  case 9: return const_cast<ViewContactOfGrid&>(maViewContactOfGridFront);
549  case 10: case 11: return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesFront);
550  default: assert(false);return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesFront);
551  }
552 }
553 
554 // React on changes of the object of this ViewContact
556 {
557  // call parent
559 
560  // apply to local viewContacts, they all rely on page information. Exception
561  // is the sub hierarchy; this will not be influenced by the change
565 
566  const SdrPage& rPage = GetSdrPage();
567 
568  if(rPage.TRG_HasMasterPage())
569  {
571  }
572  else if(rPage.IsMasterPage())
573  {
575  }
576 
583 }
584 
586 {
588 
589  // collect all sub-sequences including sub hierarchy.
593 
594  const SdrPage& rPage = GetSdrPage();
595 
596  if(rPage.TRG_HasMasterPage())
597  {
598  xRetval.append(
600  }
601  else if(rPage.IsMasterPage())
602  {
603  xRetval.append(
605  }
606 
610 
611  // Only add front versions of grid and helplines since no visibility test is done,
612  // so adding the back incarnations is not necessary. This makes the Front
613  // visualisation the default when no visibility tests are done.
614 
615  // Since we have no view here, no grid and helpline definitions are available currently. The used
616  // methods at ViewContactOfHelplines and ViewContactOfGrid return only empty sequences and
617  // do not need to be called ATM. This may change later if grid or helpline info gets
618  // model data (it should not). Keeping the lines commented to hold this hint.
619 
620  // drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, maViewContactOfGridFront.getViewIndependentPrimitive2DContainer());
621  // drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, maViewContactOfHelplinesFront.getViewIndependentPrimitive2DContainer());
622 
623  return xRetval;
624 }
625 
626 }
627 
628 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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)
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
sal_Int32 GetHeight() const
Definition: svdpage.cxx:1404
attribute::SdrFillAttribute createNewSdrFillAttribute(const SfxItemSet &rSet)
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
static const AllSettings & GetSettings()
ViewContactOfPageShadow(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
SdrObject * GetObj(size_t nNum) const
Definition: svdpage.cxx:770
sal_Int32 GetRightBorder() const
Definition: svdpage.cxx:1489
size_t GetObjCount() const
Definition: svdpage.cxx:764
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
sal_Int32 GetLowerBorder() const
Definition: svdpage.cxx:1494
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
double getMaxX() const
sal_Int32 GetLeftBorder() const
Definition: svdpage.cxx:1479
sdr::contact::ViewContact & GetViewContact() const
Definition: svdobj.cxx:248
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
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
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
double getMaxY() const
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)
#define DBG_ASSERT(sCon, aError)
uno_Any a
ViewContactOfGrid(ViewContactOfSdrPage &rParentViewContactOfSdrPage, bool bFront)
ViewContactOfOuterPageBorder(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
sal_Int32 GetUpperBorder() const
Definition: svdpage.cxx:1484
B2DPolygon createPolygonFromRect(const B2DRectangle &rRect, double fRadiusX, double fRadiusY)
ViewContactOfPageHierarchy maViewContactOfPageHierarchy
virtual void append(const Primitive2DReference &) override
ViewContactOfPageHierarchy(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
bool IsMasterPage() const
Definition: svdpage.hxx:451
const SfxItemSet & GetItemSet() const
Definition: svdpage.hxx:334
SdrPageProperties & getSdrPageProperties()
Definition: svdpage.cxx:1780
ViewContactOfPageSubObject(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
bool TRG_HasMasterPage() const
Definition: svdpage.hxx:487
Abstract DrawObject.
Definition: svdobj.hxx:258
virtual void ActionChanged()
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
void transform(const basegfx::B2DHomMatrix &rMatrix)
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
void setClosed(bool bNew)
css::uno::Reference< css::graphic::XPrimitive2D > Primitive2DReference
double getMinY() const
drawinglayer::primitive2d::Primitive2DContainer const & getViewIndependentPrimitive2DContainer() const
sdr::contact::ViewContact & TRG_GetMasterPageDescriptorViewContact() const
Definition: svdpage.cxx:1599
ViewContactOfMasterPage maViewContactOfMasterPage
ViewContactOfHelplines maViewContactOfHelplinesFront
ColorConfigValue GetColorValue(ColorConfigEntry eEntry, bool bSmart=true) const
ViewContactOfPageBackground(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
SfxStyleSheet * GetStyleSheet() const
Definition: svdpage.hxx:341
ViewContactOfInnerPageBorder maViewContactOfInnerPageBorder
bool getPageBorderOnlyLeftRight() const
Definition: svdpage.hxx:466
basegfx::BColor getBColor() const
virtual ViewContact * GetParentContact() const override
double getMinX() const
bool IsBackgroundFullSize() const
Definition: svdpage.cxx:1508
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:365
sal_Int32 GetWidth() const
Definition: svdpage.cxx:1378
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override
sal_uInt16 GetPageNum() const
Definition: svdpage.cxx:1526
Primitive2DReference createPolyPolygonFillPrimitive(const basegfx::B2DPolyPolygon &rPolyPolygon, const attribute::SdrFillAttribute &rFill, const attribute::FillGradientAttribute &rFillGradient)