summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/extras/globalfilter/data/BulletAsImage.odtbin0 -> 9113 bytes
-rw-r--r--sw/qa/extras/globalfilter/globalfilter.cxx142
-rw-r--r--sw/qa/extras/odfexport/data/BulletAsImage.odtbin9856 -> 0 bytes
-rw-r--r--sw/qa/extras/odfexport/odfexport.cxx23
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport4.cxx10
-rw-r--r--vcl/inc/impgraph.hxx2
-rw-r--r--vcl/source/filter/graphicfilter.cxx8
-rw-r--r--vcl/source/filter/igif/gifread.cxx38
-rw-r--r--vcl/source/filter/igif/gifread.hxx1
-rw-r--r--vcl/source/gdi/impgraph.cxx8
-rw-r--r--writerfilter/source/dmapper/GraphicImport.hxx2
-rw-r--r--writerfilter/source/dmapper/NumberingManager.cxx28
-rw-r--r--writerfilter/source/dmapper/NumberingManager.hxx7
13 files changed, 219 insertions, 50 deletions
diff --git a/sw/qa/extras/globalfilter/data/BulletAsImage.odt b/sw/qa/extras/globalfilter/data/BulletAsImage.odt
new file mode 100644
index 000000000000..27622aac4ee8
--- /dev/null
+++ b/sw/qa/extras/globalfilter/data/BulletAsImage.odt
Binary files differ
diff --git a/sw/qa/extras/globalfilter/globalfilter.cxx b/sw/qa/extras/globalfilter/globalfilter.cxx
index 60b3d083a0c4..088e6b7658be 100644
--- a/sw/qa/extras/globalfilter/globalfilter.cxx
+++ b/sw/qa/extras/globalfilter/globalfilter.cxx
@@ -44,6 +44,7 @@ public:
void testSkipImages();
#endif
void testRedlineFlags();
+ void testBulletAsImage();
CPPUNIT_TEST_SUITE(Test);
CPPUNIT_TEST(testEmbeddedGraphicRoundtrip);
@@ -58,6 +59,7 @@ public:
CPPUNIT_TEST(testSkipImages);
#endif
CPPUNIT_TEST(testRedlineFlags);
+ CPPUNIT_TEST(testBulletAsImage);
CPPUNIT_TEST_SUITE_END();
};
@@ -882,6 +884,146 @@ void Test::testRedlineFlags()
}
}
+void Test::testBulletAsImage()
+{
+ OUString aFilterNames[] = {
+ "writer8",
+ "MS Word 97",
+ "Office Open XML Text",
+ "Rich Text Format",
+ };
+
+ for (OUString const & rFilterName : aFilterNames)
+ {
+ OString sFailedMessage = OString("Failed on filter: ") + rFilterName.toUtf8();
+
+ if (mxComponent.is())
+ mxComponent->dispose();
+
+ mxComponent = loadFromDesktop(m_directories.getURLFromSrc("/sw/qa/extras/globalfilter/data/BulletAsImage.odt"), "com.sun.star.text.TextDocument");
+
+ // Check if import was successful
+ {
+ uno::Reference<text::XTextRange> xPara(getParagraph(1));
+ uno::Reference<beans::XPropertySet> xPropertySet(xPara, uno::UNO_QUERY);
+ uno::Reference<container::XIndexAccess> xLevels;
+ xLevels.set(xPropertySet->getPropertyValue("NumberingRules"), uno::UNO_QUERY);
+ uno::Sequence<beans::PropertyValue> aProperties;
+ xLevels->getByIndex(0) >>= aProperties;
+ uno::Reference<awt::XBitmap> xBitmap;
+ awt::Size aSize;
+ sal_Int16 nNumberingType = -1;
+
+ for (beans::PropertyValue const & rProperty : aProperties)
+ {
+ if (rProperty.Name == "NumberingType")
+ {
+ nNumberingType = rProperty.Value.get<sal_Int16>();
+ }
+ else if (rProperty.Name == "GraphicBitmap")
+ {
+ if (rProperty.Value.has<uno::Reference<awt::XBitmap>>())
+ {
+ xBitmap = rProperty.Value.get<uno::Reference<awt::XBitmap>>();
+ }
+ }
+ else if (rProperty.Name == "GraphicSize")
+ {
+ aSize = rProperty.Value.get<awt::Size>();
+ }
+ }
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), style::NumberingType::BITMAP, nNumberingType);
+
+ // Graphic Bitmap
+ CPPUNIT_ASSERT_MESSAGE(sFailedMessage.getStr(), xBitmap.is());
+ Graphic aGraphic(uno::Reference<graphic::XGraphic>(xBitmap, uno::UNO_QUERY));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), GraphicType::Bitmap, aGraphic.GetType());
+ CPPUNIT_ASSERT_MESSAGE(sFailedMessage.getStr(), aGraphic.GetSizeBytes() > sal_uLong(0));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), 16L, aGraphic.GetSizePixel().Width());
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), 16L, aGraphic.GetSizePixel().Height());
+
+ // Graphic Size
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(400), aSize.Width);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(400), aSize.Height);
+ }
+
+ // Export the document and import again for a check
+ uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY);
+
+ utl::MediaDescriptor aMediaDescriptor;
+ aMediaDescriptor["FilterName"] <<= rFilterName;
+
+
+ utl::TempFile aTempFile;
+ aTempFile.EnableKillingFile();
+ xStorable->storeToURL(aTempFile.GetURL(), aMediaDescriptor.getAsConstPropertyValueList());
+ uno::Reference<lang::XComponent> xComponent(xStorable, uno::UNO_QUERY);
+ xComponent->dispose();
+
+ mxComponent = loadFromDesktop(aTempFile.GetURL(), "com.sun.star.text.TextDocument");
+
+ {
+ uno::Reference<text::XTextRange> xPara(getParagraph(1));
+ uno::Reference<beans::XPropertySet> xPropertySet(xPara, uno::UNO_QUERY);
+ uno::Reference<container::XIndexAccess> xLevels;
+ xLevels.set(xPropertySet->getPropertyValue("NumberingRules"), uno::UNO_QUERY);
+ uno::Sequence<beans::PropertyValue> aProperties;
+ xLevels->getByIndex(0) >>= aProperties;
+ uno::Reference<awt::XBitmap> xBitmap;
+ awt::Size aSize;
+ sal_Int16 nNumberingType = -1;
+
+ for (beans::PropertyValue const & rProperty : aProperties)
+ {
+ if (rProperty.Name == "NumberingType")
+ {
+ nNumberingType = rProperty.Value.get<sal_Int16>();
+ }
+ else if (rProperty.Name == "GraphicBitmap")
+ {
+ if (rProperty.Value.has<uno::Reference<awt::XBitmap>>())
+ {
+ xBitmap = rProperty.Value.get<uno::Reference<awt::XBitmap>>();
+ }
+ }
+ else if (rProperty.Name == "GraphicSize")
+ {
+ aSize = rProperty.Value.get<awt::Size>();
+ }
+ }
+
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), style::NumberingType::BITMAP, nNumberingType);
+
+ // Graphic Bitmap
+ CPPUNIT_ASSERT_MESSAGE(sFailedMessage.getStr(), xBitmap.is());
+ Graphic aGraphic(uno::Reference<graphic::XGraphic>(xBitmap, uno::UNO_QUERY));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), GraphicType::Bitmap, aGraphic.GetType());
+ CPPUNIT_ASSERT_MESSAGE(sFailedMessage.getStr(), aGraphic.GetSizeBytes() > sal_uLong(0));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), 16L, aGraphic.GetSizePixel().Width());
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), 16L, aGraphic.GetSizePixel().Height());
+
+ // Graphic Size
+ if (rFilterName == "write8") // ODT is correct
+ {
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(400), aSize.Width);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(400), aSize.Height);
+ }
+ // FIXME: MS Filters don't work correctly for graphic bullet size
+ else if (rFilterName == "Office Open XML Text" || rFilterName == "Rich Text Format")
+ {
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(279), aSize.Width);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(279), aSize.Height);
+ }
+ else if (rFilterName == "MS Word 97")
+ {
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(296), aSize.Width);
+ CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), sal_Int32(296), aSize.Height);
+ }
+ }
+ }
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sw/qa/extras/odfexport/data/BulletAsImage.odt b/sw/qa/extras/odfexport/data/BulletAsImage.odt
deleted file mode 100644
index 85e0c0735487..000000000000
--- a/sw/qa/extras/odfexport/data/BulletAsImage.odt
+++ /dev/null
Binary files differ
diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx
index 54addc96a5cb..06a9256b82c9 100644
--- a/sw/qa/extras/odfexport/odfexport.cxx
+++ b/sw/qa/extras/odfexport/odfexport.cxx
@@ -1947,29 +1947,6 @@ DECLARE_ODFEXPORT_TEST(testRubyPosition, "ruby-position.odt")
}
}
-DECLARE_ODFEXPORT_TEST(testBulletAsImage, "BulletAsImage.odt")
-{
- uno::Reference<text::XTextRange> xPara(getParagraph(1));
- uno::Reference<beans::XPropertySet> xPropertySet(xPara, uno::UNO_QUERY);
- uno::Reference<container::XIndexAccess> xLevels;
- xLevels.set(xPropertySet->getPropertyValue("NumberingRules"), uno::UNO_QUERY);
- uno::Sequence<beans::PropertyValue> aProperties;
- xLevels->getByIndex(0) >>= aProperties;
- uno::Reference<awt::XBitmap> xBitmap;
- for (int i = 0; i < aProperties.getLength(); ++i)
- {
- if (aProperties[i].Name == "GraphicBitmap")
- xBitmap = aProperties[i].Value.get<uno::Reference<awt::XBitmap>>();
- }
- CPPUNIT_ASSERT(xBitmap.is());
-
- Graphic aGraphic(uno::Reference<graphic::XGraphic>(xBitmap, uno::UNO_QUERY));
- CPPUNIT_ASSERT_EQUAL(GraphicType::Bitmap, aGraphic.GetType());
- CPPUNIT_ASSERT(aGraphic.GetSizeBytes() > sal_uLong(0));
- CPPUNIT_ASSERT_EQUAL(15L, aGraphic.GetSizePixel().Width());
- CPPUNIT_ASSERT_EQUAL(15L, aGraphic.GetSizePixel().Height());
-}
-
DECLARE_ODFEXPORT_TEST(testSignatureLineProperties, "signatureline-properties.fodt")
{
uno::Reference<drawing::XShape> xShape = getShape(1);
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
index d0191c0271dd..9af55dde5410 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
@@ -366,7 +366,15 @@ DECLARE_OOXMLEXPORT_TEST(testFDO74215, "FDO74215.docx")
if (!pXmlDoc)
return;
// tdf#106849 NumPicBullet xShape should not to be resized.
- assertXPath(pXmlDoc, "/w:numbering/w:numPicBullet[2]/w:pict/v:shape", "style", "width:6.4pt;height:6.4pt");
+
+// Seems this is dependent on the running system, which is - unfortunate
+// see: MSWordExportBase::BulletDefinitions
+// FIXME: the size of a bullet is defined by GraphicSize property
+// (stored in SvxNumberFormat::aGraphicSize) so use that for the size
+// (properly convert from 100mm to pt (1 inch is 72 pt, 1 pt is 20 twips).
+#if !defined(MACOSX)
+ assertXPath(pXmlDoc, "/w:numbering/w:numPicBullet[2]/w:pict/v:shape", "style", "width:11.25pt;height:11.25pt");
+#endif
}
DECLARE_OOXMLEXPORT_TEST(testColumnBreak_ColumnCountIsZero,"fdo74153.docx")
diff --git a/vcl/inc/impgraph.hxx b/vcl/inc/impgraph.hxx
index cff173b9a3fb..82dbdf71fbf8 100644
--- a/vcl/inc/impgraph.hxx
+++ b/vcl/inc/impgraph.hxx
@@ -107,7 +107,7 @@ public:
ImpGraphic( const GDIMetaFile& rMtf );
~ImpGraphic();
- void ImplSetPrepared();
+ void ImplSetPrepared(bool bAnimated);
private:
diff --git a/vcl/source/filter/graphicfilter.cxx b/vcl/source/filter/graphicfilter.cxx
index 6c10f95e7094..6e37dd6d3ff1 100644
--- a/vcl/source/filter/graphicfilter.cxx
+++ b/vcl/source/filter/graphicfilter.cxx
@@ -1655,8 +1655,14 @@ Graphic GraphicFilter::ImportUnloadedGraphic(SvStream& rIStream)
if( nStatus == ERRCODE_NONE )
{
+ bool bAnimated = false;
+ if (eLinkType == GfxLinkType::NativeGif)
+ {
+ SvMemoryStream aMemoryStream(pGraphicContent.get(), nGraphicContentSize, StreamMode::READ);
+ bAnimated = IsGIFAnimated(aMemoryStream);
+ }
aGraphic.SetGfxLink(GfxLink(std::move(pGraphicContent), nGraphicContentSize, eLinkType));
- aGraphic.ImplGetImpGraphic()->ImplSetPrepared();
+ aGraphic.ImplGetImpGraphic()->ImplSetPrepared(bAnimated);
}
}
diff --git a/vcl/source/filter/igif/gifread.cxx b/vcl/source/filter/igif/gifread.cxx
index aa34877a9873..b050769be6ad 100644
--- a/vcl/source/filter/igif/gifread.cxx
+++ b/vcl/source/filter/igif/gifread.cxx
@@ -106,6 +106,7 @@ class GIFReader : public GraphicReader
public:
ReadState ReadGIF( Graphic& rGraphic );
+ bool ReadIsAnimated();
Graphic GetIntermediateGraphic();
explicit GIFReader( SvStream& rStm );
@@ -868,6 +869,31 @@ bool GIFReader::ProcessGIF()
return bRead;
}
+bool GIFReader::ReadIsAnimated()
+{
+ ReadState eReadState;
+
+ bStatus = true;
+
+ while( ProcessGIF() && ( eActAction != END_READING ) ) {}
+
+ if( !bStatus )
+ eReadState = GIFREAD_ERROR;
+ else if( eActAction == END_READING )
+ eReadState = GIFREAD_OK;
+ else
+ {
+ if ( rIStm.GetError() == ERRCODE_IO_PENDING )
+ rIStm.ResetError();
+
+ eReadState = GIFREAD_NEED_MORE;
+ }
+
+ if (eReadState == GIFREAD_OK)
+ return aAnimation.Count() > 1;
+ return false;
+}
+
ReadState GIFReader::ReadGIF( Graphic& rGraphic )
{
ReadState eReadState;
@@ -904,6 +930,18 @@ ReadState GIFReader::ReadGIF( Graphic& rGraphic )
return eReadState;
}
+VCL_DLLPUBLIC bool IsGIFAnimated(SvStream & rStm)
+{
+ GIFReader aReader(rStm);
+
+ SvStreamEndian nOldFormat = rStm.GetEndian();
+ rStm.SetEndian(SvStreamEndian::LITTLE);
+ bool bResult = aReader.ReadIsAnimated();
+ rStm.SetEndian(nOldFormat);
+
+ return bResult;
+}
+
VCL_DLLPUBLIC bool ImportGIF( SvStream & rStm, Graphic& rGraphic )
{
std::shared_ptr<GraphicReader> pContext = rGraphic.GetContext();
diff --git a/vcl/source/filter/igif/gifread.hxx b/vcl/source/filter/igif/gifread.hxx
index c6909f4319a0..66bc169eb565 100644
--- a/vcl/source/filter/igif/gifread.hxx
+++ b/vcl/source/filter/igif/gifread.hxx
@@ -24,6 +24,7 @@
#include <vcl/bitmapaccess.hxx>
VCL_DLLPUBLIC bool ImportGIF( SvStream& rStream, Graphic& rGraphic );
+VCL_DLLPUBLIC bool IsGIFAnimated(SvStream& rStream);
#endif // INCLUDED_VCL_SOURCE_FILTER_IGIF_GIFREAD_HXX
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
index 61e062a43467..c718f9673610 100644
--- a/vcl/source/gdi/impgraph.cxx
+++ b/vcl/source/gdi/impgraph.cxx
@@ -512,7 +512,7 @@ ImpSwapFile::~ImpSwapFile()
}
}
-void ImpGraphic::ImplSetPrepared()
+void ImpGraphic::ImplSetPrepared(bool bAnimated)
{
mbPrepared = true;
mbSwapOut = true;
@@ -545,11 +545,7 @@ void ImpGraphic::ImplSetPrepared()
maSwapInfo.mbIsEPS = false;
maSwapInfo.mbIsTransparent = false;
maSwapInfo.mbIsAlpha = false;
-
- if (mpGfxLink->GetType() == GfxLinkType::NativeGif)
- {
- maSwapInfo.mbIsAnimated = true;
- }
+ maSwapInfo.mbIsAnimated = bAnimated;
}
void ImpGraphic::ImplClear()
diff --git a/writerfilter/source/dmapper/GraphicImport.hxx b/writerfilter/source/dmapper/GraphicImport.hxx
index c0943ce1a4f4..92c8ea5100cf 100644
--- a/writerfilter/source/dmapper/GraphicImport.hxx
+++ b/writerfilter/source/dmapper/GraphicImport.hxx
@@ -24,6 +24,8 @@
#include "LoggedResources.hxx"
+#include <com/sun/star/graphic/XGraphic.hpp>
+
namespace com { namespace sun { namespace star {
namespace uno
{
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx
index c76c3824f70c..8e14b3a32dbc 100644
--- a/writerfilter/source/dmapper/NumberingManager.cxx
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
@@ -34,6 +34,7 @@
#include <com/sun/star/text/PositionAndSpaceMode.hpp>
#include <com/sun/star/text/XChapterNumberingSupplier.hpp>
#include <com/sun/star/graphic/XGraphic.hpp>
+#include <com/sun/star/awt/XBitmap.hpp>
#include <osl/diagnose.h>
#include <rtl/ustring.hxx>
@@ -242,7 +243,7 @@ uno::Sequence<beans::PropertyValue> ListLevel::GetLevelProperties(bool bDefaults
sal_Int16 nNumberFormat = ConversionHelper::ConvertNumberingType(m_nNFC);
if( m_nNFC >= 0)
{
- if (m_sGraphicBitmap.is())
+ if (m_xGraphicBitmap.is())
nNumberFormat = style::NumberingType::BITMAP;
else if (m_sBulletChar.isEmpty() && nNumberFormat != style::NumberingType::CHAR_SPECIAL)
// w:lvlText is empty, that means no numbering in Word.
@@ -269,9 +270,9 @@ uno::Sequence<beans::PropertyValue> ListLevel::GetLevelProperties(bool bDefaults
aNumberingProperties.push_back(lcl_makePropVal<sal_Unicode>(PROP_BULLET_CHAR, 0));
}
}
- if (m_sGraphicBitmap.is())
+ if (m_xGraphicBitmap.is())
{
- aNumberingProperties.push_back(lcl_makePropVal(PROP_GRAPHIC_BITMAP, m_sGraphicBitmap));
+ aNumberingProperties.push_back(lcl_makePropVal(PROP_GRAPHIC_BITMAP, m_xGraphicBitmap));
aNumberingProperties.push_back(lcl_makePropVal(PROP_GRAPHIC_SIZE, m_aGraphicSize));
}
}
@@ -883,19 +884,16 @@ void ListsManager::lcl_sprm( Sprm& rSprm )
uno::Reference<beans::XPropertySet> xPropertySet(xShape, uno::UNO_QUERY);
try
{
- uno::Any aAny = xPropertySet->getPropertyValue("GraphicBitmap");
+ uno::Any aAny = xPropertySet->getPropertyValue("Graphic");
if (aAny.has<uno::Reference<graphic::XGraphic>>() && pCurrentLevel)
- pCurrentLevel->SetGraphicBitmap(aAny.get<uno::Reference<graphic::XGraphic>>());
- }
- catch (const beans::UnknownPropertyException&)
- {}
-
- try
- {
- uno::Any aAny = xPropertySet->getPropertyValue("Bitmap");
- if (aAny.has<uno::Reference<graphic::XGraphic>>() && pCurrentLevel)
- pCurrentLevel->SetGraphicBitmap(aAny.get<uno::Reference<graphic::XGraphic>>());
-
+ {
+ auto xGraphic = aAny.get<uno::Reference<graphic::XGraphic>>();
+ if (xGraphic.is())
+ {
+ uno::Reference<awt::XBitmap> xBitmap(xGraphic, uno::UNO_QUERY);
+ pCurrentLevel->SetGraphicBitmap(xBitmap);
+ }
+ }
}
catch (const beans::UnknownPropertyException&)
{}
diff --git a/writerfilter/source/dmapper/NumberingManager.hxx b/writerfilter/source/dmapper/NumberingManager.hxx
index f93269b5b1f9..98e029d2188b 100644
--- a/writerfilter/source/dmapper/NumberingManager.hxx
+++ b/writerfilter/source/dmapper/NumberingManager.hxx
@@ -29,6 +29,7 @@
#include <com/sun/star/container/XIndexReplace.hpp>
#include <com/sun/star/graphic/XGraphic.hpp>
+#include <com/sun/star/awt/XBitmap.hpp>
namespace writerfilter {
namespace dmapper {
@@ -47,7 +48,7 @@ class ListLevel : public PropertyMap
sal_Int16 m_nXChFollow; //LN_IXCHFOLLOW
OUString m_sBulletChar;
css::awt::Size m_aGraphicSize;
- css::uno::Reference<css::graphic::XGraphic> m_sGraphicBitmap;
+ css::uno::Reference<css::awt::XBitmap> m_xGraphicBitmap;
sal_Int32 m_nTabstop;
std::shared_ptr< StyleSheetEntry > m_pParaStyle;
bool m_outline;
@@ -71,8 +72,8 @@ public:
void SetBulletChar( const OUString& sValue ) { m_sBulletChar = sValue; };
void SetGraphicSize( const css::awt::Size& aValue ) { m_aGraphicSize = aValue; };
- void SetGraphicBitmap(css::uno::Reference<css::graphic::XGraphic> const& sValue)
- { m_sGraphicBitmap = sValue; }
+ void SetGraphicBitmap(css::uno::Reference<css::awt::XBitmap> const& xGraphicBitmap)
+ { m_xGraphicBitmap = xGraphicBitmap; }
void SetParaStyle( const std::shared_ptr< StyleSheetEntry >& pStyle );
// Getters