Support import, storage, and export of OOXML chart color styles (color sequence). In OOXML, chart color styles are in files such as colors1.xml, and conform to the chartStyle schema. This commit supports I/O of color styles, and provides supports storing them in the chart document model. It does not include any features for using or modifying the color styles, so at this point it has no appreciable effect on users. Change-Id: I5c02137ebf9c25e11951eea55c4c77fda35b0e80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194998 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
65 lines
1.4 KiB
C++
65 lines
1.4 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <com/sun/star/uno/Reference.hxx>
|
|
|
|
#include <docmodel/color/ComplexColor.hxx>
|
|
#include <comphelper/string.hxx>
|
|
#include <rtl/ustring.hxx>
|
|
#include <memory>
|
|
#include <forward_list>
|
|
|
|
namespace com::sun::star::beans
|
|
{
|
|
class XPropertySet;
|
|
}
|
|
|
|
using namespace com::sun::star;
|
|
|
|
namespace model
|
|
{
|
|
enum class ColorStyleMethod
|
|
{
|
|
CYCLE,
|
|
WITHIN_LINEAR,
|
|
ACROSS_LINEAR,
|
|
WITHIN_LINEAR_REVERSED,
|
|
ACROSS_LINEAR_REVERSED
|
|
};
|
|
|
|
struct DOCMODEL_DLLPUBLIC ColorStyleEntry
|
|
{
|
|
std::vector<model::ComplexColor> maComplexColors;
|
|
ColorStyleMethod meMethod;
|
|
sal_Int32 mnId;
|
|
|
|
ColorStyleEntry(std::vector<model::ComplexColor>& aCColors, ColorStyleMethod eMethod,
|
|
sal_Int32 nId)
|
|
: maComplexColors(std::move(aCColors))
|
|
, meMethod(eMethod)
|
|
, mnId(nId)
|
|
{
|
|
}
|
|
};
|
|
|
|
struct DOCMODEL_DLLPUBLIC ColorStyleSet
|
|
{
|
|
std::forward_list<ColorStyleEntry> maEntryList;
|
|
|
|
void addEntry(std::vector<model::ComplexColor>& aComplexColors, ColorStyleMethod eMethod,
|
|
sal_Int32 nId);
|
|
};
|
|
|
|
} // namespace model
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|