84db6bcd3b
* orcus-0.13.3.patch OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=604
68 lines
3.1 KiB
Diff
68 lines
3.1 KiB
Diff
From 20945a9a4de6684010fd5b3603595e6da543807d Mon Sep 17 00:00:00 2001
|
|
From: Kohei Yoshida <kohei.yoshida@gmail.com>
|
|
Date: Wed, 31 Jan 2018 21:27:44 -0500
|
|
Subject: Correctly import solid fill color.
|
|
|
|
In orcus, a solid fill type uses the foreground color only and ignores
|
|
the background color. Also, let's not use the alpha component as it
|
|
would cause the color to not get rendered at all.
|
|
|
|
Some patches are applied against liborcus in order to adjust the ODF
|
|
styles import code for this change. These changes will be incorporated
|
|
in 0.13.3.
|
|
|
|
Change-Id: I9e8c243cc6a7f366de2393e7b7ecf77366f5f9ea
|
|
Reviewed-on: https://gerrit.libreoffice.org/49071
|
|
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
|
|
Tested-by: Kohei Yoshida <libreoffice@kohei.us>
|
|
---
|
|
...-of-0-means-fully-transparent.-I-m-sure-2.patch | 50 ++++++++++++++++++++++
|
|
...osed-to-use-the-foreground-color-for-soli.patch | 49 +++++++++++++++++++++
|
|
external/liborcus/UnpackedTarball_liborcus.mk | 2 +
|
|
sc/source/filter/orcus/interface.cxx | 15 ++++---
|
|
4 files changed, 111 insertions(+), 5 deletions(-)
|
|
create mode 100644 external/liborcus/0001-Alpha-value-of-0-means-fully-transparent.-I-m-sure-2.patch
|
|
create mode 100644 external/liborcus/0002-We-are-supposed-to-use-the-foreground-color-for-soli.patch
|
|
|
|
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
|
|
index e40a71b..4cfd844 100644
|
|
--- a/sc/source/filter/orcus/interface.cxx
|
|
+++ b/sc/source/filter/orcus/interface.cxx
|
|
@@ -1148,7 +1148,8 @@ void ScOrcusStyles::fill::applyToItemSet(SfxItemSet& rSet) const
|
|
return;
|
|
}
|
|
|
|
- rSet.Put(SvxBrushItem(maBgColor, ATTR_BACKGROUND));
|
|
+ if (maPattern.equalsIgnoreAsciiCase("solid"))
|
|
+ rSet.Put(SvxBrushItem(maFgColor, ATTR_BACKGROUND));
|
|
}
|
|
|
|
ScOrcusStyles::protection::protection():
|
|
@@ -1574,15 +1575,19 @@ void ScOrcusStyles::set_fill_pattern_type(const char* s, size_t n)
|
|
maCurrentFill.mbHasFillAttr = true;
|
|
}
|
|
|
|
-void ScOrcusStyles::set_fill_fg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue)
|
|
+void ScOrcusStyles::set_fill_fg_color(
|
|
+ orcus::spreadsheet::color_elem_t /*alpha*/, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue)
|
|
{
|
|
- maCurrentFill.maFgColor = Color(alpha, red, green, blue);
|
|
+ // Ignore the alpha element for now.
|
|
+ maCurrentFill.maFgColor = Color(red, green, blue);
|
|
maCurrentFill.mbHasFillAttr = true;
|
|
}
|
|
|
|
-void ScOrcusStyles::set_fill_bg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue)
|
|
+void ScOrcusStyles::set_fill_bg_color(
|
|
+ orcus::spreadsheet::color_elem_t /*alpha*/, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue)
|
|
{
|
|
- maCurrentFill.maBgColor = Color(alpha, red, green, blue);
|
|
+ // Ignore the alpha element for now.
|
|
+ maCurrentFill.maBgColor = Color(red, green, blue);
|
|
maCurrentFill.mbHasFillAttr = true;
|
|
}
|
|
|
|
--
|
|
cgit v1.1
|
|
|