diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-02 11:43:46 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-05 07:35:01 +0100 |
commit | 61d79dd740958186c4a4344e18eaeb5b2c139c91 (patch) | |
tree | abea71a038352572871ea1fb2a9c40d2f196ddd6 /oox/source/drawingml | |
parent | 04c9cb68dffa2af15661cc35bc61032b036ed2cd (diff) |
use more Color in oox
Change-Id: I8fdc6742de5af9101e246411e7208650bae2c4c7
Reviewed-on: https://gerrit.libreoffice.org/50617
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'oox/source/drawingml')
-rw-r--r-- | oox/source/drawingml/chart/objectformatter.cxx | 22 | ||||
-rw-r--r-- | oox/source/drawingml/chart/seriesconverter.cxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/chart/typegroupconverter.cxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/clrscheme.cxx | 8 | ||||
-rw-r--r-- | oox/source/drawingml/color.cxx | 211 | ||||
-rw-r--r-- | oox/source/drawingml/fillproperties.cxx | 36 | ||||
-rw-r--r-- | oox/source/drawingml/lineproperties.cxx | 2 | ||||
-rw-r--r-- | oox/source/drawingml/shape.cxx | 6 | ||||
-rw-r--r-- | oox/source/drawingml/shape3dproperties.cxx | 4 | ||||
-rw-r--r-- | oox/source/drawingml/table/tablecell.cxx | 8 |
10 files changed, 153 insertions, 148 deletions
diff --git a/oox/source/drawingml/chart/objectformatter.cxx b/oox/source/drawingml/chart/objectformatter.cxx index 8d49c0d01fef..5b5f67b39d5b 100644 --- a/oox/source/drawingml/chart/objectformatter.cxx +++ b/oox/source/drawingml/chart/objectformatter.cxx @@ -578,17 +578,17 @@ public: protected: /** Returns the placeholder color which may depend on the passed series index. */ - sal_Int32 getPhColor( sal_Int32 nSeriesIdx ) const; + ::Color getPhColor( sal_Int32 nSeriesIdx ) const; private: /** Resolves and returns the scheme color with the passed transformation. */ - sal_Int32 getSchemeColor( sal_Int32 nColorToken, sal_Int32 nModToken, sal_Int32 nModValue ) const; + ::Color getSchemeColor( sal_Int32 nColorToken, sal_Int32 nModToken, sal_Int32 nModValue ) const; protected: - typedef ::std::vector< sal_Int32 > ColorPatternVec; + typedef ::std::vector< ::Color > ColorPatternVec; ObjectFormatterData& mrData; /// Shared formatter data. - sal_Int32 mnPhClr; /// RGB placeholder color for themed style. + ::Color mnPhClr; /// RGB placeholder color for themed style. ColorPatternVec maColorPattern; /// Different cycling colors for data series. }; @@ -718,7 +718,7 @@ struct ObjectFormatterData DetailFormatterBase::DetailFormatterBase( ObjectFormatterData& rData, const AutoFormatEntry* pAutoFormatEntry ) : mrData( rData ), - mnPhClr( -1 ) + mnPhClr( 0xffffffff ) { if( pAutoFormatEntry ) { @@ -740,13 +740,13 @@ DetailFormatterBase::DetailFormatterBase( ObjectFormatterData& rData, const Auto DetailFormatterBase::DetailFormatterBase( ObjectFormatterData& rData, const AutoTextEntry* pAutoTextEntry ) : mrData( rData ), - mnPhClr( -1 ) + mnPhClr( 0xffffffff ) { if( pAutoTextEntry && (pAutoTextEntry->mnColorToken != XML_TOKEN_INVALID) ) mnPhClr = getSchemeColor( pAutoTextEntry->mnColorToken, XML_TOKEN_INVALID, 0 ); } -sal_Int32 DetailFormatterBase::getPhColor( sal_Int32 nSeriesIdx ) const +::Color DetailFormatterBase::getPhColor( sal_Int32 nSeriesIdx ) const { if( maColorPattern.empty() || (mrData.mnMaxSeriesIdx < 0) || (nSeriesIdx < 0) ) return mnPhClr; @@ -782,7 +782,7 @@ sal_Int32 DetailFormatterBase::getPhColor( sal_Int32 nSeriesIdx ) const step 5: 42% -> Cycle #4 has 42% tint of accent colors 1...6 step 6: 70% -> Not used. */ - sal_Int32 nPhClr = maColorPattern[ static_cast< size_t >( nSeriesIdx % maColorPattern.size() ) ]; + ::Color nPhClr = maColorPattern[ static_cast< size_t >( nSeriesIdx % maColorPattern.size() ) ]; size_t nCycleIdx = static_cast< size_t >( nSeriesIdx / maColorPattern.size() ); size_t nMaxCycleIdx = static_cast< size_t >( mrData.mnMaxSeriesIdx / maColorPattern.size() ); double fShadeTint = static_cast< double >( nCycleIdx + 1 ) / (nMaxCycleIdx + 2) * 1.4 - 0.7; @@ -797,7 +797,7 @@ sal_Int32 DetailFormatterBase::getPhColor( sal_Int32 nSeriesIdx ) const return nPhClr; } -sal_Int32 DetailFormatterBase::getSchemeColor( sal_Int32 nColorToken, sal_Int32 nModToken, sal_Int32 nModValue ) const +::Color DetailFormatterBase::getSchemeColor( sal_Int32 nColorToken, sal_Int32 nModToken, sal_Int32 nModValue ) const { Color aColor; aColor.setSchemeClr( nColorToken ); @@ -882,8 +882,8 @@ TextFormatter::TextFormatter( ObjectFormatterData& rData, const AutoTextEntry* p if( const Theme* pTheme = mrData.mrFilter.getCurrentTheme() ) if( const TextCharacterProperties* pTextProps = pTheme->getFontStyle( pAutoTextEntry->mnThemedFont ) ) *mxAutoText = *pTextProps; - sal_Int32 nTextColor = getPhColor( -1 ); - if( nTextColor >= 0 ) { + ::Color nTextColor = getPhColor( -1 ); + if( sal_Int32(nTextColor) >= 0 ) { mxAutoText->maFillProperties.maFillColor.setSrgbClr( nTextColor ); mxAutoText->maFillProperties.moFillType.set(XML_solidFill); } diff --git a/oox/source/drawingml/chart/seriesconverter.cxx b/oox/source/drawingml/chart/seriesconverter.cxx index c27771256a80..ac5977d115da 100644 --- a/oox/source/drawingml/chart/seriesconverter.cxx +++ b/oox/source/drawingml/chart/seriesconverter.cxx @@ -222,7 +222,7 @@ void importBorderProperties( PropertySet& rPropSet, Shape& rShape, const Graphic rPropSet.setProperty(PROP_LabelBorderStyle, uno::makeAny(drawing::LineStyle_SOLID)); } const Color& aColor = rLP.maLineFill.maFillColor; - sal_Int32 nColor = aColor.getColor(rGraphicHelper); + ::Color nColor = aColor.getColor(rGraphicHelper); rPropSet.setProperty(PROP_LabelBorderColor, uno::makeAny(nColor)); } diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx b/oox/source/drawingml/chart/typegroupconverter.cxx index fc14b34d0753..66de768d8d8a 100644 --- a/oox/source/drawingml/chart/typegroupconverter.cxx +++ b/oox/source/drawingml/chart/typegroupconverter.cxx @@ -478,7 +478,7 @@ void TypeGroupConverter::convertMarker( PropertySet& rPropSet, sal_Int32 nOoxSym if(xShapeProps.is()) { Color aFillColor = xShapeProps->getFillProperties().maFillColor; - aSymbol.FillColor = aFillColor.getColor(getFilter().getGraphicHelper()); + aSymbol.FillColor = sal_Int32(aFillColor.getColor(getFilter().getGraphicHelper())); rPropSet.setProperty(PROP_Color, aSymbol.FillColor); } diff --git a/oox/source/drawingml/clrscheme.cxx b/oox/source/drawingml/clrscheme.cxx index 0c6517abfbc3..8e2272f0039b 100644 --- a/oox/source/drawingml/clrscheme.cxx +++ b/oox/source/drawingml/clrscheme.cxx @@ -52,7 +52,7 @@ struct find_by_token { } - bool operator()(const std::pair<sal_Int32, sal_Int32>& r) + bool operator()(const std::pair<sal_Int32, ::Color>& r) { return r.first == m_token; } @@ -61,7 +61,7 @@ private: sal_Int32 m_token; }; -bool ClrScheme::getColor( sal_Int32 nSchemeClrToken, sal_Int32& rColor ) const +bool ClrScheme::getColor( sal_Int32 nSchemeClrToken, ::Color& rColor ) const { OSL_ASSERT((nSchemeClrToken & sal_Int32(0xFFFF0000))==0); switch( nSchemeClrToken ) @@ -80,7 +80,7 @@ bool ClrScheme::getColor( sal_Int32 nSchemeClrToken, sal_Int32& rColor ) const return aIter != maClrScheme.end(); } -void ClrScheme::setColor( sal_Int32 nSchemeClrToken, sal_Int32 nColor ) +void ClrScheme::setColor( sal_Int32 nSchemeClrToken, ::Color nColor ) { const auto aIter = std::find_if(maClrScheme.begin(), maClrScheme.end(), find_by_token(nSchemeClrToken) ); if ( aIter != maClrScheme.end() ) @@ -89,7 +89,7 @@ void ClrScheme::setColor( sal_Int32 nSchemeClrToken, sal_Int32 nColor ) maClrScheme.emplace_back(nSchemeClrToken, nColor); } -bool ClrScheme::getColorByIndex(size_t nIndex, sal_Int32& rColor) const +bool ClrScheme::getColorByIndex(size_t nIndex, ::Color& rColor) const { if (nIndex >= maClrScheme.size()) return false; diff --git a/oox/source/drawingml/color.cxx b/oox/source/drawingml/color.cxx index ad27220d565b..ec4a18008719 100644 --- a/oox/source/drawingml/color.cxx +++ b/oox/source/drawingml/color.cxx @@ -35,7 +35,7 @@ namespace { /** Global storage for predefined color values used in OOXML file formats. */ struct PresetColorsPool { - typedef ::std::vector< sal_Int32 > ColorVector; + typedef ::std::vector< ::Color > ColorVector; ColorVector maDmlColors; /// Predefined colors in DrawingML, indexed by XML token. ColorVector maVmlColors; /// Predefined colors in VML, indexed by XML token. @@ -48,93 +48,93 @@ PresetColorsPool::PresetColorsPool() : maVmlColors( static_cast< size_t >( XML_TOKEN_COUNT ), API_RGB_TRANSPARENT ) { // predefined colors in DrawingML (map XML token identifiers to RGB values) - static const std::pair<sal_Int32, sal_Int32> spnDmlColors[] = + static const std::pair<sal_Int32, ::Color> spnDmlColors[] = { - {XML_aliceBlue, 0xF0F8FF}, {XML_antiqueWhite, 0xFAEBD7}, - {XML_aqua, 0x00FFFF}, {XML_aquamarine, 0x7FFFD4}, - {XML_azure, 0xF0FFFF}, {XML_beige, 0xF5F5DC}, - {XML_bisque, 0xFFE4C4}, {XML_black, 0x000000}, - {XML_blanchedAlmond, 0xFFEBCD}, {XML_blue, 0x0000FF}, - {XML_blueViolet, 0x8A2BE2}, {XML_brown, 0xA52A2A}, - {XML_burlyWood, 0xDEB887}, {XML_cadetBlue, 0x5F9EA0}, - {XML_chartreuse, 0x7FFF00}, {XML_chocolate, 0xD2691E}, - {XML_coral, 0xFF7F50}, {XML_cornflowerBlue, 0x6495ED}, - {XML_cornsilk, 0xFFF8DC}, {XML_crimson, 0xDC143C}, - {XML_cyan, 0x00FFFF}, {XML_deepPink, 0xFF1493}, - {XML_deepSkyBlue, 0x00BFFF}, {XML_dimGray, 0x696969}, - {XML_dkBlue, 0x00008B}, {XML_dkCyan, 0x008B8B}, - {XML_dkGoldenrod, 0xB8860B}, {XML_dkGray, 0xA9A9A9}, - {XML_dkGreen, 0x006400}, {XML_dkKhaki, 0xBDB76B}, - {XML_dkMagenta, 0x8B008B}, {XML_dkOliveGreen, 0x556B2F}, - {XML_dkOrange, 0xFF8C00}, {XML_dkOrchid, 0x9932CC}, - {XML_dkRed, 0x8B0000}, {XML_dkSalmon, 0xE9967A}, - {XML_dkSeaGreen, 0x8FBC8B}, {XML_dkSlateBlue, 0x483D8B}, - {XML_dkSlateGray, 0x2F4F4F}, {XML_dkTurquoise, 0x00CED1}, - {XML_dkViolet, 0x9400D3}, {XML_dodgerBlue, 0x1E90FF}, - {XML_firebrick, 0xB22222}, {XML_floralWhite, 0xFFFAF0}, - {XML_forestGreen, 0x228B22}, {XML_fuchsia, 0xFF00FF}, - {XML_gainsboro, 0xDCDCDC}, {XML_ghostWhite, 0xF8F8FF}, - {XML_gold, 0xFFD700}, {XML_goldenrod, 0xDAA520}, - {XML_gray, 0x808080}, {XML_green, 0x008000}, - {XML_greenYellow, 0xADFF2F}, {XML_honeydew, 0xF0FFF0}, - {XML_hotPink, 0xFF69B4}, {XML_indianRed, 0xCD5C5C}, - {XML_indigo, 0x4B0082}, {XML_ivory, 0xFFFFF0}, - {XML_khaki, 0xF0E68C}, {XML_lavender, 0xE6E6FA}, - {XML_lavenderBlush, 0xFFF0F5}, {XML_lawnGreen, 0x7CFC00}, - {XML_lemonChiffon, 0xFFFACD}, {XML_lime, 0x00FF00}, - {XML_limeGreen, 0x32CD32}, {XML_linen, 0xFAF0E6}, - {XML_ltBlue, 0xADD8E6}, {XML_ltCoral, 0xF08080}, - {XML_ltCyan, 0xE0FFFF}, {XML_ltGoldenrodYellow, 0xFAFA78}, - {XML_ltGray, 0xD3D3D3}, {XML_ltGreen, 0x90EE90}, - {XML_ltPink, 0xFFB6C1}, {XML_ltSalmon, 0xFFA07A}, - {XML_ltSeaGreen, 0x20B2AA}, {XML_ltSkyBlue, 0x87CEFA}, - {XML_ltSlateGray, 0x778899}, {XML_ltSteelBlue, 0xB0C4DE}, - {XML_ltYellow, 0xFFFFE0}, {XML_magenta, 0xFF00FF}, - {XML_maroon, 0x800000}, {XML_medAquamarine, 0x66CDAA}, - {XML_medBlue, 0x0000CD}, {XML_medOrchid, 0xBA55D3}, - {XML_medPurple, 0x9370DB}, {XML_medSeaGreen, 0x3CB371}, - {XML_medSlateBlue, 0x7B68EE}, {XML_medSpringGreen, 0x00FA9A}, - {XML_medTurquoise, 0x48D1CC}, {XML_medVioletRed, 0xC71585}, - {XML_midnightBlue, 0x191970}, {XML_mintCream, 0xF5FFFA}, - {XML_mistyRose, 0xFFE4E1}, {XML_moccasin, 0xFFE4B5}, - {XML_navajoWhite, 0xFFDEAD}, {XML_navy, 0x000080}, - {XML_oldLace, 0xFDF5E6}, {XML_olive, 0x808000}, - {XML_oliveDrab, 0x6B8E23}, {XML_orange, 0xFFA500}, - {XML_orangeRed, 0xFF4500}, {XML_orchid, 0xDA70D6}, - {XML_paleGoldenrod, 0xEEE8AA}, {XML_paleGreen, 0x98FB98}, - {XML_paleTurquoise, 0xAFEEEE}, {XML_paleVioletRed, 0xDB7093}, - {XML_papayaWhip, 0xFFEFD5}, {XML_peachPuff, 0xFFDAB9}, - {XML_peru, 0xCD853F}, {XML_pink, 0xFFC0CB}, - {XML_plum, 0xDDA0DD}, {XML_powderBlue, 0xB0E0E6}, - {XML_purple, 0x800080}, {XML_red, 0xFF0000}, - {XML_rosyBrown, 0xBC8F8F}, {XML_royalBlue, 0x4169E1}, - {XML_saddleBrown, 0x8B4513}, {XML_salmon, 0xFA8072}, - {XML_sandyBrown, 0xF4A460}, {XML_seaGreen, 0x2E8B57}, - {XML_seaShell, 0xFFF5EE}, {XML_sienna, 0xA0522D}, - {XML_silver, 0xC0C0C0}, {XML_skyBlue, 0x87CEEB}, - {XML_slateBlue, 0x6A5ACD}, {XML_slateGray, 0x708090}, - {XML_snow, 0xFFFAFA}, {XML_springGreen, 0x00FF7F}, - {XML_steelBlue, 0x4682B4}, {XML_tan, 0xD2B48C}, - {XML_teal, 0x008080}, {XML_thistle, 0xD8BFD8}, - {XML_tomato, 0xFF6347}, {XML_turquoise, 0x40E0D0}, - {XML_violet, 0xEE82EE}, {XML_wheat, 0xF5DEB3}, - {XML_white, 0xFFFFFF}, {XML_whiteSmoke, 0xF5F5F5}, - {XML_yellow, 0xFFFF00}, {XML_yellowGreen, 0x9ACD32} + {XML_aliceBlue, ::Color(0xF0F8FF)}, {XML_antiqueWhite, ::Color(0xFAEBD7)}, + {XML_aqua, ::Color(0x00FFFF)}, {XML_aquamarine, ::Color(0x7FFFD4)}, + {XML_azure, ::Color(0xF0FFFF)}, {XML_beige, ::Color(0xF5F5DC)}, + {XML_bisque, ::Color(0xFFE4C4)}, {XML_black, ::Color(0x000000)}, + {XML_blanchedAlmond, ::Color(0xFFEBCD)}, {XML_blue, ::Color(0x0000FF)}, + {XML_blueViolet, ::Color(0x8A2BE2)}, {XML_brown, ::Color(0xA52A2A)}, + {XML_burlyWood, ::Color(0xDEB887)}, {XML_cadetBlue, ::Color(0x5F9EA0)}, + {XML_chartreuse, ::Color(0x7FFF00)}, {XML_chocolate, ::Color(0xD2691E)}, + {XML_coral, ::Color(0xFF7F50)}, {XML_cornflowerBlue, ::Color(0x6495ED)}, + {XML_cornsilk, ::Color(0xFFF8DC)}, {XML_crimson, ::Color(0xDC143C)}, + {XML_cyan, ::Color(0x00FFFF)}, {XML_deepPink, ::Color(0xFF1493)}, + {XML_deepSkyBlue, ::Color(0x00BFFF)}, {XML_dimGray, ::Color(0x696969)}, + {XML_dkBlue, ::Color(0x00008B)}, {XML_dkCyan, ::Color(0x008B8B)}, + {XML_dkGoldenrod, ::Color(0xB8860B)}, {XML_dkGray, ::Color(0xA9A9A9)}, + {XML_dkGreen, ::Color(0x006400)}, {XML_dkKhaki, ::Color(0xBDB76B)}, + {XML_dkMagenta, ::Color(0x8B008B)}, {XML_dkOliveGreen, ::Color(0x556B2F)}, + {XML_dkOrange, ::Color(0xFF8C00)}, {XML_dkOrchid, ::Color(0x9932CC)}, + {XML_dkRed, ::Color(0x8B0000)}, {XML_dkSalmon, ::Color(0xE9967A)}, + {XML_dkSeaGreen, ::Color(0x8FBC8B)}, {XML_dkSlateBlue, ::Color(0x483D8B)}, + {XML_dkSlateGray, ::Color(0x2F4F4F)}, {XML_dkTurquoise, ::Color(0x00CED1)}, + {XML_dkViolet, ::Color(0x9400D3)}, {XML_dodgerBlue, ::Color(0x1E90FF)}, + {XML_firebrick, ::Color(0xB22222)}, {XML_floralWhite, ::Color(0xFFFAF0)}, + {XML_forestGreen, ::Color(0x228B22)}, {XML_fuchsia, ::Color(0xFF00FF)}, + {XML_gainsboro, ::Color(0xDCDCDC)}, {XML_ghostWhite, ::Color(0xF8F8FF)}, + {XML_gold, ::Color(0xFFD700)}, {XML_goldenrod, ::Color(0xDAA520)}, + {XML_gray, ::Color(0x808080)}, {XML_green, ::Color(0x008000)}, + {XML_greenYellow, ::Color(0xADFF2F)}, {XML_honeydew, ::Color(0xF0FFF0)}, + {XML_hotPink, ::Color(0xFF69B4)}, {XML_indianRed, ::Color(0xCD5C5C)}, + {XML_indigo, ::Color(0x4B0082)}, {XML_ivory, ::Color(0xFFFFF0)}, + {XML_khaki, ::Color(0xF0E68C)}, {XML_lavender, ::Color(0xE6E6FA)}, + {XML_lavenderBlush, ::Color(0xFFF0F5)}, {XML_lawnGreen, ::Color(0x7CFC00)}, + {XML_lemonChiffon, ::Color(0xFFFACD)}, {XML_lime, ::Color(0x00FF00)}, + {XML_limeGreen, ::Color(0x32CD32)}, {XML_linen, ::Color(0xFAF0E6)}, + {XML_ltBlue, ::Color(0xADD8E6)}, {XML_ltCoral, ::Color(0xF08080)}, + {XML_ltCyan, ::Color(0xE0FFFF)}, {XML_ltGoldenrodYellow, ::Color(0xFAFA78)}, + {XML_ltGray, ::Color(0xD3D3D3)}, {XML_ltGreen, ::Color(0x90EE90)}, + {XML_ltPink, ::Color(0xFFB6C1)}, {XML_ltSalmon, ::Color(0xFFA07A)}, + {XML_ltSeaGreen, ::Color(0x20B2AA)}, {XML_ltSkyBlue, ::Color(0x87CEFA)}, + {XML_ltSlateGray, ::Color(0x778899)}, {XML_ltSteelBlue, ::Color(0xB0C4DE)}, + {XML_ltYellow, ::Color(0xFFFFE0)}, {XML_magenta, ::Color(0xFF00FF)}, + {XML_maroon, ::Color(0x800000)}, {XML_medAquamarine, ::Color(0x66CDAA)}, + {XML_medBlue, ::Color(0x0000CD)}, {XML_medOrchid, ::Color(0xBA55D3)}, + {XML_medPurple, ::Color(0x9370DB)}, {XML_medSeaGreen, ::Color(0x3CB371)}, + {XML_medSlateBlue, ::Color(0x7B68EE)}, {XML_medSpringGreen, ::Color(0x00FA9A)}, + {XML_medTurquoise, ::Color(0x48D1CC)}, {XML_medVioletRed, ::Color(0xC71585)}, + {XML_midnightBlue, ::Color(0x191970)}, {XML_mintCream, ::Color(0xF5FFFA)}, + {XML_mistyRose, ::Color(0xFFE4E1)}, {XML_moccasin, ::Color(0xFFE4B5)}, + {XML_navajoWhite, ::Color(0xFFDEAD)}, {XML_navy, ::Color(0x000080)}, + {XML_oldLace, ::Color(0xFDF5E6)}, {XML_olive, ::Color(0x808000)}, + {XML_oliveDrab, ::Color(0x6B8E23)}, {XML_orange, ::Color(0xFFA500)}, + {XML_orangeRed, ::Color(0xFF4500)}, {XML_orchid, ::Color(0xDA70D6)}, + {XML_paleGoldenrod, ::Color(0xEEE8AA)}, {XML_paleGreen, ::Color(0x98FB98)}, + {XML_paleTurquoise, ::Color(0xAFEEEE)}, {XML_paleVioletRed, ::Color(0xDB7093)}, + {XML_papayaWhip, ::Color(0xFFEFD5)}, {XML_peachPuff, ::Color(0xFFDAB9)}, + {XML_peru, ::Color(0xCD853F)}, {XML_pink, ::Color(0xFFC0CB)}, + {XML_plum, ::Color(0xDDA0DD)}, {XML_powderBlue, ::Color(0xB0E0E6)}, + {XML_purple, ::Color(0x800080)}, {XML_red, ::Color(0xFF0000)}, + {XML_rosyBrown, ::Color(0xBC8F8F)}, {XML_royalBlue, ::Color(0x4169E1)}, + {XML_saddleBrown, ::Color(0x8B4513)}, {XML_salmon, ::Color(0xFA8072)}, + {XML_sandyBrown, ::Color(0xF4A460)}, {XML_seaGreen, ::Color(0x2E8B57)}, + {XML_seaShell, ::Color(0xFFF5EE)}, {XML_sienna, ::Color(0xA0522D)}, + {XML_silver, ::Color(0xC0C0C0)}, {XML_skyBlue, ::Color(0x87CEEB)}, + {XML_slateBlue, ::Color(0x6A5ACD)}, {XML_slateGray, ::Color(0x708090)}, + {XML_snow, ::Color(0xFFFAFA)}, {XML_springGreen, ::Color(0x00FF7F)}, + {XML_steelBlue, ::Color(0x4682B4)}, {XML_tan, ::Color(0xD2B48C)}, + {XML_teal, ::Color(0x008080)}, {XML_thistle, ::Color(0xD8BFD8)}, + {XML_tomato, ::Color(0xFF6347)}, {XML_turquoise, ::Color(0x40E0D0)}, + {XML_violet, ::Color(0xEE82EE)}, {XML_wheat, ::Color(0xF5DEB3)}, + {XML_white, ::Color(0xFFFFFF)}, {XML_whiteSmoke, ::Color(0xF5F5F5)}, + {XML_yellow, ::Color(0xFFFF00)}, {XML_yellowGreen, ::Color(0x9ACD32)} }; for(auto const& nEntry : spnDmlColors) maDmlColors[ static_cast< size_t >(nEntry.first) ] = nEntry.second; // predefined colors in VML (map XML token identifiers to RGB values) - static const std::pair<sal_Int32, sal_Int32> spnVmlColors[] = + static const std::pair<sal_Int32, ::Color> spnVmlColors[] = { - {XML_aqua, 0x00FFFF}, {XML_black, 0x000000}, - {XML_blue, 0x0000FF}, {XML_fuchsia, 0xFF00FF}, - {XML_gray, 0x808080}, {XML_green, 0x008000}, - {XML_lime, 0x00FF00}, {XML_maroon, 0x800000}, - {XML_navy, 0x000080}, {XML_olive, 0x808000}, - {XML_purple, 0x800080}, {XML_red, 0xFF0000}, - {XML_silver, 0xC0C0C0}, {XML_teal, 0x008080}, - {XML_white, 0xFFFFFF}, {XML_yellow, 0xFFFF00} + {XML_aqua, ::Color(0x00FFFF)}, {XML_black, ::Color(0x000000)}, + {XML_blue, ::Color(0x0000FF)}, {XML_fuchsia, ::Color(0xFF00FF)}, + {XML_gray, ::Color(0x808080)}, {XML_green, ::Color(0x008000)}, + {XML_lime, ::Color(0x00FF00)}, {XML_maroon, ::Color(0x800000)}, + {XML_navy, ::Color(0x000080)}, {XML_olive, ::Color(0x808000)}, + {XML_purple, ::Color(0x800080)}, {XML_red, ::Color(0xFF0000)}, + {XML_silver, ::Color(0xC0C0C0)}, {XML_teal, ::Color(0x008080)}, + {XML_white, ::Color(0xFFFFFF)}, {XML_yellow, ::Color(0xFFFF00)} }; for(auto const& nEntry : spnVmlColors) maVmlColors[ static_cast< size_t >(nEntry.first) ] = nEntry.second; @@ -145,11 +145,11 @@ struct StaticPresetColorsPool : public ::rtl::Static< PresetColorsPool, StaticPr const double DEC_GAMMA = 2.3; const double INC_GAMMA = 1.0 / DEC_GAMMA; -inline void lclRgbToRgbComponents( sal_Int32& ornR, sal_Int32& ornG, sal_Int32& ornB, sal_Int32 nRgb ) +inline void lclRgbToRgbComponents( sal_Int32& ornR, sal_Int32& ornG, sal_Int32& ornB, ::Color nRgb ) { - ornR = (nRgb >> 16) & 0xFF; - ornG = (nRgb >> 8) & 0xFF; - ornB = nRgb & 0xFF; + ornR = nRgb.GetRed(); + ornG = nRgb.GetGreen(); + ornB = nRgb.GetBlue(); } inline sal_Int32 lclRgbComponentsToRgb( sal_Int32 nR, sal_Int32 nG, sal_Int32 nB ) @@ -202,22 +202,22 @@ Color::Color() : { } -sal_Int32 Color::getDmlPresetColor( sal_Int32 nToken, sal_Int32 nDefaultRgb ) +::Color Color::getDmlPresetColor( sal_Int32 nToken, ::Color nDefaultRgb ) { /* Do not pass nDefaultRgb to ContainerHelper::getVectorElement(), to be able to catch the existing vector entries without corresponding XML token identifier. */ - sal_Int32 nRgbValue = ContainerHelper::getVectorElement( StaticPresetColorsPool::get().maDmlColors, nToken, API_RGB_TRANSPARENT ); - return (nRgbValue >= 0) ? nRgbValue : nDefaultRgb; + ::Color nRgbValue = ContainerHelper::getVectorElement( StaticPresetColorsPool::get().maDmlColors, nToken, API_RGB_TRANSPARENT ); + return (sal_Int32(nRgbValue) >= 0) ? nRgbValue : nDefaultRgb; } -sal_Int32 Color::getVmlPresetColor( sal_Int32 nToken, sal_Int32 nDefaultRgb ) +::Color Color::getVmlPresetColor( sal_Int32 nToken, ::Color nDefaultRgb ) { /* Do not pass nDefaultRgb to ContainerHelper::getVectorElement(), to be able to catch the existing vector entries without corresponding XML token identifier. */ - sal_Int32 nRgbValue = ContainerHelper::getVectorElement( StaticPresetColorsPool::get().maVmlColors, nToken, API_RGB_TRANSPARENT ); - return (nRgbValue >= 0) ? nRgbValue : nDefaultRgb; + ::Color nRgbValue = ContainerHelper::getVectorElement( StaticPresetColorsPool::get().maVmlColors, nToken, API_RGB_TRANSPARENT ); + return (sal_Int32(nRgbValue) >= 0) ? nRgbValue : nDefaultRgb; } void Color::setUnused() @@ -225,11 +225,16 @@ void Color::setUnused() meMode = COLOR_UNUSED; } +void Color::setSrgbClr( ::Color nRgb ) +{ + setSrgbClr(sal_Int32(nRgb)); +} + void Color::setSrgbClr( sal_Int32 nRgb ) { OSL_ENSURE( (0 <= nRgb) && (nRgb <= 0xFFFFFF), "Color::setSrgbClr - invalid RGB value" ); meMode = COLOR_RGB; - lclRgbToRgbComponents( mnC1, mnC2, mnC3, nRgb ); + lclRgbToRgbComponents( mnC1, mnC2, mnC3, ::Color(nRgb) ); } void Color::setScrgbClr( sal_Int32 nR, sal_Int32 nG, sal_Int32 nB ) @@ -256,9 +261,9 @@ void Color::setHslClr( sal_Int32 nHue, sal_Int32 nSat, sal_Int32 nLum ) void Color::setPrstClr( sal_Int32 nToken ) { - sal_Int32 nRgbValue = getDmlPresetColor( nToken, API_RGB_TRANSPARENT ); - OSL_ENSURE( nRgbValue >= 0, "Color::setPrstClr - invalid preset color token" ); - if( nRgbValue >= 0 ) + ::Color nRgbValue = getDmlPresetColor( nToken, API_RGB_TRANSPARENT ); + OSL_ENSURE( sal_Int32(nRgbValue) >= 0, "Color::setPrstClr - invalid preset color token" ); + if( sal_Int32(nRgbValue) >= 0 ) setSrgbClr( nRgbValue ); } @@ -430,7 +435,7 @@ void Color::clearTransparence() mnAlpha = MAX_PERCENT; } -sal_Int32 Color::getColor( const GraphicHelper& rGraphicHelper, sal_Int32 nPhClr ) const +::Color Color::getColor( const GraphicHelper& rGraphicHelper, ::Color nPhClr ) const { const sal_Int32 nTempC1 = mnC1; const sal_Int32 nTempC2 = mnC2; @@ -439,7 +444,7 @@ sal_Int32 Color::getColor( const GraphicHelper& rGraphicHelper, sal_Int32 nPhClr switch( meMode ) { - case COLOR_UNUSED: mnC1 = API_RGB_TRANSPARENT; break; + case COLOR_UNUSED: mnC1 = sal_Int32(API_RGB_TRANSPARENT); break; case COLOR_RGB: break; // nothing to do case COLOR_CRGB: break; // nothing to do @@ -447,10 +452,10 @@ sal_Int32 Color::getColor( const GraphicHelper& rGraphicHelper, sal_Int32 nPhClr case COLOR_SCHEME: setResolvedRgb( rGraphicHelper.getSchemeColor( mnC1 ) ); break; case COLOR_PALETTE: setResolvedRgb( rGraphicHelper.getPaletteColor( mnC1 ) ); break; - case COLOR_SYSTEM: setResolvedRgb( rGraphicHelper.getSystemColor( mnC1, mnC2 ) ); break; + case COLOR_SYSTEM: setResolvedRgb( rGraphicHelper.getSystemColor( mnC1, ::Color(mnC2) ) ); break; case COLOR_PH: setResolvedRgb( nPhClr ); break; - case COLOR_FINAL: return mnC1; + case COLOR_FINAL: return ::Color(mnC1); } // if color is UNUSED or turns to UNUSED in setResolvedRgb, do not perform transformations @@ -580,7 +585,7 @@ sal_Int32 Color::getColor( const GraphicHelper& rGraphicHelper, sal_Int32 nPhClr } else // if( meMode != COLOR_UNUSED ) { - mnC1 = API_RGB_TRANSPARENT; + mnC1 = sal_Int32(API_RGB_TRANSPARENT); } sal_Int32 nRet = mnC1; @@ -599,7 +604,7 @@ sal_Int32 Color::getColor( const GraphicHelper& rGraphicHelper, sal_Int32 nPhClr } if( meMode == COLOR_FINAL ) maTransforms.clear(); - return nRet; + return ::Color(nRet); } bool Color::hasTransparency() const @@ -614,9 +619,9 @@ sal_Int16 Color::getTransparency() const // private -------------------------------------------------------------------- -void Color::setResolvedRgb( sal_Int32 nRgb ) const +void Color::setResolvedRgb( ::Color nRgb ) const { - meMode = (nRgb < 0) ? COLOR_UNUSED : COLOR_RGB; + meMode = (sal_Int32(nRgb) < 0) ? COLOR_UNUSED : COLOR_RGB; lclRgbToRgbComponents( mnC1, mnC2, mnC3, nRgb ); } diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index 5ecdb5a9ba1e..7f6a7044a386 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -60,16 +60,16 @@ namespace drawingml { namespace { Reference< XGraphic > lclCheckAndApplyDuotoneTransform( const BlipFillProperties& aBlipProps, Reference< XGraphic > const & xGraphic, - const GraphicHelper& rGraphicHelper, const sal_Int32 nPhClr ) + const GraphicHelper& rGraphicHelper, const ::Color nPhClr ) { if( aBlipProps.maDuotoneColors[0].isUsed() && aBlipProps.maDuotoneColors[1].isUsed() ) { - sal_Int32 nColor1 = aBlipProps.maDuotoneColors[0].getColor( rGraphicHelper, nPhClr ); - sal_Int32 nColor2 = aBlipProps.maDuotoneColors[1].getColor( rGraphicHelper, nPhClr ); + ::Color nColor1 = aBlipProps.maDuotoneColors[0].getColor( rGraphicHelper, nPhClr ); + ::Color nColor2 = aBlipProps.maDuotoneColors[1].getColor( rGraphicHelper, nPhClr ); try { Reference< XGraphicTransformer > xTransformer( aBlipProps.mxGraphic, UNO_QUERY_THROW ); - return xTransformer->applyDuotone( xGraphic, nColor1, nColor2 ); + return xTransformer->applyDuotone( xGraphic, sal_Int32(nColor1), sal_Int32(nColor2) ); } catch( Exception& ) { @@ -79,18 +79,18 @@ Reference< XGraphic > lclCheckAndApplyDuotoneTransform( const BlipFillProperties } Reference< XGraphic > lclCheckAndApplyChangeColorTransform( const BlipFillProperties &aBlipProps, Reference< XGraphic > const & xGraphic, - const GraphicHelper& rGraphicHelper, const sal_Int32 nPhClr ) + const GraphicHelper& rGraphicHelper, const ::Color nPhClr ) { if( aBlipProps.maColorChangeFrom.isUsed() && aBlipProps.maColorChangeTo.isUsed() ) { - sal_Int32 nFromColor = aBlipProps.maColorChangeFrom.getColor( rGraphicHelper, nPhClr ); - sal_Int32 nToColor = aBlipProps.maColorChangeTo.getColor( rGraphicHelper, nPhClr ); + ::Color nFromColor = aBlipProps.maColorChangeFrom.getColor( rGraphicHelper, nPhClr ); + ::Color nToColor = aBlipProps.maColorChangeTo.getColor( rGraphicHelper, nPhClr ); if ( (nFromColor != nToColor) || aBlipProps.maColorChangeTo.hasTransparency() ) try { sal_Int16 nToTransparence = aBlipProps.maColorChangeTo.getTransparency(); sal_Int8 nToAlpha = static_cast< sal_Int8 >( (100 - nToTransparence) * 2.55 ); Reference< XGraphicTransformer > xTransformer( aBlipProps.mxGraphic, UNO_QUERY_THROW ); - return xTransformer->colorChange( xGraphic, nFromColor, 9, nToColor, nToAlpha ); + return xTransformer->colorChange( xGraphic, sal_Int32(nFromColor), 9, sal_Int32(nToColor), nToAlpha ); } catch( Exception& ) { @@ -244,10 +244,10 @@ Color FillProperties::getBestSolidColor() const } /// Maps the hatch token to drawing::Hatch. -static drawing::Hatch createHatch( sal_Int32 nHatchToken, sal_Int32 nColor ) +static drawing::Hatch createHatch( sal_Int32 nHatchToken, ::Color nColor ) { drawing::Hatch aHatch; - aHatch.Color = nColor; + aHatch.Color = sal_Int32(nColor); // best-effort mapping; we do not support all the styles in core switch ( nHatchToken ) @@ -312,7 +312,7 @@ static drawing::Hatch createHatch( sal_Int32 nHatchToken, sal_Int32 nColor ) } void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap, - const GraphicHelper& rGraphicHelper, sal_Int32 nShapeRotation, sal_Int32 nPhClr, + const GraphicHelper& rGraphicHelper, sal_Int32 nShapeRotation, ::Color nPhClr, bool bFlipH, bool bFlipV ) const { if( moFillType.has() ) @@ -349,8 +349,8 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap, // Old code, values in aGradient overwritten in many cases by newer code below if( maGradientProps.maGradientStops.size() > 1 ) { - aGradient.StartColor = maGradientProps.maGradientStops.begin()->second.getColor( rGraphicHelper, nPhClr ); - aGradient.EndColor = maGradientProps.maGradientStops.rbegin()->second.getColor( rGraphicHelper, nPhClr ); + aGradient.StartColor = sal_Int32(maGradientProps.maGradientStops.begin()->second.getColor( rGraphicHelper, nPhClr )); + aGradient.EndColor = sal_Int32(maGradientProps.maGradientStops.rbegin()->second.getColor( rGraphicHelper, nPhClr )); if( maGradientProps.maGradientStops.rbegin()->second.hasTransparency() ) nEndTrans = maGradientProps.maGradientStops.rbegin()->second.getTransparency()*255/100; if( maGradientProps.maGradientStops.begin()->second.hasTransparency() ) @@ -444,7 +444,7 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap, ++p) SAL_INFO("oox.drawingml.gradient", " " << std::distance(aGradientStops.begin(), p) << ": " << p->first << ": " << - std::hex << p->second.getColor( rGraphicHelper, nPhClr ) << std::dec << + std::hex << sal_Int32(p->second.getColor( rGraphicHelper, nPhClr )) << std::dec << "@" << (100-p->second.getTransparency()) << "%"); // Now estimate the simple LO style gradient (only two stops, at n% and 100%, where n == @@ -562,13 +562,13 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap, aEndColor = std::next(aWidestSegmentStart)->second; } - SAL_INFO("oox.drawingml.gradient", "start color: " << std::hex << aStartColor.getColor( rGraphicHelper, nPhClr ) << std::dec << + SAL_INFO("oox.drawingml.gradient", "start color: " << std::hex << sal_Int32(aStartColor.getColor( rGraphicHelper, nPhClr )) << std::dec << "@" << (100-aStartColor.getTransparency()) << "%" - ", end color: " << std::hex << aEndColor.getColor( rGraphicHelper, nPhClr ) << std::dec << + ", end color: " << std::hex << sal_Int32(aEndColor.getColor( rGraphicHelper, nPhClr )) << std::dec << "@" << (100-aEndColor.getTransparency()) << "%"); - aGradient.StartColor = aStartColor.getColor( rGraphicHelper, nPhClr ); - aGradient.EndColor = aEndColor.getColor( rGraphicHelper, nPhClr ); + aGradient.StartColor = sal_Int32(aStartColor.getColor( rGraphicHelper, nPhClr )); + aGradient.EndColor = sal_Int32(aEndColor.getColor( rGraphicHelper, nPhClr )); if( aStartColor.hasTransparency() ) nStartTrans = aStartColor.getTransparency()*255/100; diff --git a/oox/source/drawingml/lineproperties.cxx b/oox/source/drawingml/lineproperties.cxx index 573155be1f29..25bbbcd25f1e 100644 --- a/oox/source/drawingml/lineproperties.cxx +++ b/oox/source/drawingml/lineproperties.cxx @@ -368,7 +368,7 @@ void LineProperties::assignUsed( const LineProperties& rSourceProps ) } void LineProperties::pushToPropMap( ShapePropertyMap& rPropMap, - const GraphicHelper& rGraphicHelper, sal_Int32 nPhClr ) const + const GraphicHelper& rGraphicHelper, ::Color nPhClr ) const { // line fill type must exist, otherwise ignore other properties if( maLineFill.moFillType.has() ) diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx index c1944ee7743a..6d83c68e3df2 100644 --- a/oox/source/drawingml/shape.cxx +++ b/oox/source/drawingml/shape.cxx @@ -692,8 +692,8 @@ Reference< XShape > const & Shape::createAndInsert( const GraphicHelper& rGraphicHelper = rFilterBase.getGraphicHelper(); - sal_Int32 nLinePhClr = -1; - sal_Int32 nFillPhClr = -1; + ::Color nLinePhClr(0xffffffff); + ::Color nFillPhClr(0xffffffff); // TODO: use ph color when applying effect properties //sal_Int32 nEffectPhClr = -1; @@ -1170,7 +1170,7 @@ Reference< XShape > const & Shape::createAndInsert( // character color on the shape, then. if(const ShapeStyleRef* pFontRef = getShapeStyleRef(XML_fontRef)) { - sal_Int32 nCharColor = pFontRef->maPhClr.getColor(rGraphicHelper); + ::Color nCharColor = pFontRef->maPhClr.getColor(rGraphicHelper); aPropertySet.setAnyProperty(PROP_CharColor, uno::makeAny(nCharColor)); } } diff --git a/oox/source/drawingml/shape3dproperties.cxx b/oox/source/drawingml/shape3dproperties.cxx index c54e3b5b94ab..09cbff171006 100644 --- a/oox/source/drawingml/shape3dproperties.cxx +++ b/oox/source/drawingml/shape3dproperties.cxx @@ -319,7 +319,7 @@ css::uno::Sequence< css::beans::PropertyValue > Shape3DProperties::getBevelAttri } css::uno::Sequence< css::beans::PropertyValue > Shape3DProperties::getColorAttributes( - const Color& rColor, const GraphicHelper& rGraphicHelper, sal_Int32 rPhClr ) + const Color& rColor, const GraphicHelper& rGraphicHelper, ::Color rPhClr ) { css::uno::Sequence<css::beans::PropertyValue> aSeq(2); const OUString& sColorScheme = rColor.getSchemeName(); @@ -343,7 +343,7 @@ css::uno::Sequence< css::beans::PropertyValue > Shape3DProperties::getColorAttri } css::uno::Sequence< css::beans::PropertyValue > Shape3DProperties::getShape3DAttributes( - const GraphicHelper& rGraphicHelper, sal_Int32 rPhClr ) + const GraphicHelper& rGraphicHelper, ::Color rPhClr ) { css::uno::Sequence<css::beans::PropertyValue> aSeq(8); sal_Int32 nSize = 0; diff --git a/oox/source/drawingml/table/tablecell.cxx b/oox/source/drawingml/table/tablecell.cxx index c8cef8384435..3dc40ceafab9 100644 --- a/oox/source/drawingml/table/tablecell.cxx +++ b/oox/source/drawingml/table/tablecell.cxx @@ -77,7 +77,7 @@ void applyLineAttributes( const ::oox::core::XmlFilterBase& rFilterBase, if ( rLineProperties.maLineFill.moFillType.differsFrom( XML_noFill )) { Color aColor = rLineProperties.maLineFill.getBestSolidColor(); - aBorderLine.Color = aColor.getColor( rFilterBase.getGraphicHelper() ); + aBorderLine.Color = sal_Int32(aColor.getColor( rFilterBase.getGraphicHelper() )); aBorderLine.OuterLineWidth = static_cast< sal_Int16 >( GetCoordinate( rLineProperties.moLineWidth.get( 0 ) ) / 4 ); aBorderLine.InnerLineWidth = static_cast< sal_Int16 >( GetCoordinate( rLineProperties.moLineWidth.get( 0 ) ) / 4 ); aBorderLine.LineWidth = static_cast< sal_Int16 >( GetCoordinate( rLineProperties.moLineWidth.get( 0 ) ) / 2 ); @@ -148,7 +148,7 @@ void applyBorder( const ::oox::core::XmlFilterBase& rFilterBase, TableStylePart& if (const Theme* pTheme = rFilterBase.getCurrentTheme()) { rLineProperties.assignUsed( *pTheme->getLineStyle(rLineStyleRef.mnThemedIdx) ); - sal_Int32 nPhClr = rLineStyleRef.maPhClr.getColor( rFilterBase.getGraphicHelper() ); + ::Color nPhClr = rLineStyleRef.maPhClr.getColor( rFilterBase.getGraphicHelper() ); rLineProperties.maLineFill.maFillColor.setSrgbClr( nPhClr ); } } @@ -175,7 +175,7 @@ void applyTableStylePart( const ::oox::core::XmlFilterBase& rFilterBase, if (pTheme && rFillStyleRef.mnThemedIdx != 0 ) { rFillProperties.assignUsed( *pTheme->getFillStyle( rFillStyleRef.mnThemedIdx ) ); - sal_Int32 nPhClr = rFillStyleRef.maPhClr.getColor( rFilterBase.getGraphicHelper() ); + ::Color nPhClr = rFillStyleRef.maPhClr.getColor( rFilterBase.getGraphicHelper() ); rFillProperties.maFillColor.setSrgbClr( nPhClr ); } } @@ -429,7 +429,7 @@ void TableCell::pushToXCell( const ::oox::core::XmlFilterBase& rFilterBase, cons ShapePropertyMap aPropMap( rFilterBase.getModelObjectHelper() ); Color aBgColor; - sal_Int32 nPhClr = API_RGB_TRANSPARENT; + ::Color nPhClr = API_RGB_TRANSPARENT; std::shared_ptr< ::oox::drawingml::FillProperties >& rBackgroundFillPropertiesPtr( rTable.getBackgroundFillProperties() ); ::oox::drawingml::ShapeStyleRef& rBackgroundFillStyle( rTable.getBackgroundFillStyleRef() ); if (rBackgroundFillPropertiesPtr.get()) |