58 virtual void Invoke() final override;
61 drawinglayer::primitive2d::Primitive2DContainer createPrimitive2DSequenceForPage();
64 virtual
void InvalidatePartOfView(const
basegfx::B2DRange& rRange) const override;
67 virtual
bool isOutputToPrinter() const override;
68 virtual
bool isOutputToRecordingMetaFile() const override;
69 virtual
bool isOutputToPDFFile() const override;
70 virtual
bool isDrawModeGray() const override;
71 virtual
bool isDrawModeHighContrast() const override;
72 virtual
SdrPageView* TryToGetSdrPageView() const override;
73 virtual
OutputDevice* TryToGetOutputDevice() const override;
79 mrViewObjectContactOfPageObj(rVOC)
82 setPreviewRenderer(
true);
85 SetPriority(TaskPriority::HIGH_IDLE);
89 PagePrimitiveExtractor::~PagePrimitiveExtractor()
103 void PagePrimitiveExtractor::Invoke()
109 const sal_uInt32 nVOCCount(getViewObjectContactCount());
111 for(sal_uInt32
a(0);
a < nVOCCount;
a++)
121 SdrPage* pStartPage = GetStartPage();
142 updateViewInformation2D(aNewViewInformation2D);
161 const SdrPage* pStartPage = GetStartPage();
163 if(pStartPage && !rRange.
isEmpty())
188 const SdrPageObj& rPageObject(static_cast< ViewContactOfPageObj& >(GetViewContact()).GetPageObj());
198 aPageObjectTransform.
set(0, 0, aPageObjectBound.getWidth());
199 aPageObjectTransform.
set(1, 1, aPageObjectBound.getHeight());
200 aPageObjectTransform.
set(0, 2, aPageObjectBound.getMinX());
201 aPageObjectTransform.
set(1, 2, aPageObjectBound.getMinY());
205 const bool bCreateGrayFrame(!GetObjectContact().isOutputToPrinter() || pPage);
208 if(mpExtractor && pPage)
213 const double fPageWidth(aPageSize.getWidth());
214 const double fPageHeight(aPageSize.getHeight());
219 static bool bInCreatePrimitive2D(
false);
221 if(bInCreatePrimitive2D)
224 xPageContent.resize(2);
227 const Color aBorderColor = aBorderConfig.bIsVisible ? aBorderConfig.nColor : aDocColor;
242 bInCreatePrimitive2D =
true;
245 mpExtractor->SetStartPage(pPage);
248 mpExtractor->SetViewObjectContactRedirector(GetObjectContact().GetViewObjectContactRedirector());
251 xPageContent = mpExtractor->createPrimitive2DSequenceForPage();
255 mpExtractor->SetViewObjectContactRedirector(
nullptr);
258 bInCreatePrimitive2D =
false;
262 if(!xPageContent.empty())
264 const uno::Reference< drawing::XDrawPage > xDrawPage(
GetXDrawPageForSdrPage(const_cast< SdrPage*>(pPage)));
266 xDrawPage, aPageObjectTransform, fPageWidth, fPageHeight, xPageContent));
270 else if(bCreateGrayFrame)
276 aPageObjectTransform));
285 aOwnOutline.transform(aPageObjectTransform);
290 xRetval.push_back(xGrayFrame);
309 std::unique_ptr<PagePrimitiveExtractor> pCandidate = std::move(
mpExtractor);
313 pCandidate->SetStartPage(
nullptr);
void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue)
std::unique_ptr< PagePrimitiveExtractor > mpExtractor
sal_Int32 GetHeight() const
B2DPolygon const & createUnitPolygon()
virtual ~ViewObjectContactOfPageObj() override
B2DPolygon createPolygonFromRect(const B2DRectangle &rRect, double fRadiusX, double fRadiusY)
virtual const tools::Rectangle & GetLastBoundRect() const
css::uno::Reference< css::graphic::XPrimitive2D > Primitive2DReference
SdrPage * GetReferencedPage() const
const sdr::contact::ViewContact & GetViewContact() const
Primitive2DReference createHiddenGeometryPrimitives2D(const basegfx::B2DHomMatrix &rMatrix)
uno::Reference< drawing::XDrawPage > GetXDrawPageForSdrPage(SdrPage *pPage)
returns a StarOffice API wrapper for the given SdrPage
basegfx::BColor getBColor() const
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
sal_Int32 GetWidth() const
bool overlaps(const B2DRange &rRange) const