[Libreoffice-commits] core.git: vcl/source
Caolán McNamara
caolanm at redhat.com
Thu May 11 11:45:39 UTC 2017
vcl/source/font/font.cxx | 50 +++++++++++++++++++++++------------------------
1 file changed, 25 insertions(+), 25 deletions(-)
New commits:
commit 7ae4680c1ffaf1f67c4865270a21451c9e970510
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 11 12:01:48 2017 +0100
ensure cow_wrapper contents are queried through a const pointer
otherwise the query will call make_unique to make this a unique
copy of the underlying shared font which is a waste if the
contents are going to be the same and the if branch contents
are skipped.
I was tempted to call the Font accessors like GetLanguage, etc.
but a bunch of the accessors have two versions, a const and non-const
one which behave differently so that looks like another rats nest
This relates to the changes of
commit 188439aac2e2e85821b4a114c1298bdf36a7b2ea
Date: Fri Apr 22 23:43:52 2016 +0200
tdf#62525 vcl: use cow_wrapper for font
Change-Id: Ic0661fccb414b3636308975e265fe5751476e1b8
Reviewed-on: https://gerrit.libreoffice.org/37502
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/vcl/source/font/font.cxx b/vcl/source/font/font.cxx
index 80b43e67ab74..4dc242e7abbd 100644
--- a/vcl/source/font/font.cxx
+++ b/vcl/source/font/font.cxx
@@ -80,7 +80,7 @@ Font::~Font()
void Font::SetColor( const Color& rColor )
{
- if( mpImplFont->maColor != rColor )
+ if (const_cast<const ImplType&>(mpImplFont)->maColor != rColor)
{
mpImplFont->maColor = rColor;
}
@@ -95,13 +95,13 @@ void Font::SetFillColor( const Color& rColor )
void Font::SetTransparent( bool bTransparent )
{
- if( mpImplFont->mbTransparent != bTransparent )
+ if (const_cast<const ImplType&>(mpImplFont)->mbTransparent != bTransparent)
mpImplFont->mbTransparent = bTransparent;
}
void Font::SetAlignment( FontAlign eAlign )
{
- if( mpImplFont->meAlign != eAlign )
+ if (const_cast<const ImplType&>(mpImplFont)->meAlign != eAlign)
mpImplFont->SetAlignment(eAlign);
}
@@ -117,19 +117,19 @@ void Font::SetStyleName( const OUString& rStyleName )
void Font::SetFontSize( const Size& rSize )
{
- if( mpImplFont->GetFontSize() != rSize )
+ if (const_cast<const ImplType&>(mpImplFont)->GetFontSize() != rSize)
mpImplFont->SetFontSize( rSize );
}
void Font::SetFamily( FontFamily eFamily )
{
- if( mpImplFont->GetFamilyTypeNoAsk() != eFamily )
+ if (const_cast<const ImplType&>(mpImplFont)->GetFamilyTypeNoAsk() != eFamily)
mpImplFont->SetFamilyType( eFamily );
}
void Font::SetCharSet( rtl_TextEncoding eCharSet )
{
- if( mpImplFont->GetCharSet() != eCharSet )
+ if (const_cast<const ImplType&>(mpImplFont)->GetCharSet() != eCharSet)
{
mpImplFont->SetCharSet( eCharSet );
@@ -162,49 +162,49 @@ void Font::SetSymbolFlag( bool bSymbol )
void Font::SetLanguageTag( const LanguageTag& rLanguageTag )
{
- if( mpImplFont->maLanguageTag != rLanguageTag )
+ if (const_cast<const ImplType&>(mpImplFont)->maLanguageTag != rLanguageTag)
mpImplFont->maLanguageTag = rLanguageTag;
}
void Font::SetCJKContextLanguageTag( const LanguageTag& rLanguageTag )
{
- if( mpImplFont->maCJKLanguageTag != rLanguageTag )
+ if (const_cast<const ImplType&>(mpImplFont)->maCJKLanguageTag != rLanguageTag)
mpImplFont->maCJKLanguageTag = rLanguageTag;
}
void Font::SetLanguage( LanguageType eLanguage )
{
- if( mpImplFont->maLanguageTag.getLanguageType( false) != eLanguage )
+ if (const_cast<const ImplType&>(mpImplFont)->maLanguageTag.getLanguageType(false) != eLanguage)
mpImplFont->maLanguageTag.reset( eLanguage);
}
void Font::SetCJKContextLanguage( LanguageType eLanguage )
{
- if( mpImplFont->maCJKLanguageTag.getLanguageType( false) != eLanguage )
+ if (const_cast<const ImplType&>(mpImplFont)->maCJKLanguageTag.getLanguageType(false) != eLanguage)
mpImplFont->maCJKLanguageTag.reset( eLanguage);
}
void Font::SetPitch( FontPitch ePitch )
{
- if( mpImplFont->GetPitchNoAsk() != ePitch )
+ if (const_cast<const ImplType&>(mpImplFont)->GetPitchNoAsk() != ePitch)
mpImplFont->SetPitch( ePitch );
}
void Font::SetOrientation( short nOrientation )
{
- if( mpImplFont->mnOrientation != nOrientation )
+ if (const_cast<const ImplType&>(mpImplFont)->mnOrientation != nOrientation)
mpImplFont->mnOrientation = nOrientation;
}
void Font::SetVertical( bool bVertical )
{
- if( mpImplFont->mbVertical != bVertical )
+ if (const_cast<const ImplType&>(mpImplFont)->mbVertical != bVertical)
mpImplFont->mbVertical = bVertical;
}
void Font::SetKerning( FontKerning eKerning )
{
- if( mpImplFont->meKerning != eKerning )
+ if (const_cast<const ImplType&>(mpImplFont)->meKerning != eKerning)
mpImplFont->meKerning = eKerning;
}
@@ -215,67 +215,67 @@ bool Font::IsKerning() const
void Font::SetWeight( FontWeight eWeight )
{
- if( mpImplFont->GetWeightNoAsk() != eWeight )
+ if (const_cast<const ImplType&>(mpImplFont)->GetWeightNoAsk() != eWeight)
mpImplFont->SetWeight( eWeight );
}
void Font::SetWidthType( FontWidth eWidth )
{
- if( mpImplFont->GetWidthTypeNoAsk() != eWidth )
+ if (const_cast<const ImplType&>(mpImplFont)->GetWidthTypeNoAsk() != eWidth)
mpImplFont->SetWidthType( eWidth );
}
void Font::SetItalic( FontItalic eItalic )
{
- if( mpImplFont->GetItalicNoAsk() != eItalic )
+ if (const_cast<const ImplType&>(mpImplFont)->GetItalicNoAsk() != eItalic)
mpImplFont->SetItalic( eItalic );
}
void Font::SetOutline( bool bOutline )
{
- if( mpImplFont->mbOutline != bOutline )
+ if (const_cast<const ImplType&>(mpImplFont)->mbOutline != bOutline)
mpImplFont->mbOutline = bOutline;
}
void Font::SetShadow( bool bShadow )
{
- if( mpImplFont->mbShadow != bShadow )
+ if (const_cast<const ImplType&>(mpImplFont)->mbShadow != bShadow)
mpImplFont->mbShadow = bShadow;
}
void Font::SetUnderline( FontLineStyle eUnderline )
{
- if( mpImplFont->meUnderline != eUnderline )
+ if (const_cast<const ImplType&>(mpImplFont)->meUnderline != eUnderline)
mpImplFont->meUnderline = eUnderline;
}
void Font::SetOverline( FontLineStyle eOverline )
{
- if( mpImplFont->meOverline != eOverline )
+ if (const_cast<const ImplType&>(mpImplFont)->meOverline != eOverline)
mpImplFont->meOverline = eOverline;
}
void Font::SetStrikeout( FontStrikeout eStrikeout )
{
- if( mpImplFont->meStrikeout != eStrikeout )
+ if (const_cast<const ImplType&>(mpImplFont)->meStrikeout != eStrikeout)
mpImplFont->meStrikeout = eStrikeout;
}
void Font::SetRelief( FontRelief eRelief )
{
- if( mpImplFont->meRelief != eRelief )
+ if (const_cast<const ImplType&>(mpImplFont)->meRelief != eRelief)
mpImplFont->meRelief = eRelief;
}
void Font::SetEmphasisMark( FontEmphasisMark eEmphasisMark )
{
- if( mpImplFont->meEmphasisMark != eEmphasisMark )
+ if (const_cast<const ImplType&>(mpImplFont)->meEmphasisMark != eEmphasisMark )
mpImplFont->meEmphasisMark = eEmphasisMark;
}
void Font::SetWordLineMode( bool bWordLine )
{
- if( mpImplFont->mbWordLine != bWordLine )
+ if (const_cast<const ImplType&>(mpImplFont)->mbWordLine != bWordLine)
mpImplFont->mbWordLine = bWordLine;
}
More information about the Libreoffice-commits
mailing list