[Libreoffice-commits] core.git: Branch 'private/moggi/conditional-format-api' - 150 commits - android/experimental basctl/source chart2/Library_chartcore.mk chart2/qa chart2/source comphelper/source configmgr/Module_configmgr.mk configmgr/qa configmgr/source dbaccess/source desktop/source editeng/source external/harfbuzz forms/source formula/source .git-hooks/commit-msg .git-hooks/post-merge helpcontent2 i18npool/source icon-themes/tango icon-themes/tango_testing include/canvas include/comphelper include/jvmaccess include/sal include/tools include/unotools include/vcl jvmaccess/source offapi/com offapi/UnoApi_offapi.mk officecfg/registry oox/source opencl/source postprocess/CppunitTest_services.mk postprocess/qa Repository.mk sal/osl sal/rtl sc/inc sc/qa sc/source sd/source sd/uiconfig sfx2/source slideshow/source solenv/bin starmath/Library_sm.mk starmath/source svtools/source svx/source sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_rtfexport.mk sw/inc sw/qa sw/source sw/uiconfig tools/sour ce ucb/source unotools/source vcl/generic vcl/inc vcl/opengl vcl/source vcl/unx writerfilter/source xmloff/source xmlsecurity/source

Markus Mohrhard markus.mohrhard at collabora.co.uk
Mon Feb 16 15:41:58 PST 2015


Rebased ref, commits from common ancestor:
commit 390af62fb03a35b5738f051dac875997507ca376
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Wed Feb 11 02:36:11 2015 +0100

    add first useful version of new conditional format UNO API
    
    Change-Id: I8b58ae33ad71d0df6ea30f205b4f331541f5b821

diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 63f242c..e5fb2eb 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -3449,6 +3449,9 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/sheet,\
 	XCellRangesQuery \
 	XCellSeries \
 	XCompatibilityNames \
+	XConditionalFormat \
+	XConditionalFormats \
+	XConditionEntry \
 	XConsolidatable \
 	XConsolidationDescriptor \
 	XDDELink \
diff --git a/offapi/com/sun/star/sheet/ColorScale.idl b/offapi/com/sun/star/sheet/ColorScale.idl
new file mode 100644
index 0000000..b7d79e2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ColorScale.idl
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_Colorscale_idl__
+#define __com_sun_star_sheet_Colorscale_idl__
+
+#include <com/sun/star/sheet/XConditionEntry.idl>
+#include <com/sun/star/sheet/XColorScaleEntry.idl>
+
+module com {  module sun {  module star {  module sheet {
+
+service ColorScale
+{
+    interface XConditionEntry;
+
+    [property] sequence<XColorScaleEntry> ColorScaleEntries;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
+
diff --git a/offapi/com/sun/star/sheet/ConditionEntryType.idl b/offapi/com/sun/star/sheet/ConditionEntryType.idl
new file mode 100644
index 0000000..151ed52
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionEntryType.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_ConditionEntryType_idl__
+#define __com_sun_star_sheet_ConditionEntryType_idl__
+
+module com {  module sun {  module star {  module sheet {
+
+constants ConditionEntryType
+{
+    const long CONDITION = 0;
+
+    const long COLORSCALE = 0;
+
+    const long DATABAR = 0;
+
+    const long ICONSET = 0;
+
+    const long DATE = 0;
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ConditionFormatEntry.idl b/offapi/com/sun/star/sheet/ConditionFormatEntry.idl
new file mode 100644
index 0000000..cf74f68
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionFormatEntry.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_ConditionFormatEntry_idl__
+#define __com_sun_star_sheet_ConditionFormatEntry_idl__
+
+module com {  module sun {  module star {  module sheet {
+
+service ConditionFormatEntry
+{
+    interface XConditionEntry;
+
+    [property] ConditionFormatOperator Operator;
+
+    [property] string StyleName;
+
+    [optional, property] Formula1;
+
+    [optional, property] Formula2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/sheet/ConditionalFormat.idl b/offapi/com/sun/star/sheet/ConditionalFormat.idl
new file mode 100644
index 0000000..d205e3c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionalFormat.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_ConditionalFormat_idl__
+#define __com_sun_star_sheet_ConditionalFormat_idl__
+
+#include <com/sun/star/sheet/XConditionalFormat.idl>
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+
+module com {  module sun {  module star {  module sheet {
+
+
+/** represents a conditional format
+ */
+service ConditionalFormat
+{
+    interface com::sun::star::beans::XPropertySet;
+    interface com::sun::star::uno::XConditionalFormat;
+
+    /** represents the range for the conditional format
+      All ranges have to be in the same sheet.
+     */
+    [property] XSheetCellRanges range;
+
+    [property] long ID;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataBar.idl b/offapi/com/sun/star/sheet/DataBar.idl
new file mode 100644
index 0000000..dbd377b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataBar.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_Databar_idl__
+#define __com_sun_star_sheet_Databar_idl__
+
+#include <com/sun/star/sheet/XConditionEntry.idl>
+#include <com/sun/star/sheet/XColorScaleEntry.idl>
+#include <com/sun/star/sheet/DataBarAxis.idl>
+
+module com {  module sun {  module star {  module sheet {
+
+service DataBar
+{
+    interface XConditionEntry;
+
+    [property] boolean ShowValue;
+
+    [property] DataBarAxis AxisPosition;
+
+    [property] com::sun::star::util::Color Color;
+
+    [property] com::sun::star::util::Color AxisColor;
+
+    [property] boolean UseNegativeColor;
+
+    [property, optional] com::sun::star::util::Color NegativeColor;
+
+    [property] sequence<XDataBarEntry> DataBarEntries;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataBarAxis.idl b/offapi/com/sun/star/sheet/DataBarAxis.idl
new file mode 100644
index 0000000..0117259
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataBarAxis.idl
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_DataBarAxis_idl__
+#define __com_sun_star_sheet_DataBarAxis_idl__
+
+module com {  module sun {  module star {  module sheet {
+
+constants DataBarAxis
+{
+    const long AXIS_NONE = 0;
+
+    const long AXIS_MIDDLE = 1;
+
+    const long AXIS_AUTOMATIC = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/IconSet.idl b/offapi/com/sun/star/sheet/IconSet.idl
new file mode 100644
index 0000000..d083fec
--- /dev/null
+++ b/offapi/com/sun/star/sheet/IconSet.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_IconSet_idl__
+#define __com_sun_star_sheet_IconSet_idl__
+
+#include <com/sun/star/sheet/XConditionEntry.idl>
+
+module com {  module sun {  module star {  module sheet {
+
+service IconSet
+{
+    interface XConditionEntry;
+
+    [property] boolean ShowValue;
+
+    [property] boolean Reverse;
+
+    [property] IconSetType Icons;
+
+    [property] sequence<XIconSetEntry> IconSetEntries;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/sheet/IconSetType.idl b/offapi/com/sun/star/sheet/IconSetType.idl
new file mode 100644
index 0000000..ad96332
--- /dev/null
+++ b/offapi/com/sun/star/sheet/IconSetType.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_IconSetType_idl__
+#define __com_sun_star_sheet_IconSetType_idl__
+
+module com {  module sun {  module star {  module sheet {
+
+constants IconSetType
+{
+    const long ICONSET_3ARROWS = 0;
+
+    const long ICONSET_3ARROWS_GRAY = 1;
+
+    const long ICONSET_3FLAGS = 2;
+
+    const long ICONSET_3TRAFFICLIGHTS1 = 3;
+
+    const long ICONSET_3TRAFFICLIGHTS2 = 4;
+
+    const long ICONSET_3SIGNS = 5;
+
+    const long ICONSET_3SYMBOLS = 6;
+
+    const long ICONSET_3SYMBOLS2 = 7;
+
+    const long ICONSET_3SMILIES = 8;
+
+    const long ICONSET_3COLOR_SIMILIES = 9;
+
+    const long ICONSET_4ARROWS = 10;
+
+    const long ICONSET_4ARROWS_GRAY = 11;
+
+    const long ICONSET_4RED_TO_BLACK = 12;
+
+    const long ICONSET_4RATING = 13;
+
+    const long ICONSET_4TRAFFICLIGHTS = 14;
+
+    const long ICONSET_5ARROWS = 15;
+
+    const long ICONSET_5ARROWS_GRAY = 16;
+
+    const long ICONSET_5RATINGS = 17;
+
+    const long ICONSET_5QUARTERS = 18;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/sheet/Spreadsheet.idl b/offapi/com/sun/star/sheet/Spreadsheet.idl
index df9e3a4..61762ce 100644
--- a/offapi/com/sun/star/sheet/Spreadsheet.idl
+++ b/offapi/com/sun/star/sheet/Spreadsheet.idl
@@ -37,6 +37,7 @@
 #include <com/sun/star/sheet/XSheetLinkable.idl>
 #include <com/sun/star/sheet/Scenario.idl>
 #include <com/sun/star/sheet/XExternalSheetName.idl>
+#include <com/sun/star/sheet/XConditionalFormats.idl>
 #include <com/sun/star/util/Color.idl>
 
 
@@ -190,7 +191,7 @@ service Spreadsheet
 
     /** specifies all conditional formats of that sheet
      */
-    [optional, property] com::sun::star::sheet::XConditionalFormats;
+    [optional, property] com::sun::star::sheet::XConditionalFormats ConditionalFormats;
 };
 
 
diff --git a/offapi/com/sun/star/sheet/XConditionalFormat.idl b/offapi/com/sun/star/sheet/XConditionalFormat.idl
new file mode 100644
index 0000000..62f9962
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConditionalFormat.idl
@@ -0,0 +1,30 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XConditionalFormat_idl__
+#define __com_sun_star_sheet_XConditionalFormat_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/sheet/XConditionEntry.idl>
+
+module com { module sun { module star { module sheet {
+
+interface XConditionalFormat : com::sun::star::container::XIndexAccess
+{
+    void addEntry( [in] com::sun::star::sheet::XConditionEntry entry );
+
+    void removeByIndex( [in] long Index );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XConditionalFormats.idl b/offapi/com/sun/star/sheet/XConditionalFormats.idl
new file mode 100644
index 0000000..6641d08
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConditionalFormats.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XConditionalFormats_idl__
+#define __com_sun_star_sheet_XConditionalFormats_idl__
+
+#include <com/sun/star/sheet/XConditionalFormat.idl>
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module sheet {
+
+interface XConditionalFormats : com::sun::star::uno::XInterface
+{
+    /**
+     * adds a conditional format to the existing list
+     * returns the id of the inserted conditional format
+     */
+    long addByRange( [in] com::sun::star::sheet::XConditionalFormat conditionalFormat, [in] com::sun::star::sheet::XSheetCellRanges range);
+
+    void removeByID( [in] long ID);
+
+    sequence< XConditionalFormat > getConditionalFormats();
+
+    long getLength();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 4c936014a7919419402af7be2b1aef6050ff4fd8
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Feb 10 21:04:46 2015 +0100

    update chart xshape reference files
    
    Change-Id: I499595df25f9a36eb1326cb5374db0541bd42ee4

diff --git a/chart2/qa/extras/xshape/data/reference/fdo75075.xml b/chart2/qa/extras/xshape/data/reference/fdo75075.xml
index 7fa3602..9ffc66a 100644
--- a/chart2/qa/extras/xshape/data/reference/fdo75075.xml
+++ b/chart2/qa/extras/xshape/data/reference/fdo75075.xml
@@ -4,7 +4,7 @@
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-  <FillBitmap width="0" height="0"/>
+  <FillBitmap/>
   <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
   <LineStart/>
   <LineEnd/>
@@ -20,7 +20,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -34,7 +34,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -54,7 +54,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -733,7 +733,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -765,7 +765,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -797,7 +797,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -829,7 +829,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -861,7 +861,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -1082,7 +1082,7 @@
             <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-            <FillBitmap width="0" height="0"/>
+            <FillBitmap/>
             <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
             <LineStart/>
             <LineEnd/>
@@ -1105,7 +1105,7 @@
             <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-            <FillBitmap width="0" height="0"/>
+            <FillBitmap/>
             <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
             <LineStart/>
             <LineEnd/>
@@ -1119,7 +1119,7 @@
             <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-            <FillBitmap width="0" height="0"/>
+            <FillBitmap/>
             <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
             <LineStart/>
             <LineEnd/>
@@ -1133,7 +1133,7 @@
             <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-            <FillBitmap width="0" height="0"/>
+            <FillBitmap/>
             <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
             <LineStart/>
             <LineEnd/>
@@ -1147,7 +1147,7 @@
             <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
             <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-            <FillBitmap width="0" height="0"/>
+            <FillBitmap/>
             <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
             <LineStart/>
             <LineEnd/>
@@ -1186,7 +1186,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1200,7 +1200,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1214,7 +1214,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1228,7 +1228,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1242,7 +1242,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1265,7 +1265,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1279,7 +1279,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1293,7 +1293,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1307,7 +1307,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1321,7 +1321,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1335,7 +1335,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1349,7 +1349,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1363,7 +1363,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1377,7 +1377,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1400,7 +1400,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1414,7 +1414,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1428,7 +1428,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1442,7 +1442,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1456,7 +1456,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1470,7 +1470,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1484,7 +1484,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1498,7 +1498,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1542,7 +1542,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -1560,7 +1560,7 @@
         <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-        <FillBitmap width="0" height="0"/>
+        <FillBitmap/>
         <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
         <LineStart/>
         <LineEnd/>
@@ -1574,7 +1574,7 @@
         <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-        <FillBitmap width="0" height="0"/>
+        <FillBitmap/>
         <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
         <LineStart/>
         <LineEnd/>
@@ -1606,7 +1606,7 @@
         <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-        <FillBitmap width="0" height="0"/>
+        <FillBitmap/>
         <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
         <LineStart/>
         <LineEnd/>
@@ -1656,7 +1656,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -1670,7 +1670,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
diff --git a/chart2/qa/extras/xshape/data/reference/property-mapping-bar.xml b/chart2/qa/extras/xshape/data/reference/property-mapping-bar.xml
index 05a89f8..97d7019 100644
--- a/chart2/qa/extras/xshape/data/reference/property-mapping-bar.xml
+++ b/chart2/qa/extras/xshape/data/reference/property-mapping-bar.xml
@@ -4,7 +4,7 @@
   <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-  <FillBitmap width="0" height="0"/>
+  <FillBitmap/>
   <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
   <LineStart/>
   <LineEnd/>
@@ -20,7 +20,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -34,7 +34,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -54,7 +54,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -518,7 +518,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -550,7 +550,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -582,7 +582,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -614,7 +614,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -655,7 +655,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -687,7 +687,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -719,7 +719,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -751,7 +751,7 @@
               <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
               <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-              <FillBitmap width="0" height="0"/>
+              <FillBitmap/>
               <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
               <LineStart/>
               <LineEnd/>
@@ -815,7 +815,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -829,7 +829,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -843,7 +843,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -857,7 +857,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -880,7 +880,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -894,7 +894,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -908,7 +908,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -922,7 +922,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -936,7 +936,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -950,7 +950,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -964,7 +964,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -978,7 +978,7 @@
           <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
           <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-          <FillBitmap width="0" height="0"/>
+          <FillBitmap/>
           <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
           <LineStart/>
           <LineEnd/>
@@ -1022,7 +1022,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -1040,7 +1040,7 @@
         <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-        <FillBitmap width="0" height="0"/>
+        <FillBitmap/>
         <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
         <LineStart/>
         <LineEnd/>
@@ -1054,7 +1054,7 @@
         <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-        <FillBitmap width="0" height="0"/>
+        <FillBitmap/>
         <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
         <LineStart/>
         <LineEnd/>
@@ -1086,7 +1086,7 @@
         <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-        <FillBitmap width="0" height="0"/>
+        <FillBitmap/>
         <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
         <LineStart/>
         <LineEnd/>
@@ -1100,7 +1100,7 @@
         <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
         <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-        <FillBitmap width="0" height="0"/>
+        <FillBitmap/>
         <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
         <LineStart/>
         <LineEnd/>
@@ -1128,7 +1128,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
@@ -1142,7 +1142,7 @@
     <FillTransparenceGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="000000" endColor="ffffff" angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
-    <FillBitmap width="0" height="0"/>
+    <FillBitmap/>
     <LineDash style="RECT" dots="1" dotLen="20" dashes="1" dashLen="20" distance="20"/>
     <LineStart/>
     <LineEnd/>
commit 59e309a0c46045a1b7ac96769c1158c7fa32ac85
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Fri Feb 6 01:31:49 2015 +0100

    make the code easier to read
    
    Change-Id: I8cdfe1cddf57a36054bfe850173ef6130aa608b5

diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx b/sc/source/filter/oox/sheetdatabuffer.cxx
index d27061c..c6df96f 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -333,12 +333,14 @@ void SheetDataBuffer::setStandardNumFmt( const CellAddress& rCellAddr, sal_Int16
     }
 }
 
-void addIfNotInMyMap( StylesBuffer& rStyles, std::map< std::pair< sal_Int32, sal_Int32 >, ApiCellRangeList >& rMap, sal_Int32 nXfId, sal_Int32 nFormatId, const ApiCellRangeList& rRangeList )
+typedef std::pair<sal_Int32, sal_Int32> FormatKeyPair;
+
+void addIfNotInMyMap( StylesBuffer& rStyles, std::map< FormatKeyPair, ApiCellRangeList >& rMap, sal_Int32 nXfId, sal_Int32 nFormatId, const ApiCellRangeList& rRangeList )
 {
     Xf* pXf1 = rStyles.getCellXf( nXfId ).get();
     if ( pXf1 )
     {
-        for ( std::map< std::pair< sal_Int32, sal_Int32 >, ApiCellRangeList >::iterator it = rMap.begin(), it_end = rMap.end(); it != it_end; ++it )
+        for ( std::map< FormatKeyPair, ApiCellRangeList >::iterator it = rMap.begin(), it_end = rMap.end(); it != it_end; ++it )
         {
             if ( it->first.second == nFormatId )
             {
@@ -353,7 +355,7 @@ void addIfNotInMyMap( StylesBuffer& rStyles, std::map< std::pair< sal_Int32, sal
                 }
             }
         }
-        rMap[ std::pair<sal_Int32, sal_Int32>( nXfId, nFormatId ) ] = rRangeList;
+        rMap[ FormatKeyPair( nXfId, nFormatId ) ] = rRangeList;
     }
 }
 
@@ -433,13 +435,13 @@ void SheetDataBuffer::finalizeImport()
     // write default formatting of remaining row range
     maXfIdRowRangeList[ maXfIdRowRange.mnXfId ].push_back( maXfIdRowRange.maRowRange );
 
-    std::map< std::pair< sal_Int32, sal_Int32 >, ApiCellRangeList > rangeStyleListMap;
+    std::map< FormatKeyPair, ApiCellRangeList > rangeStyleListMap;
     for( XfIdRangeListMap::const_iterator aIt = maXfIdRangeLists.begin(), aEnd = maXfIdRangeLists.end(); aIt != aEnd; ++aIt )
     {
         addIfNotInMyMap( getStyles(), rangeStyleListMap, aIt->first.first, aIt->first.second, aIt->second );
     }
     // gather all ranges that have the same style and apply them in bulk
-    for (  std::map< std::pair< sal_Int32, sal_Int32 >, ApiCellRangeList >::iterator it = rangeStyleListMap.begin(), it_end = rangeStyleListMap.end(); it != it_end; ++it )
+    for (  std::map< FormatKeyPair, ApiCellRangeList >::iterator it = rangeStyleListMap.begin(), it_end = rangeStyleListMap.end(); it != it_end; ++it )
     {
         const ApiCellRangeList& rRanges( it->second );
         for ( ::std::vector< CellRangeAddress >::const_iterator it_range = rRanges.begin(), it_rangeend = rRanges.end(); it_range!=it_rangeend; ++it_range )
commit 852f6e068e27c14f9e44e38517e9533c5123791f
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Fri Feb 6 01:09:28 2015 +0100

    temp
    
    Change-Id: I6a327df821ea439e6dcffe26eeee022c3e3583e8

diff --git a/offapi/com/sun/star/sheet/Spreadsheet.idl b/offapi/com/sun/star/sheet/Spreadsheet.idl
index 2caf8f8..df9e3a4 100644
--- a/offapi/com/sun/star/sheet/Spreadsheet.idl
+++ b/offapi/com/sun/star/sheet/Spreadsheet.idl
@@ -187,6 +187,10 @@ service Spreadsheet
     /** specifies the color of the sheet tab, if any.
      */
     [optional, property] com::sun::star::util::Color TabColor;
+
+    /** specifies all conditional formats of that sheet
+     */
+    [optional, property] com::sun::star::sheet::XConditionalFormats;
 };
 
 
diff --git a/sc/inc/conditio.hxx b/sc/inc/conditio.hxx
index 341e032..57dd2d9 100644
--- a/sc/inc/conditio.hxx
+++ b/sc/inc/conditio.hxx
@@ -281,8 +281,7 @@ private:
     mutable boost::scoped_ptr<ScConditionEntryCache> mpCache;
 };
 
-//  single entry for conditional formatting
-
+//  single condition entry for conditional formatting
 class SC_DLLPUBLIC ScCondFormatEntry : public ScConditionEntry
 {
     OUString                  aStyleName;
@@ -375,7 +374,6 @@ private:
 };
 
 //  complete conditional formatting
-
 class SC_DLLPUBLIC ScConditionalFormat: private boost::noncopyable
 {
     ScDocument*         pDoc;
@@ -433,7 +431,7 @@ public:
 
     bool            MarkUsedExternalReferences() const;
 
-    //  sorted (via PTRARR) by Index
+    //  sorted (via boost::ptr_set) by Index
     //  operator== only for sorting
     bool operator ==( const ScConditionalFormat& r ) const  { return nKey == r.nKey; }
     bool operator < ( const ScConditionalFormat& r ) const  { return nKey <  r.nKey; }
@@ -442,8 +440,7 @@ public:
     void endRendering();
 };
 
-//  List of areas and formats:
-
+//  List of all conditional formats in a sheet
 class SC_DLLPUBLIC ScConditionalFormatList
 {
 private:
diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx
index 170387f..9a36a3e 100644
--- a/sc/source/filter/oox/stylesbuffer.cxx
+++ b/sc/source/filter/oox/stylesbuffer.cxx
@@ -2182,7 +2182,7 @@ void Xf::applyPatternToAttrList( AttrList& rAttrs, SCROW nRow1, SCROW nRow2, sal
     if ( nNumFmtId >= 0 )
     {
         ScPatternAttr aNumPat(rDoc.GetPool());
-        mnScNumFmt = getStyles().writeNumFmtToItemSet( aNumPat.GetItemSet(), nNumFmtId );
+        getStyles().writeNumFmtToItemSet( aNumPat.GetItemSet(), nNumFmtId );
         rPat.GetItemSet().Put(aNumPat.GetItemSet());
     }
 
commit 9f27de9ac9620f7286920cfe042cdcc414d8a610
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Wed Jan 28 16:19:10 2015 +0100

    Revert "Revert "Revert "Revert "wrong merge conflict resolution, vcldemo, icontest go to instdir""""
    
    This reverts commit bf9435bce063da95deb8a52371bce04e7435c966.

diff --git a/Repository.mk b/Repository.mk
index 095dfba..ca1412a 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -68,9 +68,6 @@ $(eval $(call gb_Helper_register_executables,NONE, \
         svpclient \
         pixelctl ) \
 	$(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), tilebench) \
-	$(if $(filter LINUX MACOSX WNT,$(OS)),icontest \
-	    outdevgrind) \
-	vcldemo \
 	tiledrendering \
     mtfdemo \
 	$(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), gtktiledviewer) \
@@ -151,6 +148,9 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,ooo, \
 	$(if $(filter WNT,$(OS)), \
 		senddoc \
 	) \
+	$(if $(filter LINUX MACOSX WNT,$(OS)),icontest \
+	    outdevgrind) \
+	vcldemo \
 ))
 
 ifeq ($(OS),WNT)
commit b74bf3c95f9561311b1036dd032415b778a69233
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sun Jan 25 05:38:09 2015 +0100

    there is no x error bar for bar charts, related fdo#66455
    
    e.g. fdo#66455-1.ods exported to OOXML
    
    Change-Id: I81c65071cef820076b3f4788b45152cb48eb608d

diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx
index 5cd30b2..9414680 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -1776,10 +1776,14 @@ void ChartExport::exportSeries( Reference< chart2::XChartType > xChartType, sal_
                         xSeriesPropSet->getPropertyValue("ErrorBarY") >>= xErrorBarYProps;
                         if(xErrorBarYProps.is())
                             exportErrorBar(xErrorBarYProps, true);
-                        Reference< XPropertySet > xErrorBarXProps;
-                        xSeriesPropSet->getPropertyValue("ErrorBarX") >>= xErrorBarXProps;
-                        if(xErrorBarXProps.is())
-                            exportErrorBar(xErrorBarXProps, false);
+                        if (eChartType != chart::TYPEID_BAR &&
+                                eChartType != chart::TYPEID_HORBAR)
+                        {
+                            Reference< XPropertySet > xErrorBarXProps;
+                            xSeriesPropSet->getPropertyValue("ErrorBarX") >>= xErrorBarXProps;
+                            if(xErrorBarXProps.is())
+                                exportErrorBar(xErrorBarXProps, false);
+                        }
                     }
 
                     // export categories
commit 91ecbbadbbc748af65d467b339a66dfe43cd5d39
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sun Jan 25 04:42:26 2015 +0100

    WIP more debug code

diff --git a/vcl/opengl/x11/salvd.cxx b/vcl/opengl/x11/salvd.cxx
index a8b18f9..ffd6c67 100644
--- a/vcl/opengl/x11/salvd.cxx
+++ b/vcl/opengl/x11/salvd.cxx
@@ -56,6 +56,7 @@ X11OpenGLSalVirtualDevice::X11OpenGLSalVirtualDevice( SalGraphics* pGraphics,
     mpGraphics = new X11SalGraphics();
     mpGraphics->SetLayout( 0 );
     mpGraphics->Init( this );
+    SAL_DEBUG("X11OpenGLSalVirtaulDevice: created drawable: " << mpGraphics->GetDrawable());
 }
 
 X11OpenGLSalVirtualDevice::~X11OpenGLSalVirtualDevice()
diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index 673e5cf..ff6841a 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -129,6 +129,7 @@ SalGraphicsImpl* X11SalGraphics::GetImpl() const
 
 void X11SalGraphics::SetDrawable( Drawable aDrawable, SalX11Screen nXScreen )
 {
+    SAL_DEBUG("X11SalGraphics::SetDrawable: " << aDrawable);
     // shortcut if nothing changed
     if( hDrawable_ == aDrawable )
         return;
@@ -164,12 +165,14 @@ void X11SalGraphics::Init( SalFrame *pFrame, Drawable aTarget,
     bWindow_    = true;
     bVirDev_    = false;
 
+    SAL_DEBUG("X11SalGraphics::Init: " << aTarget);
     SetDrawable( aTarget, nXScreen );
     mpImpl->Init();
 }
 
 void X11SalGraphics::DeInit()
 {
+    SAL_DEBUG("X11SalGraphics::DeInit: " << hDrawable_);
     SetDrawable( None, m_nXScreen );
 }
 
diff --git a/vcl/unx/generic/gdi/salvd.cxx b/vcl/unx/generic/gdi/salvd.cxx
index 3ec516b..8ccbc8a 100644
--- a/vcl/unx/generic/gdi/salvd.cxx
+++ b/vcl/unx/generic/gdi/salvd.cxx
@@ -77,6 +77,7 @@ void X11SalGraphics::Init( X11SalVirtualDevice *pDevice, SalColormap* pColormap,
     bVirDev_     = true;
 
     const Drawable aVdevDrawable = pDevice->GetDrawable();
+    SAL_DEBUG("X11SalGraphics(virt)::Init: " << aVdevDrawable);
     SetDrawable( aVdevDrawable, m_nXScreen );
     mpImpl->Init();
 }
commit 9d79971b8f03dc4f4a8b117958a7f0fc13ff8c48
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Sun Jan 25 03:40:39 2015 +0100

    temp debug code

diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx
index 15221b0..e704cd0 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -108,6 +108,7 @@ OpenGLContext::~OpenGLContext()
 #ifdef DBG_UTIL
 void OpenGLContext::AddRef(OpenGLSalGraphicsImpl* pImpl)
 {
+    SAL_WARN_IF(!pImpl, "vcl.opengl", "added now");
     assert(mnRefCount > 0);
     mnRefCount++;
 
@@ -116,6 +117,7 @@ void OpenGLContext::AddRef(OpenGLSalGraphicsImpl* pImpl)
 
 void OpenGLContext::DeRef(OpenGLSalGraphicsImpl* pImpl)
 {
+    SAL_WARN_IF(!pImpl, "vcl.opengl", "removed now");
 
     auto it = maParents.find(pImpl);
     if(it != maParents.end())
@@ -1381,6 +1383,11 @@ void OpenGLContext::makeCurrent()
     GLXDrawable nDrawable = mbPixmap ? m_aGLWin.glPix : m_aGLWin.win;
     if (!glXMakeCurrent( m_aGLWin.dpy, nDrawable, m_aGLWin.ctx ))
     {
+        for (auto it = maParents.begin(), itEnd = maParents.end(); it != itEnd; ++it)
+        {
+            SAL_DEBUG(*it);
+            SAL_DEBUG((*it)->IsOffscreen());
+        }
         SAL_WARN("vcl.opengl", "OpenGLContext::makeCurrent failed on drawable " << nDrawable << " pixmap? " << mbPixmap);
         return;
     }
commit f2e0e66ed22c24b7cca570ec592221880ca96848
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Thu Jan 22 19:26:53 2015 +0100

    first try to fix context problem
    
    Change-Id: If7f5a95a2d0c60b7857cacf5101da936eb696f15

diff --git a/vcl/opengl/gdiimpl.cxx b/vcl/opengl/gdiimpl.cxx
index dcede20..8c00fbd 100644
--- a/vcl/opengl/gdiimpl.cxx
+++ b/vcl/opengl/gdiimpl.cxx
@@ -187,6 +187,10 @@ void OpenGLSalGraphicsImpl::PostDraw()
         mProgramIsSolidColor = false;
 #endif
     }
+    if (mbOffscreen)
+    {
+        ReleaseContext();
+    }
 
     CHECK_GL_ERROR();
 }
commit ad7ec973f9de9b0d62d9f18b2e709358a90bfe0a
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Thu Jan 22 19:26:26 2015 +0100

    we know it is an OpenGLSalGraphicsImpl
    
    Change-Id: I408f5a77a11ec0e9fed6569163870a7e0d12167c

diff --git a/include/vcl/opengl/OpenGLContext.hxx b/include/vcl/opengl/OpenGLContext.hxx
index 0276923..a1de8d8 100644
--- a/include/vcl/opengl/OpenGLContext.hxx
+++ b/include/vcl/opengl/OpenGLContext.hxx
@@ -63,7 +63,7 @@ class NSOpenGLView;
 class OpenGLFramebuffer;
 class OpenGLProgram;
 class OpenGLTexture;
-class SalGraphicsImpl;
+class OpenGLSalGraphicsImpl;
 
 /// Holds the information of our new child window
 struct GLWindow
@@ -195,8 +195,8 @@ public:
     OpenGLFramebuffer* AcquireFramebuffer( const OpenGLTexture& rTexture );
     void               ReleaseFramebuffer( OpenGLFramebuffer* pFramebuffer );
 #ifdef DBG_UTIL
-    void AddRef(SalGraphicsImpl*);
-    void DeRef(SalGraphicsImpl*);
+    void AddRef(OpenGLSalGraphicsImpl*);
+    void DeRef(OpenGLSalGraphicsImpl*);
 #else
     void AddRef();
     void DeRef();
@@ -279,7 +279,7 @@ private:
     boost::ptr_map<ProgramKey, OpenGLProgram> maPrograms;
     OpenGLProgram* mpCurrentProgram;
 #ifdef DBG_UTIL
-    std::set<SalGraphicsImpl*> maParents;
+    std::set<OpenGLSalGraphicsImpl*> maParents;
 #endif
 
 public:
diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx
index fa0684d..15221b0 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -33,6 +33,8 @@
 #include <opengl/program.hxx>
 #include <opengl/texture.hxx>
 
+#include "openglgdiimpl.hxx"
+
 using namespace com::sun::star;
 
 #define MAX_FRAMEBUFFER_COUNT 30
@@ -104,7 +106,7 @@ OpenGLContext::~OpenGLContext()
 }
 
 #ifdef DBG_UTIL
-void OpenGLContext::AddRef(SalGraphicsImpl* pImpl)
+void OpenGLContext::AddRef(OpenGLSalGraphicsImpl* pImpl)
 {
     assert(mnRefCount > 0);
     mnRefCount++;
@@ -112,7 +114,7 @@ void OpenGLContext::AddRef(SalGraphicsImpl* pImpl)
     maParents.insert(pImpl);
 }
 
-void OpenGLContext::DeRef(SalGraphicsImpl* pImpl)
+void OpenGLContext::DeRef(OpenGLSalGraphicsImpl* pImpl)
 {
 
     auto it = maParents.find(pImpl);
commit d7e92309239e6da60bd13b984ffaace8b4ef638e
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Feb 13 18:40:34 2015 +0100

    -Werror,-Winconsistent-missing-override
    
    Change-Id: Ib1445e9c66c08044434c7e8c828d2fc7b6a0a04c

diff --git a/include/vcl/floatwin.hxx b/include/vcl/floatwin.hxx
index c9e03b4..d527145 100644
--- a/include/vcl/floatwin.hxx
+++ b/include/vcl/floatwin.hxx
@@ -94,7 +94,7 @@ private:
 
     SAL_DLLPRIVATE void    ImplCallPopupModeEnd();
     DECL_DLLPRIVATE_LINK(  ImplEndPopupModeHdl, void* );
-    virtual void setPosSizeOnContainee(Size aSize, Window &rBox);
+    virtual void setPosSizeOnContainee(Size aSize, Window &rBox) SAL_OVERRIDE;
 
                            FloatingWindow (const FloatingWindow &) SAL_DELETED_FUNCTION;
                            FloatingWindow & operator= (const FloatingWindow &) SAL_DELETED_FUNCTION;
commit 2c411e4487f24968d6a62958fec85e4e3e1fda93
Author: Vasily Melenchuk <vasily.melenchuk at cib.de>
Date:   Mon Feb 2 09:43:51 2015 +0000

    tdf#49893 partial fix for blank rentangle problem in RTF
    
    * pib structure in rtf shape is processed always, if exists, not only
      for shape #75 (picture frame): it is possible for other shapes, at
      least for #1 (rectangle)
    
    * picture inside shape gets width and height from shape: this picture
      looks like pib object and should fit shape frame
    
    Conflicts:
    	sw/qa/extras/rtfimport/rtfimport.cxx
    
    Reviewed on:
    	https://gerrit.libreoffice.org/14396
    
    Change-Id: I5cf2e692940c4ddd8ab8b291ef65c0cc44c45f5d

diff --git a/sw/CppunitTest_sw_rtfexport.mk b/sw/CppunitTest_sw_rtfexport.mk
index 33f366b..48c8758 100644
--- a/sw/CppunitTest_sw_rtfexport.mk
+++ b/sw/CppunitTest_sw_rtfexport.mk
@@ -48,36 +48,7 @@ $(eval $(call gb_CppunitTest_use_api,sw_rtfexport,\
 $(eval $(call gb_CppunitTest_use_ure,sw_rtfexport))
 $(eval $(call gb_CppunitTest_use_vcl,sw_rtfexport))
 
-$(eval $(call gb_CppunitTest_use_components,sw_rtfexport,\
-	basic/util/sb \
-    comphelper/util/comphelp \
-    configmgr/source/configmgr \
-    embeddedobj/util/embobj \
-    filter/source/config/cache/filterconfig1 \
-    filter/source/storagefilterdetect/storagefd \
-    framework/util/fwk \
-    i18npool/util/i18npool \
-    linguistic/source/lng \
-    package/source/xstor/xstor \
-    package/util/package2 \
-    sax/source/expatwrap/expwrap \
-    sfx2/util/sfx \
-    starmath/util/sm \
-    svl/source/fsstor/fsstorage \
-    svtools/util/svt \
-    sw/util/msword \
-    sw/util/sw \
-    sw/util/swd \
-    toolkit/util/tk \
-    ucb/source/core/ucb1 \
-    ucb/source/ucp/file/ucpfile1 \
-    unotools/util/utl \
-    unoxml/source/service/unoxml \
-	uui/util/uui \
-    writerfilter/util/writerfilter \
-    xmloff/util/xo \
-	oox/util/oox \
-))
+$(eval $(call gb_CppunitTest_use_rdb,sw_rtfexport,services))
 
 $(eval $(call gb_CppunitTest_use_configuration,sw_rtfexport))
 
diff --git a/sw/qa/extras/rtfimport/data/fdo49893.rtf b/sw/qa/extras/rtfimport/data/fdo49893.rtf
new file mode 100755
index 0000000..05eedcb
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo49893.rtf
@@ -0,0 +1,14 @@
+{\rtf1
+{\shp{\*\shpinst\shplid1{\sp{\sn ShapeType}{\sv 75}}\shpleft0\shptop144
+\shpbottom576\shpright1296\shpbxcolumn\shpbypara\shpwr3\shpwrk0{\sp{\sn dxWrapDistLeft}{\sv 0}}{\sp{\sn dxWrapDistRight}{\sv 0}}
+{\sp{\sn dxWrapDistTop}{\sv 0}}{\sp{\sn dxWrapDistBottom}{\sv 0}}{\sp{\sn fFilled}{\sv 1}}{\sp{\sn fillType}{\sv 3}}{\sp{\sn fillType}
+{\sv 3}}{\sp{\sn fillColor}{\sv 0}}{\sp{\sn fillBackColor}{\sv 0}}{\sp{\sn fillToTop}{\sv 65536}}{\sp{\sn fillToLeft}{\sv 65536}
+}{\sp{\sn fillToRight}{\sv 0}}{\sp{\sn fillToBottom}{\sv 0}}{\sp{\sn pib}{\sv
+{\pict\pngblip
+47494638396110001000d5ff00000000ffffffc0c0c0555f00ffffaafcfcfcf6f6f6eaeaeae6e6e6e4e4e4e3e3e3c2c2c2c1c1c1bcbcbcb5b5b5b3b3b3b0b0b0adadada5a5a5a2a2a2a1a1a19f9f9f9494948a8a8a8888888686867b7b7b6c6c6c5c5c5c4e4e4e4b4b4b4747474646463d3d3d3c3c3c2e2e2e2525251b1b1b18181810101009090906060603030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90401000002002c0000000010001000000684408170482c0a06c8a4728924389f506833b281302a8e6b164b18103024c52111504cca67332102e0042e9a40d9319f8300a343c1200f54e47f7e2a00001e0b0a7d0d728a010d838400261a7c0d94947784252700127e9d159f6c8411140019080ea7a9a85f842122281612b1b3b25d6b1f29291d0fbbbdbc5d5e51c34e4cc64a46c94341003b}}}
+{\sp{\sn lTxid}{\sv 1}}{\sp{\sn dxTextLeft}{\sv 91440}}{\sp{\sn dxTextRight}
+{\sv 91440}}{\sp{\sn dxTextTop}{\sv 45720}}{\sp{\sn dxTextBottom}{\sv 45720}}{\sp{\sn txflTextFlow}{\sv 0}
+}
+}
+}
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index 39c1054..90ef8d3 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -2256,6 +2256,15 @@ DECLARE_RTFIMPORT_TEST(testTdf88811, "tdf88811.rtf")
     CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(4), xDrawPage->getCount());
 }
 
+DECLARE_RTFIMPORT_TEST(testFdo49893, "fdo49893.rtf")
+{
+    // Image from shape was not loaded, invalid size of image after load
+    uno::Reference<drawing::XShape> xShape(getShape(2), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xShape.is());
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(convertTwipToMm100(432)), xShape->getSize().Height);
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(convertTwipToMm100(1296)), xShape->getSize().Width);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 73287ce..c3f5f76 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -890,6 +890,12 @@ RTFError RTFDocumentImpl::resolvePict(bool const bInline, uno::Reference<drawing
         nXExt = (((long)m_aStates.top().aPicture.nScaleX) * (nXExt - (m_aStates.top().aPicture.nCropL + m_aStates.top().aPicture.nCropR))) / 100L;
     if (m_aStates.top().aPicture.nScaleY != 100)
         nYExt = (((long)m_aStates.top().aPicture.nScaleY) * (nYExt - (m_aStates.top().aPicture.nCropT + m_aStates.top().aPicture.nCropB))) / 100L;
+    if (m_aStates.top().bInShape)
+    {
+        // Picture in shape: it looks like pib picture, so we will stretch the picture to shape size (tdf#49893)
+        nXExt = m_aStates.top().aShape.nRight - m_aStates.top().aShape.nLeft;
+        nYExt = m_aStates.top().aShape.nBottom - m_aStates.top().aShape.nTop;
+    }
     auto pXExtValue = std::make_shared<RTFValue>(oox::drawingml::convertHmmToEmu(nXExt));
     auto pYExtValue = std::make_shared<RTFValue>(oox::drawingml::convertHmmToEmu(nYExt));
     aExtentAttributes.set(NS_ooxml::LN_CT_PositiveSize2D_cx, pXExtValue);
diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx
index 8a03254..2c278c4 100644
--- a/writerfilter/source/rtftok/rtfsdrimport.cxx
+++ b/writerfilter/source/rtftok/rtfsdrimport.cxx
@@ -779,21 +779,21 @@ void RTFSdrImport::resolve(RTFShape& rShape, bool bClose, ShapeOrPict const shap
     if (m_aParents.size() && m_aParents.top().is() && !m_bTextFrame)
         m_aParents.top()->add(xShape);
 
+    if (bPib)
+    {
+        m_rImport.resolvePict(false, xShape);
+    }
+
     if (nType == ESCHER_ShpInst_PictureFrame) // picture frame
     {
         assert(!m_bTextFrame);
-        if (bPib)
-        {
-            m_rImport.resolvePict(false, xShape);
-        }
-        else // ??? not sure if the early return should be removed on else?
+        if (!bPib) // ??? not sure if the early return should be removed on else?
         {
             m_xShape = xShape; // store it for later resolvePict call
         }
-        return;
     }
 
-    if (bCustom && xShape.is())
+    if (bCustom && xShape.is() && !bPib)
     {
         uno::Reference<drawing::XEnhancedCustomShapeDefaulter> xDefaulter(xShape, uno::UNO_QUERY);
         xDefaulter->createCustomShapeDefaults(OUString::number(nType));
commit d1f38b47c29ef5e2db2cabeb657668637d97e13d
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Feb 13 16:42:19 2015 +0000

    Resolves: tdf#86159 floating windows have complicated borders
    
    take the border window dimensions into account on the
    layout size, but not the layout position
    
    Change-Id: I9deb722933e325c92e93ae917fa8e34eaccfca2d

diff --git a/include/vcl/floatwin.hxx b/include/vcl/floatwin.hxx
index d017b21..c9e03b4 100644
--- a/include/vcl/floatwin.hxx
+++ b/include/vcl/floatwin.hxx
@@ -94,6 +94,7 @@ private:
 
     SAL_DLLPRIVATE void    ImplCallPopupModeEnd();
     DECL_DLLPRIVATE_LINK(  ImplEndPopupModeHdl, void* );
+    virtual void setPosSizeOnContainee(Size aSize, Window &rBox);
 
                            FloatingWindow (const FloatingWindow &) SAL_DELETED_FUNCTION;
                            FloatingWindow & operator= (const FloatingWindow &) SAL_DELETED_FUNCTION;
diff --git a/include/vcl/syswin.hxx b/include/vcl/syswin.hxx
index 1f29d45..2773fa6 100644
--- a/include/vcl/syswin.hxx
+++ b/include/vcl/syswin.hxx
@@ -158,7 +158,7 @@ public:
 private:
     SAL_DLLPRIVATE void Init();
     SAL_DLLPRIVATE void ImplMoveToScreen( long& io_rX, long& io_rY, long i_nWidth, long i_nHeight, vcl::Window* i_pConfigureWin );
-    SAL_DLLPRIVATE void setPosSizeOnContainee(Size aSize, Window &rBox);
+    virtual void setPosSizeOnContainee(Size aSize, Window &rBox);
     DECL_DLLPRIVATE_LINK( ImplHandleLayoutTimerHdl, void* );
 
 protected:
diff --git a/vcl/source/window/floatwin.cxx b/vcl/source/window/floatwin.cxx
index f7089c1..e22ec5d 100644
--- a/vcl/source/window/floatwin.cxx
+++ b/vcl/source/window/floatwin.cxx
@@ -22,6 +22,7 @@
 #include <window.h>
 #include <salframe.hxx>
 
+#include <vcl/layout.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/wrkwin.hxx>
 #include <vcl/event.hxx>
@@ -807,4 +808,15 @@ void FloatingWindow::AddPopupModeWindow( vcl::Window* pWindow )
     mpFirstPopupModeWin = pWindow;
 }
 
+void FloatingWindow::setPosSizeOnContainee(Size aSize, Window &rBox)
+{
+    sal_Int32 nBorderWidth = get_border_width();
+
+    aSize.Width() -= mpWindowImpl->mnLeftBorder + mpWindowImpl->mnRightBorder + 2 * nBorderWidth;
+    aSize.Height() -= nBorderWidth + mpWindowImpl->mnTopBorder + mpWindowImpl->mnBottomBorder + 2 * nBorderWidth;
+
+    Point aPos(nBorderWidth, nBorderWidth);
+    VclContainer::setLayoutAllocation(rBox, aPos, aSize);
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit e4882717f3dc0375e113ed692374870ab8302a16
Author: Jan Kantert <jan-lo at kantert.net>
Date:   Fri Feb 13 14:39:00 2015 +0100

    add unittest for tdf#89330
    
    Change-Id: I4c5c65733700e7e7245e96f85714221acf23bcfb
    Reviewed-on: https://gerrit.libreoffice.org/14473
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx
index 867b275..4e69a81 100644
--- a/sc/qa/unit/ucalc.hxx
+++ b/sc/qa/unit/ucalc.hxx
@@ -151,6 +151,7 @@ public:
     void testFormulaRefUpdateNameCopySheet();
     void testFormulaRefUpdateNameDelete();
     void testFormulaRefUpdateValidity();
+    void testErrorOnExternalReferences();
     void testMultipleOperations();
     void testFuncCOLUMN();
     void testFuncCOUNT();
@@ -462,6 +463,7 @@ public:
     CPPUNIT_TEST(testFormulaRefUpdateNameCopySheet);
     CPPUNIT_TEST(testFormulaRefUpdateNameDelete);
     CPPUNIT_TEST(testFormulaRefUpdateValidity);
+    CPPUNIT_TEST(testErrorOnExternalReferences);
     CPPUNIT_TEST(testMultipleOperations);
     CPPUNIT_TEST(testFuncCOLUMN);
     CPPUNIT_TEST(testFuncCOUNT);
diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx
index ca731a2..9eea4a3 100644
--- a/sc/qa/unit/ucalc_formula.cxx
+++ b/sc/qa/unit/ucalc_formula.cxx
@@ -1384,6 +1384,23 @@ void Test::testFormulaRefUpdateRange()
     m_pDoc->DeleteTab(0);
 }
 
+void Test::testErrorOnExternalReferences()
+{
+    // Test tdf#89330
+    m_pDoc->InsertTab(0, "Sheet1");
+    m_pDoc->SetString(ScAddress(0,0,0), "='file:///Path/To/FileA.ods'#$Sheet1.A1A");
+
+    ScFormulaCell* pFC = m_pDoc->GetFormulaCell(ScAddress(0,0,0));
+    CPPUNIT_ASSERT(pFC);
+    CPPUNIT_ASSERT_EQUAL(ScErrorCodes::errNoName, pFC->GetErrCode());
+
+    if (!checkFormula(*m_pDoc, ScAddress(0,0,0), "'file:///Path/To/FileA.ods'#$Sheet1.A1A"))
+        CPPUNIT_FAIL("Formula changed");
+
+    m_pDoc->DeleteTab(0);
+}
+
+
 void Test::testFormulaRefUpdateSheets()
 {
     m_pDoc->InsertTab(0, "Sheet1");
commit 0a9e7293a570da8a36b2ac4fd1c4a22d6bc084f2
Author: Jan Kantert <jan-lo at kantert.net>
Date:   Fri Feb 13 14:47:31 2015 +0100

    tdf#89330 preserve file name case in an unresolvable external named range
    
    Change-Id: Ib8728a4a9c793b162de07a0cef66e242879f2aa1
    Reviewed-on: https://gerrit.libreoffice.org/14474
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx
index 8ae1a8e..6fb4b1b 100644
--- a/sc/inc/compiler.hxx
+++ b/sc/inc/compiler.hxx
@@ -322,7 +322,7 @@ private:
     bool IsDoubleReference( const OUString& );
     bool IsMacro( const OUString& );
     bool IsNamedRange( const OUString& );
-    bool IsExternalNamedRange( const OUString& rSymbol );
+    bool IsExternalNamedRange( const OUString& rSymbol, bool& rbInvalidExternalNameRange );
     bool IsDBRange( const OUString& );
     bool IsColRowName( const OUString& );
     bool IsBoolean( const OUString& );
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index fee4159..926e56b 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -2920,7 +2920,7 @@ bool ScCompiler::IsNamedRange( const OUString& rUpperName )
         return false;
 }
 
-bool ScCompiler::IsExternalNamedRange( const OUString& rSymbol )
+bool ScCompiler::IsExternalNamedRange( const OUString& rSymbol, bool& rbInvalidExternalNameRange )
 {
     /* FIXME: This code currently (2008-12-02T15:41+0100 in CWS mooxlsc)
      * correctly parses external named references in OOo, as required per RFE
@@ -2928,6 +2928,8 @@ bool ScCompiler::IsExternalNamedRange( const OUString& rSymbol )
      * spec first. Until then don't pretend to support external names that
      * wouldn't survive a save and reload cycle, return false instead. */
 
+    rbInvalidExternalNameRange = false;
+
     if (!pConv)
         return false;
 
@@ -2944,8 +2946,11 @@ bool ScCompiler::IsExternalNamedRange( const OUString& rSymbol )
     aFile = aTmp;
     sal_uInt16 nFileId = pRefMgr->getExternalFileId(aFile);
     if (!pRefMgr->isValidRangeName(nFileId, aName))
+    {
+        rbInvalidExternalNameRange = true;
         // range name doesn't exist in the source document.
         return false;
+    }
 
     const OUString* pRealName = pRefMgr->getRealRangeName(nFileId, aName);
     maRawToken.SetExternalName(nFileId, pRealName ? *pRealName : OUString(aTmp));
@@ -3481,7 +3486,8 @@ bool ScCompiler::NextNewToken( bool bInArray )
     if (mnPredetectedReference)
     {
         OUString aStr( cSymbol);
-        if (!IsPredetectedReference( aStr) && !IsExternalNamedRange( aStr))
+        bool bInvalidExternalNameRange;
+        if (!IsPredetectedReference( aStr) && !IsExternalNamedRange( aStr, bInvalidExternalNameRange ))
         {
             /* TODO: it would be nice to generate a #REF! error here, which
              * would need an ocBad token with additional error value.
@@ -3610,8 +3616,19 @@ bool ScCompiler::NextNewToken( bool bInArray )
         if (IsNamedRange( aUpper ))
             return true;
         // Preserve case of file names in external references.
-        if (IsExternalNamedRange( aOrg ))
+        bool bInvalidExternalNameRange;
+        if (IsExternalNamedRange( aOrg, bInvalidExternalNameRange ))
+            return true;
+        // Preserve case of file names in external references even when range
+        // is not valid and previous check failed tdf#89330
+        if (bInvalidExternalNameRange)
+        {
+            // add ocBad but do not lowercase
+            svl::SharedString aSS = pDoc->GetSharedStringPool().intern(aOrg);
+            maRawToken.SetString(aSS.getData(), aSS.getDataIgnoreCase());
+            maRawToken.NewOpCode( ocBad );
             return true;
+        }
         if (IsDBRange( aUpper ))
             return true;
         // If followed by '(' (with or without space inbetween) it can not be a
commit 92cfa66f3b8dc3a3b984632bfa4d010a235c6c50
Author: Eike Rathke <erack at redhat.com>
Date:   Fri Feb 13 16:38:29 2015 +0100

    set edit selection only if necessary
    
    No visible effect, just that it's unnecessary in other cases.
    
    Change-Id: I4f40dbaea5ea647347f7e20f8e233837f7dbd8cb

diff --git a/svx/source/dialog/langbox.cxx b/svx/source/dialog/langbox.cxx
index 8b31ee4..b6259c3 100644
--- a/svx/source/dialog/langbox.cxx
+++ b/svx/source/dialog/langbox.cxx
@@ -719,8 +719,14 @@ IMPL_LINK( SvxLanguageComboBox, EditModifyHdl, SvxLanguageComboBox*, /*pEd*/ )
             // invalidates the Edit Selection thus has to happen between
             // obtaining the Selection and setting the new Selection.
             sal_Int32 nSelPos = ImplGetSelectEntryPos();
-            if (nSelPos != nPos)
+            bool bSetEditSelection;
+            if (nSelPos == nPos)
+                bSetEditSelection = false;
+            else
+            {
                 ImplSelectEntryPos( nPos, true);
+                bSetEditSelection = true;
+            }
 
             // If typing into the Edit control led us here, advance start of a
             // full selection by one so the next character will already
@@ -731,10 +737,14 @@ IMPL_LINK( SvxLanguageComboBox, EditModifyHdl, SvxLanguageComboBox*, /*pEd*/ )
             {
                 OUString aText( GetText());
                 if (aSel.Min() == aText.getLength())
+                {
                     ++aSel.Max();
+                    bSetEditSelection = true;
+                }
             }
 
-            SetSelection( aSel);
+            if (bSetEditSelection)
+                SetSelection( aSel);
 
             meEditedAndValid = EDITED_NO;
         }
commit f4f064da1aec45bb17d01cef59577191923c8ae4
Author: Thomas Klausner <wiz at NetBSD.org>
Date:   Fri Feb 13 16:40:36 2015 +0100

    git-hooks: post-merge script does not need /bin/bash
    
    Just use /bin/sh, which exists on more systems.
    
    Change-Id: I5e5453b89841510473414a4c339b647b4f95ae7b

diff --git a/.git-hooks/post-merge b/.git-hooks/post-merge
index 25e62ed..b1be512 100755
--- a/.git-hooks/post-merge
+++ b/.git-hooks/post-merge
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 # Do not warn if there were no real merge
 git rev-parse -q --verify HEAD^2 >/dev/null || exit
commit 66fa7a3b109be273af97d94e73072880bb11ea50
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Feb 13 16:07:32 2015 +0100

    Ah, Clang has some "type_visiblity" well-kept secret
    
    "[...] to allow users to control the visibility of a type for the purposes of
    RTTI [...]"
    (<http://llvm.org/viewvc/llvm-project?view=revision&revision=175587>), so fits
    well for SAL_DLLPUBLIC_RTTI
    
    Change-Id: I6494e027c3af176591ffeb1d6a8965b7d40db1a9

diff --git a/include/sal/types.h b/include/sal/types.h
index 8810695..e2517ae 100644
--- a/include/sal/types.h
+++ b/include/sal/types.h
@@ -268,7 +268,11 @@ typedef void *                   sal_Handle;
 #       define SAL_DLLPRIVATE        __attribute__ ((visibility("hidden")))
 #       define SAL_DLLPUBLIC_TEMPLATE __attribute__ ((visibility("default")))
 #       if defined __clang__
-#         define SAL_DLLPUBLIC_RTTI  __attribute__ ((visibility("default")))
+#         if __has_attribute(type_visibility)
+#           define SAL_DLLPUBLIC_RTTI  __attribute__ ((type_visibility("default")))
+#         else
+#           define SAL_DLLPUBLIC_RTTI  __attribute__ ((visibility("default")))
+#         endif
 #       else
 #         define SAL_DLLPUBLIC_RTTI
 #       endif
commit 7ad758a53a7cef0ed7b39182d45a64be427b1394
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Feb 13 15:55:26 2015 +0100

    external/harfbuzz: -fsanitize=vptr needs -frtti
    
    Change-Id: I4da774b8ebd2115a7f1ae717843498c0f452f7df

diff --git a/external/harfbuzz/UnpackedTarball_harfbuzz.mk b/external/harfbuzz/UnpackedTarball_harfbuzz.mk
index 1f9f15f..9a5560f 100644
--- a/external/harfbuzz/UnpackedTarball_harfbuzz.mk
+++ b/external/harfbuzz/UnpackedTarball_harfbuzz.mk

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list