include/svx/EnhancedCustomShapeFunctionParser.hxx | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+)
New commits: commit 3f5392c19676a7274a9c9f6e4406c6ab98eab7ad Author: Tor Lillqvist <t...@collabora.com> Date: Tue Feb 14 17:50:41 2017 +0200 Add operator<< to output values of type enum class ExpressionFunct For debugging output. Change-Id: Ic2cd0dfc76eaa5814e718bd1e254427c334d6fab diff --git a/include/svx/EnhancedCustomShapeFunctionParser.hxx b/include/svx/EnhancedCustomShapeFunctionParser.hxx index 1539a7f..828a4ef 100644 --- a/include/svx/EnhancedCustomShapeFunctionParser.hxx +++ b/include/svx/EnhancedCustomShapeFunctionParser.hxx @@ -24,6 +24,7 @@ #include <com/sun/star/drawing/EnhancedCustomShapeParameter.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeParameterType.hpp> #include <memory> +#include <ostream> #include <vector> #include <svx/svxdllapi.h> @@ -83,6 +84,52 @@ enum class ExpressionFunct TernaryIf }; +template< typename charT, typename traits > +inline std::basic_ostream<charT, traits> & operator <<( + std::basic_ostream<charT, traits> & stream, const ExpressionFunct& eFunc ) +{ + switch (eFunc) + { + case ExpressionFunct::Const : return stream << "const"; + + case ExpressionFunct::EnumPi : return stream << "pi"; + case ExpressionFunct::EnumLeft : return stream << "left"; + case ExpressionFunct::EnumTop : return stream << "top"; + case ExpressionFunct::EnumRight : return stream << "right"; + case ExpressionFunct::EnumBottom : return stream << "bottom"; + case ExpressionFunct::EnumXStretch : return stream << "xstretch"; + case ExpressionFunct::EnumYStretch : return stream << "ystretch"; + case ExpressionFunct::EnumHasStroke : return stream << "hasstroke"; + case ExpressionFunct::EnumHasFill : return stream << "hasfill"; + case ExpressionFunct::EnumWidth : return stream << "width"; + case ExpressionFunct::EnumHeight : return stream << "height"; + case ExpressionFunct::EnumLogWidth : return stream << "logwidth"; + case ExpressionFunct::EnumLogHeight : return stream << "logheight"; + case ExpressionFunct::EnumAdjustment : return stream << "adjustment"; + case ExpressionFunct::EnumEquation : return stream << "equation"; + + case ExpressionFunct::UnaryAbs : return stream << "abs"; + case ExpressionFunct::UnarySqrt : return stream << "sqrt"; + case ExpressionFunct::UnarySin : return stream << "sin"; + case ExpressionFunct::UnaryCos : return stream << "cos"; + case ExpressionFunct::UnaryTan : return stream << "tan"; + case ExpressionFunct::UnaryAtan : return stream << "atan"; + case ExpressionFunct::UnaryNeg : return stream << "neg"; + + case ExpressionFunct::BinaryPlus : return stream << "plus"; + case ExpressionFunct::BinaryMinus : return stream << "minus"; + case ExpressionFunct::BinaryMul : return stream << "mul"; + case ExpressionFunct::BinaryDiv : return stream << "div"; + case ExpressionFunct::BinaryMin : return stream << "min"; + case ExpressionFunct::BinaryMax : return stream << "max"; + case ExpressionFunct::BinaryAtan2 : return stream << "atan2"; + + case ExpressionFunct::TernaryIf : return stream << "if"; + + default: return stream << "?(" << (int)eFunc << ")"; + } +} + #define EXPRESSION_FLAG_SUMANGLE_MODE 1 SVX_DLLPUBLIC void FillEquationParameter( const css::drawing::EnhancedCustomShapeParameter&, const sal_Int32, EnhancedCustomShapeEquation& ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits