diff options
author | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2013-08-21 21:30:41 +0200 |
---|---|---|
committer | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2013-08-23 21:01:37 +0200 |
commit | f8b6c3949e2c1f23549a2ef879e728cdb7149235 (patch) | |
tree | 256fc0266b2f32d3cc2c868f26c954c8ecc21a04 /sw/qa | |
parent | 9509a46683e40fc2feea6631b701b766797b7882 (diff) |
CharBrd 7: Border shadow
1, New character attribute
- Add the three shadow members to font
(width, color, location)
2, Painting
- Extract the shadow painting to a local function
and use that for character shadow (paintfrm.cxx)
- Reduce the painting rectangle of background
(shadow doesn't inherites the background of content)
3, Border merge
- Use text portion join members to skip shadow
when neccessary.
4, Vertical text
- Get shadow space dependant from oritentation and
border merge.
5, UNO API and ODF filter
Paragraph: ParaShadowFormat -> Character: CharShadowFormat
Change-Id: Ief4669990d238016c3ffc18a2609a3df7d9dddbf
Diffstat (limited to 'sw/qa')
-rw-r--r-- | sw/qa/extras/odfexport/data/charborder.odt | bin | 8841 -> 8607 bytes | |||
-rw-r--r-- | sw/qa/extras/odfexport/odfexport.cxx | 22 |
2 files changed, 22 insertions, 0 deletions
diff --git a/sw/qa/extras/odfexport/data/charborder.odt b/sw/qa/extras/odfexport/data/charborder.odt Binary files differindex 9f37d58b76c1..8395625baf88 100644 --- a/sw/qa/extras/odfexport/data/charborder.odt +++ b/sw/qa/extras/odfexport/data/charborder.odt diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx index 3a248b29575d..b838312df93f 100644 --- a/sw/qa/extras/odfexport/odfexport.cxx +++ b/sw/qa/extras/odfexport/odfexport.cxx @@ -10,6 +10,7 @@ #include <swmodeltestbase.hxx> #include <com/sun/star/awt/Gradient.hpp> #include <com/sun/star/drawing/FillStyle.hpp> +#include <com/sun/star/table/ShadowFormat.hpp> class Test : public SwModelTestBase { @@ -200,6 +201,13 @@ void Test::testCharacterBorder() aFirstParTopBorder, aFirstParTopPadding, getProperty<table::BorderLine2>(xSet,"RightBorder"), getProperty<sal_Int32>(xSet,"RightBorderDistance")); + + // Shadow + const table::ShadowFormat aShadow = getProperty<table::ShadowFormat>(xSet,"ParaShadowFormat"); + CPPUNIT_ASSERT_EQUAL(aShadow.Color, 0L); + CPPUNIT_ASSERT_EQUAL((bool)aShadow.IsTransparent, false); + CPPUNIT_ASSERT_EQUAL((int)aShadow.Location, 0); + CPPUNIT_ASSERT_EQUAL((int)aShadow.ShadowWidth, 0); } // Character border for first paragraph @@ -232,6 +240,13 @@ void Test::testCharacterBorder() getProperty<table::BorderLine2>(xSet,"CharRightBorder"), getProperty<sal_Int32>(xSet,"CharRightBorderDistance")); + // Shadow + const table::ShadowFormat aShadow = getProperty<table::ShadowFormat>(xSet,"CharShadowFormat"); + CPPUNIT_ASSERT_EQUAL(aShadow.Color, 16724787L); + CPPUNIT_ASSERT_EQUAL((bool)aShadow.IsTransparent, false); + CPPUNIT_ASSERT_EQUAL((int)aShadow.Location, 2); + CPPUNIT_ASSERT_EQUAL((int)aShadow.ShadowWidth, 280); + // Check autostyle { uno::Reference< style::XAutoStyleFamily > xAutoStyleFamily(getAutoStyles("ParagraphStyles")); @@ -308,6 +323,13 @@ void Test::testCharacterBorder() getProperty<table::BorderLine2>(xSet,"CharRightBorder"), getProperty<sal_Int32>(xSet,"CharRightBorderDistance")); + // Shadow + const table::ShadowFormat aShadow = getProperty<table::ShadowFormat>(xSet,"CharShadowFormat"); + CPPUNIT_ASSERT_EQUAL(aShadow.Color, 0L); + CPPUNIT_ASSERT_EQUAL((bool)aShadow.IsTransparent, false); + CPPUNIT_ASSERT_EQUAL((int)aShadow.Location, 3); + CPPUNIT_ASSERT_EQUAL((int)aShadow.ShadowWidth, 79); + // Check character style { uno::Reference< container::XNameAccess > xStyleFamily(getStyles("CharacterStyles"), uno::UNO_QUERY); |