Blob Blame History Raw
From 57101e7a5600ceffc78c92414bba545cf6c1c513 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Thu, 19 Nov 2015 17:29:31 +0100
Subject: [PATCH 349/398] gtktiledviewer: allow setting custom background color

E.g. it helps testing the semi-transparent shadow around Writer pages to
append "--background-color yellow" to the commandline arguments.

Change-Id: Ib94750e936abe3f41e4982534431fd5115e2c543
(cherry picked from commit 9dea0a9775c1ab8c6ce8bbf00df83757cba34fb0)
---
 libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
index f9034298e65c..aeccab11b3b2 100644
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
@@ -32,6 +32,7 @@ static int help()
     fprintf(stderr, "Usage: gtktiledviewer <absolute-path-to-libreoffice-install's-program-directory> <path-to-document> [<options> ... ]\n\n");
     fprintf(stderr, "Options:\n\n");
     fprintf(stderr, "--hide-whitespace: Hide whitespace between pages in text documents.\n");
+    fprintf(stderr, "--background-color <color>: Set custom background color, e.g. 'yellow'.\n");
     return 1;
 }
 
@@ -484,13 +485,20 @@ static void createModelAndView(const char* pLOPath, const char* pDocPath, const
     setupWidgetAndCreateWindow(pDocView);
 
     boost::property_tree::ptree aTree;
-    for (const std::string& rArgument : rArguments)
+    for (size_t i = 0; i < rArguments.size(); ++i)
     {
+        const std::string& rArgument = rArguments[i];
         if (rArgument == "--hide-whitespace")
         {
             aTree.put(boost::property_tree::ptree::path_type(".uno:HideWhitespace/type", '/'), "boolean");
             aTree.put(boost::property_tree::ptree::path_type(".uno:HideWhitespace/value", '/'), true);
         }
+        else if (rArgument == "--background-color" && i + 1 < rArguments.size())
+        {
+            GdkRGBA color;
+            gdk_rgba_parse(&color, rArguments[i + 1].c_str());
+            gtk_widget_override_background_color(gtk_widget_get_toplevel(pDocView), GTK_STATE_FLAG_NORMAL, &color);
+        }
     }
     std::stringstream aStream;
     boost::property_tree::write_json(aStream, aTree);
-- 
2.12.0