32 #include <com/sun/star/beans/XPropertySet.hpp>
33 #include <osl/diagnose.h>
41 sal_Int16 getPageNumber(
const uno::Reference< drawing::XDrawPage >& rxDrawPage)
44 uno::Reference< beans::XPropertySet > xSet(rxDrawPage, uno::UNO_QUERY);
50 const uno::Any aNumber(xSet->getPropertyValue(
"Number"));
53 catch(
const uno::Exception&)
62 sal_Int16
getPageCount(
const uno::Reference< drawing::XDrawPage >& rxDrawPage)
77 nRetval = (
static_cast<sal_Int16
>(nPageCount) - 1) / 2;
96 SdrTextPrimitive2D::SdrTextPrimitive2D(
99 : mrSdrText(const_cast<
SdrText* >(pSdrText)),
100 maOutlinerParaObject(rOutlinerParaObject),
103 mbContainsPageField(
false),
104 mbContainsPageCountField(
false),
105 mbContainsOtherFields(
false)
121 if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
139 uno::Reference< drawing::XDrawPage > xCurrentlyVisualizingPage;
140 bool bCurrentlyVisualizingPageIsSet(
false);
141 Color aNewTextBackgroundColor;
142 bool bNewTextBackgroundColorIsSet(
false);
143 sal_Int16 nCurrentlyValidPageNumber(0);
144 sal_Int16 nCurrentlyValidPageCount(0);
148 bool bDoDelete(
false);
155 bCurrentlyVisualizingPageIsSet =
true;
165 nCurrentlyValidPageNumber = getPageNumber(xCurrentlyVisualizingPage);
176 nCurrentlyValidPageCount =
getPageCount(xCurrentlyVisualizingPage);
190 bNewTextBackgroundColorIsSet =
true;
213 nCurrentlyValidPageNumber = getPageNumber(xCurrentlyVisualizingPage);
218 nCurrentlyValidPageCount =
getPageCount(xCurrentlyVisualizingPage);
221 if(!bNewTextBackgroundColorIsSet &&
getSdrText())
254 maUnitPolyPolygon(rUnitPolyPolygon),
255 maObjectTransform(rObjectTransform)
261 if(SdrTextPrimitive2D::operator==(rPrimitive))
303 maPathPolyPolygon(rPathPolyPolygon),
304 maSdrFormTextAttribute(rSdrFormTextAttribute)
310 if(SdrTextPrimitive2D::operator==(rPrimitive))
355 bool bFixedCellHeight,
360 maTextRangeTransform(rTextRangeTransform),
361 maSdrTextHorzAdjust(aSdrTextHorzAdjust),
362 maSdrTextVertAdjust(aSdrTextVertAdjust),
363 mbFixedCellHeight(bFixedCellHeight),
364 mbUnlimitedPage(bUnlimitedPage),
365 mbCellText(bCellText),
366 mbWordWrap(bWordWrap)
372 if(SdrTextPrimitive2D::operator==(rPrimitive))
421 const ::basegfx::B2DHomMatrix& rTextRangeTransform,
424 maTextRangeTransform(rTextRangeTransform),
425 mbWordWrap(bWordWrap)
431 if(SdrTextPrimitive2D::operator==(rPrimitive))
461 maTextRangeTransform(rTextRangeTransform)
474 if(SdrTextPrimitive2D::operator==(rPrimitive))
508 bool bFixedCellHeight)
510 maTextRangeTransform(rTextRangeTransform),
511 mbFixedCellHeight(bFixedCellHeight)
517 if(SdrTextPrimitive2D::operator==(rPrimitive))
SdrOutliner & GetDrawOutliner(const SdrTextObj *pObj=nullptr) const
bool isFixedCellHeight() const
virtual void create2DDecomposition(Primitive2DContainer &rContainer, const geometry::ViewInformation2D &aViewInformation) const override
virtual rtl::Reference< SdrTextPrimitive2D > createTransformedClone(const ::basegfx::B2DHomMatrix &rTransform) const override
static constexpr auto CLASS_ID
#define PRIMITIVE2D_ID_SDRCONTOURTEXTPRIMITIVE2D
void impDecomposeContourTextPrimitive(drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrContourTextPrimitive2D &rSdrContourTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
virtual void create2DDecomposition(Primitive2DContainer &rContainer, const geometry::ViewInformation2D &aViewInformation) const override
static constexpr auto CLASS_ID
virtual sal_uInt32 getPrimitive2DID() const override
bool isWrongListEqual(const OutlinerParaObject &rCompare) const
virtual bool operator==(const BasePrimitive2D &rPrimitive) const override
const basegfx::B2DHomMatrix & getTextRangeTransform() const
const OutlinerParaObject & getOutlinerParaObject() const
bool getUnlimitedPage() const
virtual bool operator==(const BasePrimitive2D &rPrimitive) const override
bool mbContainsOtherFields
virtual void create2DDecomposition(Primitive2DContainer &rContainer, const geometry::ViewInformation2D &aViewInformation) const override
virtual void get2DDecomposition(Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override
static void encapsulateWithTextHierarchyBlockPrimitive2D(Primitive2DContainer &rContainer, Primitive2DContainer &&aCandidate)
virtual bool operator==(const BasePrimitive2D &rPrimitive) const override
SdrChainedTextPrimitive2D(const SdrText *pSdrText, const OutlinerParaObject &rOutlinerParaObjectPtrs, const ::basegfx::B2DHomMatrix &rTextRangeTransform)
bool isFixedCellHeight() const
virtual rtl::Reference< SdrTextPrimitive2D > createTransformedClone(const basegfx::B2DHomMatrix &rTransform) const override
SdrTextVertAdjust getSdrTextVertAdjust() const
sal_Int16 mnLastPageCount
virtual rtl::Reference< SdrTextPrimitive2D > createTransformedClone(const basegfx::B2DHomMatrix &rTransform) const override
virtual bool operator==(const BasePrimitive2D &rPrimitive) const override
SdrBlockTextPrimitive2D(const SdrText *pSdrText, const OutlinerParaObject &rOutlinerParaObjectPtr, const basegfx::B2DHomMatrix &rTextRangeTransform, SdrTextHorzAdjust aSdrTextHorzAdjust, SdrTextVertAdjust aSdrTextVertAdjust, bool bFixedCellHeight, bool bUnlimitedPage, bool bCellText, bool bWordWrap)
const basegfx::B2DPolyPolygon & getUnitPolyPolygon() const
void impDecomposeBlockTextPrimitive(drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrBlockTextPrimitive2D &rSdrBlockTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
virtual bool operator==(const BasePrimitive2D &rPrimitive) const override
#define PRIMITIVE2D_ID_SDRAUTOFITTEXTPRIMITIVE2D
Color maLastTextBackgroundColor
virtual sal_uInt32 getPrimitive2DID() const override
virtual bool operator==(const BasePrimitive2D &rPrimitive) const override
const attribute::SdrFormTextAttribute & getSdrFormTextAttribute() const
SdrPathTextPrimitive2D(const SdrText *pSdrText, const OutlinerParaObject &rOutlinerParaObjectPtr, const basegfx::B2DPolyPolygon &rPathPolyPolygon, const attribute::SdrFormTextAttribute &rSdrFormTextAttribute)
void impDecomposeChainedTextPrimitive(drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrChainedTextPrimitive2D &rSdrChainedTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
void impDecomposeStretchTextPrimitive(drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrStretchTextPrimitive2D &rSdrStretchTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
virtual sal_uInt32 getPrimitive2DID() const override
const EditTextObject & GetTextObject() const
virtual rtl::Reference< SdrTextPrimitive2D > createTransformedClone(const basegfx::B2DHomMatrix &rTransform) const override
const Primitive2DContainer & getBuffered2DDecomposition() const
#define PRIMITIVE2D_ID_SDRSTRETCHTEXTPRIMITIVE2D
virtual void get2DDecomposition(Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override
const basegfx::B2DPolyPolygon & getPathPolyPolygon() const
virtual sal_uInt32 getPrimitive2DID() const override
SdrTextObj & GetObject() const
virtual sal_uInt32 getPrimitive2DID() const override
#define PRIMITIVE2D_ID_SDRBLOCKTEXTPRIMITIVE2D
virtual void create2DDecomposition(Primitive2DContainer &rContainer, const geometry::ViewInformation2D &aViewInformation) const override
sal_uInt16 getHandoutPageCount() const
SdrAutoFitTextPrimitive2D(const SdrText *pSdrText, const OutlinerParaObject &rOutlinerParaObjectPtr, const ::basegfx::B2DHomMatrix &rTextRangeTransform, bool bWordWrap)
SdrModel & getSdrModelFromSdrObject() const
void transform(const basegfx::B2DHomMatrix &rMatrix)
#define PRIMITIVE2D_ID_SDRCHAINEDTEXTPRIMITIVE2D
virtual void create2DDecomposition(Primitive2DContainer &rContainer, const geometry::ViewInformation2D &aViewInformation) const override
static constexpr auto CLASS_ID
virtual bool HasField(sal_Int32 nType=css::text::textfield::Type::UNSPECIFIED) const =0
bool IsMasterPage() const
css::uno::Reference< css::drawing::XDrawPage > mxLastVisualizingPage
SdrStretchTextPrimitive2D(const SdrText *pSdrText, const OutlinerParaObject &rOutlinerParaObjectPtr, const basegfx::B2DHomMatrix &rTextRangeTransform, bool bFixedCellHeight)
virtual rtl::Reference< SdrTextPrimitive2D > createTransformedClone(const basegfx::B2DHomMatrix &rTransform) const override
sal_Int32 getPageCount(const uno::Reference< frame::XModel > &xModel)
void impDecomposePathTextPrimitive(drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrPathTextPrimitive2D &rSdrPathTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
const basegfx::B2DHomMatrix & getObjectTransform() const
SdrPage * GetSdrPageFromXDrawPage(const uno::Reference< drawing::XDrawPage > &xDrawPage) noexcept
returns the SdrObject from the given StarOffice API wrapper
SdrModel & getSdrModelFromSdrPage() const
SdrContourTextPrimitive2D(const SdrText *pSdrText, const OutlinerParaObject &rOutlinerParaObjectPtr, const basegfx::B2DPolyPolygon &rUnitPolyPolygon, const basegfx::B2DHomMatrix &rObjectTransform)
static constexpr auto CLASS_ID
virtual void create2DDecomposition(Primitive2DContainer &rContainer, const geometry::ViewInformation2D &aViewInformation) const override
sal_Int16 mnLastPageNumber
const OutlinerParaObject maOutlinerParaObject
::tools::WeakReference< SdrText > mrSdrText
void impDecomposeAutoFitTextPrimitive(drawinglayer::primitive2d::Primitive2DContainer &rTarget, const drawinglayer::primitive2d::SdrAutoFitTextPrimitive2D &rSdrAutofitTextPrimitive, const drawinglayer::geometry::ViewInformation2D &aViewInformation) const
const basegfx::B2DHomMatrix & getTextRangeTransform() const
const basegfx::B2DHomMatrix & getTextRangeTransform() const
bool mbContainsPageCountField
virtual sal_uInt32 getPrimitive2DID() const override
virtual bool operator==(const BasePrimitive2D &rPrimitive) const override
virtual rtl::Reference< SdrTextPrimitive2D > createTransformedClone(const basegfx::B2DHomMatrix &rTransform) const override
const SdrText * getSdrText() const
const basegfx::B2DHomMatrix & getTextRangeTransform() const
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
SdrTextHorzAdjust getSdrTextHorzAdjust() const
sal_uInt16 GetPageNum() const
void setBuffered2DDecomposition(Primitive2DContainer &&rNew)
sal_uInt16 GetPageCount() const
Color const & GetBackgroundColor() const
bool m_bDetectedRangeSegmentation false
#define PRIMITIVE2D_ID_SDRPATHTEXTPRIMITIVE2D