summaryrefslogtreecommitdiffstats
path: root/external/liborcus/0002-We-are-supposed-to-use-the-foreground-color-for-soli.patch
blob: ebb233ac7b8d45d932f0f81edc265ff695538a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
From 473526e1ca3a7117e2daf977e1b82a0a3977fc84 Mon Sep 17 00:00:00 2001
From: Kohei Yoshida <kohei.yoshida@gmail.com>
Date: Wed, 31 Jan 2018 22:24:45 -0500
Subject: [PATCH 2/2] We are supposed to use the foreground color for solid
 fill.

(cherry picked from commit f821995022df8dd1e580dd22cf131584b2b1ac4f)
---
 src/liborcus/odf_styles_context.cpp      | 3 ++-
 src/liborcus/odf_styles_context_test.cpp | 9 +++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/liborcus/odf_styles_context.cpp b/src/liborcus/odf_styles_context.cpp
index f9c422a..e5f1cc6 100644
--- a/src/liborcus/odf_styles_context.cpp
+++ b/src/liborcus/odf_styles_context.cpp
@@ -739,7 +739,8 @@ void styles_context::start_element(xmlns_id_t ns, xml_token_t name, const std::v
                     {
                         spreadsheet::color_elem_t red, green, blue;
                         func.get_background_color(red, green, blue);
-                        mp_styles->set_fill_bg_color(255, red, green, blue);
+                        mp_styles->set_fill_pattern_type(ORCUS_ASCII("solid"));
+                        mp_styles->set_fill_fg_color(255, red, green, blue);
                     }
 
                     size_t fill_id = mp_styles->commit_fill();
diff --git a/src/liborcus/odf_styles_context_test.cpp b/src/liborcus/odf_styles_context_test.cpp
index 4c7eab5..7255a54 100644
--- a/src/liborcus/odf_styles_context_test.cpp
+++ b/src/liborcus/odf_styles_context_test.cpp
@@ -48,10 +48,11 @@ void test_odf_fill(orcus::spreadsheet::import_styles &styles)
     std::cerr << std::hex << (int)fill;
     const orcus::spreadsheet::fill_t* cell_fill = styles.get_fill(fill);
     assert(cell_fill);
-    std::cerr << std::hex << (int)cell_fill->bg_color.red;
-    assert(cell_fill->bg_color.red == 0xfe);
-    assert(cell_fill->bg_color.green == 0xff);
-    assert(cell_fill->bg_color.blue == 0xcc);
+    std::cerr << std::hex << (int)cell_fill->fg_color.red;
+    assert(cell_fill->fg_color.red == 0xfe);
+    assert(cell_fill->fg_color.green == 0xff);
+    assert(cell_fill->fg_color.blue == 0xcc);
+    assert(cell_fill->pattern_type == "solid");
 }
 
 void test_odf_border(orcus::spreadsheet::import_styles &styles)
-- 
2.7.4