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>
27 #include <svx/svdpagv.hxx>
28 #include <svx/svdview.hxx>
29 #include <tools/debug.hxx>
30 #include <vcl/svapp.hxx>
38 #include <vcl/lazydelete.hxx>
39 #include <vcl/settings.hxx>
42 #include <bitmaps.hlst>
43 
44 namespace sdr { namespace contact {
45 
47 : mrParentViewContactOfSdrPage(rParentViewContactOfSdrPage)
48 {
49 }
50 
52 {
53 }
54 
56 {
58 }
59 
61 {
63 }
64 
66 {
67  ViewObjectContact* pRetval = new ViewObjectContactOfPageBackground(rObjectContact, *this);
68  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
69 
70  return *pRetval;
71 }
72 
74 {
75  // We have only the page information, not the view information. Use the
76  // svtools::DOCCOLOR color for initialisation
77  const svtools::ColorConfig aColorConfig;
78  const Color aInitColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor);
79  const basegfx::BColor aRGBColor(aInitColor.getBColor());
82 
84 }
85 
87 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
88 {
89 }
90 
92 {
93 }
94 
96 {
97  ViewObjectContact* pRetval = new ViewObjectContactOfPageShadow(rObjectContact, *this);
98  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
99 
100  return *pRetval;
101 }
102 
104 {
105  static bool bUseOldPageShadow(false); // loplugin:constvars:ignore
106  const SdrPage& rPage = getPage();
107  basegfx::B2DHomMatrix aPageMatrix;
108  aPageMatrix.set(0, 0, static_cast<double>(rPage.GetWidth()));
109  aPageMatrix.set(1, 1, static_cast<double>(rPage.GetHeight()));
110 
111  if(bUseOldPageShadow)
112  {
113  // create page shadow polygon
114  const double fPageBorderFactor(1.0 / 256.0);
115  basegfx::B2DPolygon aPageShadowPolygon;
116  aPageShadowPolygon.append(basegfx::B2DPoint(1.0, fPageBorderFactor));
117  aPageShadowPolygon.append(basegfx::B2DPoint(1.0 + fPageBorderFactor, fPageBorderFactor));
118  aPageShadowPolygon.append(basegfx::B2DPoint(1.0 + fPageBorderFactor, 1.0 + fPageBorderFactor));
119  aPageShadowPolygon.append(basegfx::B2DPoint(fPageBorderFactor, 1.0 + fPageBorderFactor));
120  aPageShadowPolygon.append(basegfx::B2DPoint(fPageBorderFactor, 1.0));
121  aPageShadowPolygon.append(basegfx::B2DPoint(1.0, 1.0));
122  aPageShadowPolygon.setClosed(true);
123  aPageShadowPolygon.transform(aPageMatrix);
124 
125  // We have only the page information, not the view information. Use the
126  // svtools::FONTCOLOR color for initialisation
127  const svtools::ColorConfig aColorConfig;
128  const Color aShadowColor(aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor);
129  const basegfx::BColor aRGBShadowColor(aShadowColor.getBColor());
132  basegfx::B2DPolyPolygon(aPageShadowPolygon),
133  aRGBShadowColor));
134 
136  }
137  else
138  {
141  BitmapEx(SIP_SA_PAGESHADOW35X35)));
142 
143  if(aDiscreteShadow.get())
144  {
147  aPageMatrix,
148  *aDiscreteShadow.get()));
149 
151  }
152 
154  }
155 }
156 
158 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
159 {
160 }
161 
163 {
164 }
165 
167 {
168  ViewObjectContact* pRetval = new ViewObjectContactOfMasterPage(rObjectContact, *this);
169  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
170 
171  return *pRetval;
172 }
173 
175 {
177 
178  // this class is used when the page is a MasterPage and is responsible to
179  // create a visualisation for the MPBGO, if exists. This needs to be suppressed
180  // when a SdrPage which uses a MasterPage creates it's output. Suppression
181  // is done in the corresponding VOC since DisplayInfo data is needed
182  const SdrPage& rPage = getPage();
183 
184  if(rPage.IsMasterPage())
185  {
186  if(0 == rPage.GetPageNum())
187  {
188  // #i98063#
189  // filter MasterPage 0 since it's the HandoutPage. Thus, it's a
190  // MasterPage, but has no MPBGO, so there is nothing to do here.
191  }
192  else
193  {
195 
196  // #i110846# Suppress SdrPage FillStyle for MasterPages without StyleSheets,
197  // else the PoolDefault (XFILL_COLOR and Blue8) will be used. Normally, all
198  // MasterPages should have a StyleSheet exactly for this reason, but historically
199  // e.g. the Notes MasterPage has no StyleSheet set (and there maybe others).
200  if(rPage.getSdrPageProperties().GetStyleSheet())
201  {
202  // create page fill attributes with correct properties
204  rPage.getSdrPageProperties().GetItemSet());
205  }
206 
207  if(!aFill.isDefault())
208  {
209  // direct model data is the page size, get and use it
210  const basegfx::B2DRange aInnerRange(
211  rPage.GetLeftBorder(), rPage.GetUpperBorder(),
212  rPage.GetWidth() - rPage.GetRightBorder(), rPage.GetHeight() - rPage.GetLowerBorder());
213  const basegfx::B2DPolygon aInnerPolgon(basegfx::utils::createPolygonFromRect(aInnerRange));
216  basegfx::B2DPolyPolygon(aInnerPolgon),
217  aFill,
219 
220  xRetval = drawinglayer::primitive2d::Primitive2DContainer { xReference };
221  }
222  }
223  }
224 
225  return xRetval;
226 }
227 
229 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
230 {
231 }
232 
234 {
235 }
236 
238 {
239  ViewObjectContact* pRetval = new ViewObjectContactOfPageFill(rObjectContact, *this);
240  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
241 
242  return *pRetval;
243 }
244 
246 {
247  const SdrPage& rPage = getPage();
248  const basegfx::B2DRange aPageFillRange(0.0, 0.0, static_cast<double>(rPage.GetWidth()), static_cast<double>(rPage.GetHeight()));
249  const basegfx::B2DPolygon aPageFillPolygon(basegfx::utils::createPolygonFromRect(aPageFillRange));
250 
251  // We have only the page information, not the view information. Use the
252  // svtools::DOCCOLOR color for initialisation
253  const svtools::ColorConfig aColorConfig;
254  const Color aPageFillColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor);
255 
256  // create and add primitive
257  const basegfx::BColor aRGBColor(aPageFillColor.getBColor());
259 
261 }
262 
264 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
265 {
266 }
267 
269 {
270 }
271 
273 {
274  ViewObjectContact* pRetval = new ViewObjectContactOfOuterPageBorder(rObjectContact, *this);
275  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
276 
277  return *pRetval;
278 }
279 
281 {
283  const SdrPage& rPage = getPage();
284  const basegfx::B2DRange aPageBorderRange(0.0, 0.0, static_cast<double>(rPage.GetWidth()), static_cast<double>(rPage.GetHeight()));
285 
286  // Changed to 0x949599 for renaissance, before svtools::FONTCOLOR was used.
287  // Added old case as fallback for HighContrast.
288  basegfx::BColor aRGBBorderColor(0x94 / double(0xff), 0x95 / double(0xff), 0x99 / double(0xff));
289 
290  if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
291  {
292  const svtools::ColorConfig aColorConfig;
293  const Color aBorderColor(aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor);
294 
295  aRGBBorderColor = aBorderColor.getBColor();
296  }
297 
298  if(rPage.getPageBorderOnlyLeftRight())
299  {
300  // #i93597# for Report Designer, the page border shall be only displayed right and left,
301  // but not top and bottom. Create simplified geometry.
302  basegfx::B2DPolygon aLeft, aRight;
303 
304  aLeft.append(basegfx::B2DPoint(aPageBorderRange.getMinX(), aPageBorderRange.getMinY()));
305  aLeft.append(basegfx::B2DPoint(aPageBorderRange.getMinX(), aPageBorderRange.getMaxY()));
306 
307  aRight.append(basegfx::B2DPoint(aPageBorderRange.getMaxX(), aPageBorderRange.getMinY()));
308  aRight.append(basegfx::B2DPoint(aPageBorderRange.getMaxX(), aPageBorderRange.getMaxY()));
309 
310  xRetval.resize(2);
313  }
314  else
315  {
316  xRetval.resize(1);
317  const basegfx::B2DPolygon aPageBorderPolygon(basegfx::utils::createPolygonFromRect(aPageBorderRange));
319  }
320 
321  return xRetval;
322 }
323 
325 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
326 {
327 }
328 
330 {
331 }
332 
334 {
335  ViewObjectContact* pRetval = new ViewObjectContactOfInnerPageBorder(rObjectContact, *this);
336  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
337 
338  return *pRetval;
339 }
340 
342 {
343  const SdrPage& rPage = getPage();
344  const basegfx::B2DRange aPageBorderRange(
345  static_cast<double>(rPage.GetLeftBorder()), static_cast<double>(rPage.GetUpperBorder()),
346  static_cast<double>(rPage.GetWidth() - rPage.GetRightBorder()), static_cast<double>(rPage.GetHeight() - rPage.GetLowerBorder()));
347  const basegfx::B2DPolygon aPageBorderPolygon(basegfx::utils::createPolygonFromRect(aPageBorderRange));
348 
349  // We have only the page information, not the view information. Use the
350  // svtools::FONTCOLOR or svtools::DOCBOUNDARIES color for initialisation
351  const svtools::ColorConfig aColorConfig;
352  Color aBorderColor;
353 
354  if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
355  {
356  aBorderColor = aColorConfig.GetColorValue(svtools::FONTCOLOR).nColor;
357  }
358  else
359  {
360  svtools::ColorConfigValue aBorderConfig = aColorConfig.GetColorValue(svtools::DOCBOUNDARIES);
361  aBorderColor = aBorderConfig.bIsVisible ? aBorderConfig.nColor :
362  aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor;
363  }
364 
365  // create page outer border primitive
366  const basegfx::BColor aRGBBorderColor(aBorderColor.getBColor());
367  const drawinglayer::primitive2d::Primitive2DReference xReference(new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(aPageBorderPolygon, aRGBBorderColor));
368 
370 }
371 
373 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
374 {
375 }
376 
378 {
379 }
380 
382 {
383  ViewObjectContact* pRetval = new ViewObjectContactOfPageHierarchy(rObjectContact, *this);
384  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
385 
386  return *pRetval;
387 }
388 
390 {
391  // collect sub-hierarchy
393  const sal_uInt32 nObjectCount(GetObjectCount());
394 
395  // collect all sub-primitives
396  for(sal_uInt32 a(0); a < nObjectCount; a++)
397  {
398  const ViewContact& rCandidate(GetViewContact(a));
400 
401  xRetval.insert(xRetval.end(), aCandSeq.begin(), aCandSeq.end());
402  }
403 
404  return xRetval;
405 }
406 
408 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage)
409 {
410 }
411 
413 {
414 }
415 
417 {
418  return getPage().GetObjCount();
419 }
420 
422 {
423  SdrObject* pObj = getPage().GetObj(nIndex);
424  assert(pObj && "ViewContactOfPageHierarchy::GetViewContact: Corrupt SdrObjList (!)");
425  return pObj->GetViewContact();
426 }
427 
429 {
430  ViewObjectContact* pRetval = new ViewObjectContactOfPageGrid(rObjectContact, *this);
431  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
432 
433  return *pRetval;
434 }
435 
437 {
438  // We have only the page information, not the view information and thus no grid settings. Create empty
439  // default. For the view-dependent implementation, see ViewObjectContactOfPageGrid::createPrimitive2DSequence
441 }
442 
443 ViewContactOfGrid::ViewContactOfGrid(ViewContactOfSdrPage& rParentViewContactOfSdrPage, bool bFront)
444 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage),
445  mbFront(bFront)
446 {
447 }
448 
450 {
451 }
452 
454 {
455  ViewObjectContact* pRetval = new ViewObjectContactOfPageHelplines(rObjectContact, *this);
456  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
457 
458  return *pRetval;
459 }
460 
462 {
463  // We have only the page information, not the view information and thus no helplines. Create empty
464  // default. For the view-dependent implementation, see ViewObjectContactOfPageHelplines::createPrimitive2DSequence
466 }
467 
469 : ViewContactOfPageSubObject(rParentViewContactOfSdrPage),
470  mbFront(bFront)
471 {
472 }
473 
475 {
476 }
477 
478 // Create an Object-Specific ViewObjectContact, set ViewContact and
479 // ObjectContact. Always needs to return something.
481 {
482  ViewObjectContact* pRetval = new ViewObjectContactOfSdrPage(rObjectContact, *this);
483  DBG_ASSERT(pRetval, "ViewContact::CreateObjectSpecificViewObjectContact() failed (!)");
484 
485  return *pRetval;
486 }
487 
489 : ViewContact(),
490  mrPage(rPage),
491  maViewContactOfPageBackground(*this),
492  maViewContactOfPageShadow(*this),
493  maViewContactOfPageFill(*this),
494  maViewContactOfMasterPage(*this),
495  maViewContactOfOuterPageBorder(*this),
496  maViewContactOfInnerPageBorder(*this),
497  maViewContactOfGridBack(*this, false),
498  maViewContactOfHelplinesBack(*this, false),
499  maViewContactOfPageHierarchy(*this),
500  maViewContactOfGridFront(*this, true),
501  maViewContactOfHelplinesFront(*this, true)
502 {
503 }
504 
506 {
507 }
508 
509 // Access to possible sub-hierarchy
511 {
512  // Fixed count of content. It contains PageBackground (Wiese), PageShadow, PageFill,
513  // then - depending on if the page has a MasterPage - either MasterPage Hierarchy
514  // or MPBGO. Also OuterPageBorder, InnerPageBorder and two pairs of Grid and Helplines
515  // (for front and back) which internally are visible or not depending on the current
516  // front/back setting for those.
517  return 11;
518 }
519 
521 {
522  switch(nIndex)
523  {
524  case 0: return const_cast<ViewContactOfPageBackground&>(maViewContactOfPageBackground);
525  case 1: return const_cast<ViewContactOfPageShadow&>(maViewContactOfPageShadow);
526  case 2: return const_cast<ViewContactOfPageFill&>(maViewContactOfPageFill);
527  case 3:
528  {
529  const SdrPage& rPage = GetSdrPage();
530 
531  if(rPage.TRG_HasMasterPage())
532  {
534  }
535  else
536  {
538  }
539  }
542  case 6: return const_cast<ViewContactOfGrid&>(maViewContactOfGridBack);
543  case 7: return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesBack);
544  case 8: return const_cast<ViewContactOfPageHierarchy&>(maViewContactOfPageHierarchy);
545  case 9: return const_cast<ViewContactOfGrid&>(maViewContactOfGridFront);
546  case 10: case 11: return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesFront);
547  default: assert(false);return const_cast<ViewContactOfHelplines&>(maViewContactOfHelplinesFront);
548  }
549 }
550 
551 // React on changes of the object of this ViewContact
553 {
554  // call parent
556 
557  // apply to local viewContacts, they all rely on page information. Exception
558  // is the sub hierarchy; this will not be influenced by the change
562 
563  const SdrPage& rPage = GetSdrPage();
564 
565  if(rPage.TRG_HasMasterPage())
566  {
568  }
569  else if(rPage.IsMasterPage())
570  {
572  }
573 
580 }
581 
583 {
585 
586  // collect all sub-sequences including sub hierarchy.
590 
591  const SdrPage& rPage = GetSdrPage();
592 
593  if(rPage.TRG_HasMasterPage())
594  {
595  xRetval.append(
597  }
598  else if(rPage.IsMasterPage())
599  {
600  xRetval.append(
602  }
603 
607 
608  // Only add front versions of grid and helplines since no visibility test is done,
609  // so adding the back incarnations is not necessary. This makes the Front
610  // visualisation the default when no visibility tests are done.
611 
612  // Since we have no view here, no grid and helpline definitions are available currently. The used
613  // methods at ViewContactOfHelplines and ViewContactOfGrid return only empty sequences and
614  // do not need to be called ATM. This may change later if grid or helpline info gets
615  // model data (it should not). Keeping the lines commented to hold this hint.
616 
617  // drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, maViewContactOfGridFront.getViewIndependentPrimitive2DContainer());
618  // drawinglayer::primitive2d::appendPrimitive2DSequenceToPrimitive2DSequence(xRetval, maViewContactOfHelplinesFront.getViewIndependentPrimitive2DContainer());
619 
620  return xRetval;
621 }
622 
623 }}
624 
625 /* 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:1417
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:773
sal_Int32 GetRightBorder() const
Definition: svdpage.cxx:1502
size_t GetObjCount() const
Definition: svdpage.cxx:767
virtual drawinglayer::primitive2d::Primitive2DContainer createViewIndependentPrimitive2DSequence() const override
attribute::SdrFillAttribute createNewSdrFillAttribute(const SfxItemSet &rSet)
sal_Int32 GetLowerBorder() const
Definition: svdpage.cxx:1507
virtual ViewObjectContact & CreateObjectSpecificViewObjectContact(ObjectContact &rObjectContact) override
double getMaxX() const
sal_Int32 GetLeftBorder() const
Definition: svdpage.cxx:1492
sdr::contact::ViewContact & GetViewContact() const
Definition: svdobj.cxx:271
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
Primitive2DReference createPolyPolygonFillPrimitive(const basegfx::B2DPolyPolygon &rPolyPolygon, const attribute::SdrFillAttribute &rFill, const attribute::FillGradientAttribute &rFillGradient)
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:1497
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:335
SdrPageProperties & getSdrPageProperties()
Definition: svdpage.cxx:1779
ViewContactOfPageSubObject(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
bool TRG_HasMasterPage() const
Definition: svdpage.hxx:485
Abstract DrawObject.
Definition: svdobj.hxx:312
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)
double getMinY() const
drawinglayer::primitive2d::Primitive2DContainer const & getViewIndependentPrimitive2DContainer() const
sdr::contact::ViewContact & TRG_GetMasterPageDescriptorViewContact() const
Definition: svdpage.cxx:1598
ViewContactOfMasterPage maViewContactOfMasterPage
ViewContactOfHelplines maViewContactOfHelplinesFront
ColorConfigValue GetColorValue(ColorConfigEntry eEntry, bool bSmart=true) const
ViewContactOfPageBackground(ViewContactOfSdrPage &rParentViewContactOfSdrPage)
SfxStyleSheet * GetStyleSheet() const
Definition: svdpage.hxx:342
ViewContactOfInnerPageBorder maViewContactOfInnerPageBorder
css::uno::Reference< css::graphic::XPrimitive2D > Primitive2DReference
bool getPageBorderOnlyLeftRight() const
Definition: svdpage.hxx:466
basegfx::BColor getBColor() const
virtual ViewContact * GetParentContact() const override
double getMinX() const
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:366
sal_Int32 GetWidth() const
Definition: svdpage.cxx:1391
virtual ViewContact & GetViewContact(sal_uInt32 nIndex) const override
sal_uInt16 GetPageNum() const
Definition: svdpage.cxx:1525