From 473526e1ca3a7117e2daf977e1b82a0a3977fc84 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida 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