summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2017-10-17 22:14:38 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2017-10-31 13:52:34 +0100
commitc344d74a6961ec39685d718fbb7c29dd186ca0a4 (patch)
treef89560e389198cf614558da0fdd2229db27a141d /include
parent54293c1fae0c774c72a8564a25844aecf6d40f7f (diff)
PPTX export: remember color schemes in theme
Remember color scheme from loaded pptx file or use default values. Change-Id: Icb69c51603afc5f332c20c75e4ed5f659f4b5614 Reviewed-on: https://gerrit.libreoffice.org/43470 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/44081 Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'include')
-rw-r--r--include/oox/drawingml/clrscheme.hxx33
-rw-r--r--include/oox/export/utils.hxx15
-rw-r--r--include/oox/ppt/presentationfragmenthandler.hxx1
3 files changed, 47 insertions, 2 deletions
diff --git a/include/oox/drawingml/clrscheme.hxx b/include/oox/drawingml/clrscheme.hxx
index ccb1517e44eb..ccf918d7ba74 100644
--- a/include/oox/drawingml/clrscheme.hxx
+++ b/include/oox/drawingml/clrscheme.hxx
@@ -28,9 +28,42 @@
#include <oox/dllapi.h>
#include <sal/types.h>
+#include <rtl/ustring.hxx>
namespace oox { namespace drawingml {
+enum PredefinedClrSchemeId {
+ //dk1,
+ //lt1,
+ dk2 = 0,
+ lt2,
+ accent1,
+ accent2,
+ accent3,
+ accent4,
+ accent5,
+ accent6,
+ hlink,
+ folHlink,
+ Count
+};
+
+static std::map<PredefinedClrSchemeId, rtl::OUString> PredefinedClrNames =
+{
+ //{ dk1, "dk1" },
+ //{ lt1, "lt1" },
+ { dk2, "dk2" },
+ { lt2, "lt2" },
+ { accent1, "accent1" },
+ { accent2, "accent2" },
+ { accent3, "accent3" },
+ { accent4, "accent4" },
+ { accent5, "accent5" },
+ { accent6, "accent6" },
+ { hlink, "hlink" },
+ { folHlink, "folHlink" }
+};
+
class ClrMap
{
std::map < sal_Int32, sal_Int32 > maClrMap;
diff --git a/include/oox/export/utils.hxx b/include/oox/export/utils.hxx
index 599e45ee55f8..9f13cf87c4c8 100644
--- a/include/oox/export/utils.hxx
+++ b/include/oox/export/utils.hxx
@@ -24,8 +24,19 @@
#include <rtl/textenc.h>
#include <sal/types.h>
-#define I32S(x) OString::number( (sal_Int32) x ).getStr()
-#define I64S(x) OString::number( (sal_Int64) x ).getStr()
+inline OString I32S_(sal_Int32 x) { return OString::number(x); }
+inline OString I32SHEX_(sal_Int32 x)
+{
+ OString aStr = OString::number(x, 16);
+ while (aStr.getLength() < 6)
+ aStr = OString("0") + aStr;
+ return aStr.getStr();
+}
+inline OString I64S_(sal_Int64 x) { return OString::number(x); }
+inline OString DS_(double x) { return OString::number(x); }
+#define I32S(x) I32S_(x).getStr()
+#define I32SHEX(x) I32SHEX_(x).getStr()
+#define I64S(x) I64S_(x).getStr()
#define IS(x) OString::number( x ).getStr()
#define BS(x) (x ? "1":"0")
#define USS(x) OUStringToOString( x, RTL_TEXTENCODING_UTF8 ).getStr()
diff --git a/include/oox/ppt/presentationfragmenthandler.hxx b/include/oox/ppt/presentationfragmenthandler.hxx
index aeda119cd2f1..637e70643be7 100644
--- a/include/oox/ppt/presentationfragmenthandler.hxx
+++ b/include/oox/ppt/presentationfragmenthandler.hxx
@@ -53,6 +53,7 @@ protected:
private:
void importSlide(sal_uInt32 nSlide, bool bFirstSlide, bool bImportNotes);
+ void saveThemeToGrabBag(oox::drawingml::ThemePtr pThemePtr, const OUString& sTheme);
std::vector< OUString > maSlideMasterVector;
std::vector< OUString > maSlidesVector;