LibreOffice Module filter (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
EscherPropertyContainer Class Reference

#include <escherex.hxx>

Collaboration diagram for EscherPropertyContainer:
[legend]

Public Member Functions

 EscherPropertyContainer ()
 
 EscherPropertyContainer (EscherGraphicProvider &rGraphicProvider, SvStream *pPicOutStrm, tools::Rectangle &rShapeBoundRect)
 
 ~EscherPropertyContainer ()
 
void AddOpt (sal_uInt16 nPropID, bool bBlib, sal_uInt32 nSizeReduction, SvMemoryStream &rStream)
 
void AddOpt (sal_uInt16 nPropertyID, std::u16string_view rString)
 
void AddOpt (sal_uInt16 nPropertyID, sal_uInt32 nPropValue, bool bBlib=false)
 
void AddOpt (sal_uInt16 nPropertyID, bool bBlib, sal_uInt32 nPropValue, const std::vector< sal_uInt8 > &rProp)
 
bool GetOpt (sal_uInt16 nPropertyID, sal_uInt32 &rPropValue) const
 
bool GetOpt (sal_uInt16 nPropertyID, EscherPropSortStruct &rPropValue) const
 
const EscherPropertiesGetOpts () const
 
void Commit (SvStream &rSt, sal_uInt16 nVersion=3, sal_uInt16 nRecType=ESCHER_OPT)
 
void CreateShapeProperties (const css::uno::Reference< css::drawing::XShape > &rXShape)
 
bool CreateOLEGraphicProperties (const css::uno::Reference< css::drawing::XShape > &rXOleObject)
 
bool CreateGraphicProperties (const css::uno::Reference< css::drawing::XShape > &rXShape, const GraphicObject &rGraphicObj)
 
bool CreateMediaGraphicProperties (const css::uno::Reference< css::drawing::XShape > &rXMediaObject)
 
void CreateEmbeddedBitmapProperties (css::uno::Reference< css::awt::XBitmap > const &rxBitmap, css::drawing::BitmapMode eBitmapMode)
 Creates a complex ESCHER_Prop_fillBlip containing the BLIP directly (for Excel charts). More...
 
void CreateEmbeddedHatchProperties (const css::drawing::Hatch &rHatch, const Color &rBackColor, bool bFillBackground)
 Creates a complex ESCHER_Prop_fillBlip containing a hatch style (for Excel charts). More...
 
bool CreateGraphicProperties (const css::uno::Reference< css::beans::XPropertySet > &rXPropSet, const OUString &rSource, const bool bCreateFillBitmap, const bool bCreateCroppingAttributes=false, const bool bFillBitmapModeAllowed=true, const bool bOOxmlExport=false)
 
bool CreateBlipPropertiesforOLEControl (const css::uno::Reference< css::beans::XPropertySet > &rXPropSet, const css::uno::Reference< css::drawing::XShape > &rXShape)
 
bool CreatePolygonProperties (const css::uno::Reference< css::beans::XPropertySet > &rXPropSet, sal_uInt32 nFlags, bool bBezier, css::awt::Rectangle &rGeoRect, tools::Polygon const *pPolygon=nullptr)
 
void CreateGradientProperties (const css::awt::Gradient &rGradient)
 
void CreateGradientProperties (const css::uno::Reference< css::beans::XPropertySet > &, bool bTransparentGradient=false)
 
void CreateLineProperties (const css::uno::Reference< css::beans::XPropertySet > &, bool bEdge)
 
void CreateFillProperties (const css::uno::Reference< css::beans::XPropertySet > &, bool bEdge, bool bTransparentGradient=false)
 
void CreateFillProperties (const css::uno::Reference< css::beans::XPropertySet > &, bool bEdge, const css::uno::Reference< css::drawing::XShape > &rXShape)
 
void CreateTextProperties (const css::uno::Reference< css::beans::XPropertySet > &, sal_uInt32 nText, const bool bIsCustomShape=false, const bool bIsTextFrame=true)
 
bool CreateConnectorProperties (const css::uno::Reference< css::drawing::XShape > &rXShape, EscherSolverContainer &rSolver, css::awt::Rectangle &rGeoRect, sal_uInt16 &rShapeType, ShapeFlag &rShapeFlags)
 
void CreateShadowProperties (const css::uno::Reference< css::beans::XPropertySet > &)
 
sal_Int32 GetValueForEnhancedCustomShapeParameter (const css::drawing::EnhancedCustomShapeParameter &rParameter, const std::vector< sal_Int32 > &rEquationOrder, bool bAdjustTrans=false)
 
void CreateCustomShapeProperties (const MSO_SPT eShapeType, const css::uno::Reference< css::drawing::XShape > &)
 
bool IsFontWork () const
 

Static Public Member Functions

static sal_uInt32 GetGradientColor (const css::awt::Gradient *pGradient, sal_uInt32 nStartColor)
 
static tools::PolyPolygon GetPolyPolygon (const css::uno::Reference< css::drawing::XShape > &rXShape)
 
static tools::PolyPolygon GetPolyPolygon (const css::uno::Any &rSource)
 
static MSO_SPT GetCustomShapeType (const css::uno::Reference< css::drawing::XShape > &rXShape, ShapeFlag &nMirrorFlags, OUString &rShapeType, bool bOOXML=false)
 
static bool GetLineArrow (const bool bLineStart, const css::uno::Reference< css::beans::XPropertySet > &rXPropSet, ESCHER_LineEnd &reLineEnd, sal_Int32 &rnArrowLength, sal_Int32 &rnArrowWidth)
 
static bool IsDefaultObject (const SdrObjCustomShape &rSdrObjCustomShape, const MSO_SPT eShapeType)
 
static void LookForPolarHandles (const MSO_SPT eShapeType, sal_Int32 &nAdjustmentsWhichNeedsToBeConverted)
 
static bool GetAdjustmentValue (const css::drawing::EnhancedCustomShapeAdjustmentValue &rkProp, sal_Int32 nIndex, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, sal_Int32 &nValue)
 

Private Member Functions

void ImplCreateGraphicAttributes (const css::uno::Reference< css::beans::XPropertySet > &rXPropSet, sal_uInt32 nBlibId, bool bCreateCroppingAttributes)
 
bool ImplCreateEmbeddedBmp (GraphicObject const &rGraphicObject)
 
SAL_DLLPRIVATE EscherPropertyContainer (EscherGraphicProvider *pGraphProv, SvStream *pPiOutStrm, tools::Rectangle *pBoundRect)
 

Static Private Member Functions

static sal_uInt32 ImplGetColor (const sal_uInt32 rColor, bool bSwap=true)
 

Private Attributes

EscherGraphicProviderpGraphicProvider
 
SvStreampPicOutStrm
 
tools::RectanglepShapeBoundRect
 
sal_uInt32 nCountCount
 
sal_uInt32 nCountSize
 
std::vector< EscherPropSortStructpSortStruct
 
bool bHasComplexData
 

Detailed Description

Definition at line 662 of file escherex.hxx.

Constructor & Destructor Documentation

◆ EscherPropertyContainer() [1/3]

EscherPropertyContainer::EscherPropertyContainer ( EscherGraphicProvider pGraphProv,
SvStream pPiOutStrm,
tools::Rectangle pBoundRect 
)
explicitprivate

Definition at line 148 of file escherex.cxx.

References pSortStruct.

◆ EscherPropertyContainer() [2/3]

EscherPropertyContainer::EscherPropertyContainer ( )

Definition at line 161 of file escherex.cxx.

◆ EscherPropertyContainer() [3/3]

EscherPropertyContainer::EscherPropertyContainer ( EscherGraphicProvider rGraphicProvider,
SvStream pPicOutStrm,
tools::Rectangle rShapeBoundRect 
)

Definition at line 165 of file escherex.cxx.

◆ ~EscherPropertyContainer()

EscherPropertyContainer::~EscherPropertyContainer ( )

Definition at line 172 of file escherex.cxx.

Member Function Documentation

◆ AddOpt() [1/4]

void EscherPropertyContainer::AddOpt ( sal_uInt16  nPropertyID,
bool  bBlib,
sal_uInt32  nPropValue,
const std::vector< sal_uInt8 > &  rProp 
)

Definition at line 230 of file escherex.cxx.

References bHasComplexData, gentoken::i, nCountCount, nCountSize, and pSortStruct.

◆ AddOpt() [2/4]

void EscherPropertyContainer::AddOpt ( sal_uInt16  nPropertyID,
sal_uInt32  nPropValue,
bool  bBlib = false 
)

Definition at line 202 of file escherex.cxx.

References AddOpt().

◆ AddOpt() [3/4]

void EscherPropertyContainer::AddOpt ( sal_uInt16  nPropertyID,
std::u16string_view  rString 
)

Definition at line 210 of file escherex.cxx.

References aBuf, AddOpt(), and gentoken::i.

◆ AddOpt() [4/4]

void EscherPropertyContainer::AddOpt ( sal_uInt16  nPropID,
bool  bBlib,
sal_uInt32  nSizeReduction,
SvMemoryStream rStream 
)

◆ Commit()

void EscherPropertyContainer::Commit ( SvStream rSt,
sal_uInt16  nVersion = 3,
sal_uInt16  nRecType = ESCHER_OPT 
)

◆ CreateBlipPropertiesforOLEControl()

bool EscherPropertyContainer::CreateBlipPropertiesforOLEControl ( const css::uno::Reference< css::beans::XPropertySet > &  rXPropSet,
const css::uno::Reference< css::drawing::XShape > &  rXShape 
)

◆ CreateConnectorProperties()

bool EscherPropertyContainer::CreateConnectorProperties ( const css::uno::Reference< css::drawing::XShape > &  rXShape,
EscherSolverContainer rSolver,
css::awt::Rectangle &  rGeoRect,
sal_uInt16 &  rShapeType,
ShapeFlag rShapeFlags 
)

◆ CreateCustomShapeProperties()

void EscherPropertyContainer::CreateCustomShapeProperties ( const MSO_SPT  eShapeType,
const css::uno::Reference< css::drawing::XShape > &   
)

Definition at line 2582 of file escherex.cxx.

References AddOpt(), aSegments, BottomRight, Command, ConvertEnhancedCustomShapeEquation(), DFF_Prop_adjustValue, DFF_Prop_c3DAmbientIntensity, DFF_Prop_c3DDiffuseAmt, DFF_Prop_c3DExtrudeBackward, DFF_Prop_c3DExtrudeForward, DFF_Prop_c3DExtrusionColor, DFF_Prop_c3DFillIntensity, DFF_Prop_c3DFillX, DFF_Prop_c3DFillY, DFF_Prop_c3DFillZ, DFF_Prop_c3DKeyIntensity, DFF_Prop_c3DKeyX, DFF_Prop_c3DKeyY, DFF_Prop_c3DKeyZ, DFF_Prop_c3DOriginX, DFF_Prop_c3DOriginY, DFF_Prop_c3DRenderMode, DFF_Prop_c3DRotationCenterX, DFF_Prop_c3DRotationCenterY, DFF_Prop_c3DRotationCenterZ, DFF_Prop_c3DShininess, DFF_Prop_c3DSkewAmount, DFF_Prop_c3DSkewAngle, DFF_Prop_c3DSpecularAmt, DFF_Prop_c3DTolerance, DFF_Prop_c3DXRotationAngle, DFF_Prop_c3DXViewpoint, DFF_Prop_c3DYRotationAngle, DFF_Prop_c3DYViewpoint, DFF_Prop_c3DZViewpoint, DFF_Prop_cdirFont, DFF_Prop_connectorPoints, DFF_Prop_connectorType, DFF_Prop_fc3DFillHarsh, DFF_Prop_fc3DLightFace, DFF_Prop_fFillOK, DFF_Prop_geoBottom, DFF_Prop_geoLeft, DFF_Prop_geoRight, DFF_Prop_geoTop, DFF_Prop_gtextAlign, DFF_Prop_gtextFont, DFF_Prop_gtextFStrikethrough, DFF_Prop_gtextSpacing, DFF_Prop_gtextUNICODE, DFF_Prop_Handles, DFF_Prop_pFormulas, DFF_Prop_pSegmentInfo, DFF_Prop_pVertices, DFF_Prop_stretchPointX, DFF_Prop_stretchPointY, DFF_Prop_textRectangles, ESCHER_Prop_gtextSize, First, basegfx::fround(), GetAdjustmentValue(), SdrObject::GetMergedItem(), GetOpt(), SdrTextObj::GetOutlinerParaObject(), EscherPropertyValueHelper::GetPropertyValue(), SdrObject::getSdrObjectFromXShape(), GetValueForEnhancedCustomShapeHandleParameter(), GetValueForEnhancedCustomShapeParameter(), gtextFBestFit, gtextFShrinkFit, gtextFStretch, gentoken::i, ImplGetColor(), IsDefaultObject(), OutlinerParaObject::IsEffectivelyVertical(), LookForPolarHandles(), mso_alignTextCenter, mso_alignTextLeft, mso_alignTextRight, mso_alignTextStretch, mso_alignTextWordJust, mso_cdir180, mso_cdir270, mso_cdir90, mso_FullRender, mso_Wireframe, msopathClose, msopathCurveTo, msopathEnd, msopathEscape, msopathMoveTo, nCount, nElements, nValue, SAL_MAX_INT16, SAL_MIN_INT16, SDRATTR_TEXT_FITTOSIZE(), TopLeft, u, UNKNOWN, use_gtextFBestFit, use_gtextFShrinkFit, use_gtextFStretch, uno::Any::Value, SvStream::WriteInt16(), SvStream::WriteInt32(), SvStream::WriteUInt16(), SvStream::WriteUInt32(), X, and Y.

Referenced by ImplEESdrWriter::ImplWriteShape().

◆ CreateEmbeddedBitmapProperties()

void EscherPropertyContainer::CreateEmbeddedBitmapProperties ( css::uno::Reference< css::awt::XBitmap > const &  rxBitmap,
css::drawing::BitmapMode  eBitmapMode 
)

Creates a complex ESCHER_Prop_fillBlip containing the BLIP directly (for Excel charts).

Definition at line 1414 of file escherex.cxx.

References AddOpt(), ESCHER_FillPicture, ESCHER_FillTexture, ESCHER_Prop_fillType, GraphicObject::GetType(), ImplCreateEmbeddedBmp(), and Graphic::IsNone().

◆ CreateEmbeddedHatchProperties()

void EscherPropertyContainer::CreateEmbeddedHatchProperties ( const css::drawing::Hatch &  rHatch,
const Color rBackColor,
bool  bFillBackground 
)

Creates a complex ESCHER_Prop_fillBlip containing a hatch style (for Excel charts).

Definition at line 1465 of file escherex.cxx.

References AddOpt(), ESCHER_FillTexture, ESCHER_Prop_fillType, ImplCreateEmbeddedBmp(), and pShapeBoundRect.

◆ CreateFillProperties() [1/2]

void EscherPropertyContainer::CreateFillProperties ( const css::uno::Reference< css::beans::XPropertySet > &  ,
bool  bEdge,
bool  bTransparentGradient = false 
)

◆ CreateFillProperties() [2/2]

void EscherPropertyContainer::CreateFillProperties ( const css::uno::Reference< css::beans::XPropertySet > &  ,
bool  bEdge,
const css::uno::Reference< css::drawing::XShape > &  rXShape 
)

◆ CreateGradientProperties() [1/2]

void EscherPropertyContainer::CreateGradientProperties ( const css::awt::Gradient &  rGradient)

◆ CreateGradientProperties() [2/2]

void EscherPropertyContainer::CreateGradientProperties ( const css::uno::Reference< css::beans::XPropertySet > &  ,
bool  bTransparentGradient = false 
)

◆ CreateGraphicProperties() [1/2]

bool EscherPropertyContainer::CreateGraphicProperties ( const css::uno::Reference< css::beans::XPropertySet > &  rXPropSet,
const OUString &  rSource,
const bool  bCreateFillBitmap,
const bool  bCreateCroppingAttributes = false,
const bool  bFillBitmapModeAllowed = true,
const bool  bOOxmlExport = false 
)

◆ CreateGraphicProperties() [2/2]

bool EscherPropertyContainer::CreateGraphicProperties ( const css::uno::Reference< css::drawing::XShape > &  rXShape,
const GraphicObject rGraphicObj 
)

◆ CreateLineProperties()

void EscherPropertyContainer::CreateLineProperties ( const css::uno::Reference< css::beans::XPropertySet > &  ,
bool  bEdge 
)

◆ CreateMediaGraphicProperties()

bool EscherPropertyContainer::CreateMediaGraphicProperties ( const css::uno::Reference< css::drawing::XShape > &  rXMediaObject)

◆ CreateOLEGraphicProperties()

bool EscherPropertyContainer::CreateOLEGraphicProperties ( const css::uno::Reference< css::drawing::XShape > &  rXOleObject)

◆ CreatePolygonProperties()

bool EscherPropertyContainer::CreatePolygonProperties ( const css::uno::Reference< css::beans::XPropertySet > &  rXPropSet,
sal_uInt32  nFlags,
bool  bBezier,
css::awt::Rectangle &  rGeoRect,
tools::Polygon const *  pPolygon = nullptr 
)

◆ CreateShadowProperties()

void EscherPropertyContainer::CreateShadowProperties ( const css::uno::Reference< css::beans::XPropertySet > &  )

◆ CreateShapeProperties()

void EscherPropertyContainer::CreateShapeProperties ( const css::uno::Reference< css::drawing::XShape > &  rXShape)

◆ CreateTextProperties()

void EscherPropertyContainer::CreateTextProperties ( const css::uno::Reference< css::beans::XPropertySet > &  ,
sal_uInt32  nText,
const bool  bIsCustomShape = false,
const bool  bIsTextFrame = true 
)

◆ GetAdjustmentValue()

bool EscherPropertyContainer::GetAdjustmentValue ( const css::drawing::EnhancedCustomShapeAdjustmentValue &  rkProp,
sal_Int32  nIndex,
sal_Int32  nAdjustmentsWhichNeedsToBeConverted,
sal_Int32 &  nValue 
)
static

Definition at line 2558 of file escherex.cxx.

References nIndex, and nValue.

Referenced by CreateCustomShapeProperties().

◆ GetCustomShapeType()

MSO_SPT EscherPropertyContainer::GetCustomShapeType ( const css::uno::Reference< css::drawing::XShape > &  rXShape,
ShapeFlag nMirrorFlags,
OUString &  rShapeType,
bool  bOOXML = false 
)
static

◆ GetGradientColor()

sal_uInt32 EscherPropertyContainer::GetGradientColor ( const css::awt::Gradient *  pGradient,
sal_uInt32  nStartColor 
)
static

Definition at line 366 of file escherex.cxx.

References ColorTransparency, Color::GetBlue(), Color::GetGreen(), and Color::GetRed().

◆ GetLineArrow()

bool EscherPropertyContainer::GetLineArrow ( const bool  bLineStart,
const css::uno::Reference< css::beans::XPropertySet > &  rXPropSet,
ESCHER_LineEnd reLineEnd,
sal_Int32 &  rnArrowLength,
sal_Int32 &  rnArrowWidth 
)
static

◆ GetOpt() [1/2]

bool EscherPropertyContainer::GetOpt ( sal_uInt16  nPropertyID,
EscherPropSortStruct rPropValue 
) const

Definition at line 283 of file escherex.cxx.

References gentoken::i, and pSortStruct.

◆ GetOpt() [2/2]

bool EscherPropertyContainer::GetOpt ( sal_uInt16  nPropertyID,
sal_uInt32 &  rPropValue 
) const

◆ GetOpts()

const EscherProperties & EscherPropertyContainer::GetOpts ( ) const

Definition at line 296 of file escherex.cxx.

References pSortStruct.

◆ GetPolyPolygon() [1/2]

static tools::PolyPolygon EscherPropertyContainer::GetPolyPolygon ( const css::uno::Any &  rSource)
static

◆ GetPolyPolygon() [2/2]

static tools::PolyPolygon EscherPropertyContainer::GetPolyPolygon ( const css::uno::Reference< css::drawing::XShape > &  rXShape)
static

◆ GetValueForEnhancedCustomShapeParameter()

sal_Int32 EscherPropertyContainer::GetValueForEnhancedCustomShapeParameter ( const css::drawing::EnhancedCustomShapeParameter &  rParameter,
const std::vector< sal_Int32 > &  rEquationOrder,
bool  bAdjustTrans = false 
)

Definition at line 2339 of file escherex.cxx.

References DFF_Prop_adjustValue, GetOpt(), nIndex, and nValue.

Referenced by CreateCustomShapeProperties().

◆ ImplCreateEmbeddedBmp()

bool EscherPropertyContainer::ImplCreateEmbeddedBmp ( GraphicObject const &  rGraphicObject)
private

◆ ImplCreateGraphicAttributes()

void EscherPropertyContainer::ImplCreateGraphicAttributes ( const css::uno::Reference< css::beans::XPropertySet > &  rXPropSet,
sal_uInt32  nBlibId,
bool  bCreateCroppingAttributes 
)
private

◆ ImplGetColor()

sal_uInt32 EscherPropertyContainer::ImplGetColor ( const sal_uInt32  rColor,
bool  bSwap = true 
)
staticprivate

◆ IsDefaultObject()

bool EscherPropertyContainer::IsDefaultObject ( const SdrObjCustomShape rSdrObjCustomShape,
const MSO_SPT  eShapeType 
)
static

◆ IsFontWork()

bool EscherPropertyContainer::IsFontWork ( ) const

Definition at line 346 of file escherex.cxx.

References DFF_Prop_gtextFStrikethrough, and GetOpt().

Referenced by ImplEESdrWriter::ImplWriteShape().

◆ LookForPolarHandles()

void EscherPropertyContainer::LookForPolarHandles ( const MSO_SPT  eShapeType,
sal_Int32 &  nAdjustmentsWhichNeedsToBeConverted 
)
static

Member Data Documentation

◆ bHasComplexData

bool EscherPropertyContainer::bHasComplexData
private

Definition at line 674 of file escherex.hxx.

Referenced by AddOpt(), and Commit().

◆ nCountCount

sal_uInt32 EscherPropertyContainer::nCountCount
private

Definition at line 668 of file escherex.hxx.

Referenced by AddOpt(), and Commit().

◆ nCountSize

sal_uInt32 EscherPropertyContainer::nCountSize
private

Definition at line 669 of file escherex.hxx.

Referenced by AddOpt(), and Commit().

◆ pGraphicProvider

EscherGraphicProvider* EscherPropertyContainer::pGraphicProvider
private

Definition at line 664 of file escherex.hxx.

Referenced by CreateBlipPropertiesforOLEControl(), and ImplCreateGraphicAttributes().

◆ pPicOutStrm

SvStream* EscherPropertyContainer::pPicOutStrm
private

Definition at line 665 of file escherex.hxx.

Referenced by CreateBlipPropertiesforOLEControl().

◆ pShapeBoundRect

tools::Rectangle* EscherPropertyContainer::pShapeBoundRect
private

◆ pSortStruct

std::vector<EscherPropSortStruct> EscherPropertyContainer::pSortStruct
private

Definition at line 672 of file escherex.hxx.

Referenced by AddOpt(), Commit(), EscherPropertyContainer(), GetOpt(), and GetOpts().


The documentation for this class was generated from the following files: