[Libreoffice-commits] core.git: include/vcl svx/source vcl/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Oct 22 22:19:20 UTC 2018
include/vcl/font.hxx | 11 +++++++++++
include/vcl/outdev.hxx | 1 -
svx/source/svdraw/svdotextdecomposition.cxx | 14 +-------------
vcl/source/gdi/pdfwriter_impl.cxx | 2 +-
vcl/source/outdev/text.cxx | 2 +-
vcl/source/outdev/textline.cxx | 10 ----------
6 files changed, 14 insertions(+), 26 deletions(-)
New commits:
commit 6d3843a415bb74a00a40f312b7771db27060cf0b
Author: Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Mon Oct 22 18:25:35 2018 +0000
Commit: Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Tue Oct 23 00:18:55 2018 +0200
Implement IsUnderlineAbove in vcl::Font
There was even a duplicate implementation...
Change-Id: I192ac2ec8e5b8dd0e6b3ab9b9ddf0bf53df546ab
Reviewed-on: https://gerrit.libreoffice.org/62199
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
diff --git a/include/vcl/font.hxx b/include/vcl/font.hxx
index 2dc0a5b326cd..02dab4d8b51e 100644
--- a/include/vcl/font.hxx
+++ b/include/vcl/font.hxx
@@ -163,10 +163,21 @@ public:
typedef o3tl::cow_wrapper< ImplFont > ImplType;
+ inline bool IsUnderlineAbove() const;
+
private:
ImplType mpImplFont;
};
+inline bool Font::IsUnderlineAbove() const
+{
+ if (!IsVertical())
+ return false;
+ // the underline is right for Japanese only
+ return (LANGUAGE_JAPANESE == GetLanguage()) ||
+ (LANGUAGE_JAPANESE == GetCJKContextLanguage());
+}
+
}
#endif // _VCL_FONT_HXX
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index f661bb377636..c9f9d06db17c 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -1201,7 +1201,6 @@ private:
SAL_DLLPRIVATE void ImplDrawStrikeoutChar( long nBaseX, long nBaseY, long nX, long nY, long nWidth, FontStrikeout eStrikeout, Color aColor );
SAL_DLLPRIVATE void ImplDrawMnemonicLine( long nX, long nY, long nWidth );
- SAL_DLLPRIVATE static bool ImplIsUnderlineAbove( const vcl::Font& );
static
SAL_DLLPRIVATE long ImplGetTextLines( ImplMultiTextLineInfo& rLineInfo, long nWidth, const OUString& rStr, DrawTextFlags nStyle, const vcl::ITextLayout& _rLayout );
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index b98ee9e053ba..e5e0ee273e11 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -90,7 +90,6 @@ namespace
DECL_LINK(decomposeBlockBulletPrimitive, DrawBulletInfo*, void);
DECL_LINK(decomposeStretchBulletPrimitive, DrawBulletInfo*, void);
- static bool impIsUnderlineAbove(const vcl::Font& rFont);
void impCreateTextPortionPrimitive(const DrawPortionInfo& rInfo);
static drawinglayer::primitive2d::BasePrimitive2D* impCheckFieldPrimitive(drawinglayer::primitive2d::BasePrimitive2D* pPrimitive, const DrawPortionInfo& rInfo);
void impFlushTextPortionPrimitivesToLinePrimitives();
@@ -152,17 +151,6 @@ namespace
drawinglayer::primitive2d::Primitive2DContainer const & getPrimitive2DSequence();
};
- bool impTextBreakupHandler::impIsUnderlineAbove(const vcl::Font& rFont)
- {
- if(!rFont.IsVertical())
- {
- return false;
- }
-
- // the underline is right for Japanese only
- return (LANGUAGE_JAPANESE == rFont.GetLanguage()) || (LANGUAGE_JAPANESE == rFont.GetCJKContextLanguage());
- }
-
void impTextBreakupHandler::impCreateTextPortionPrimitive(const DrawPortionInfo& rInfo)
{
if(rInfo.maText.isEmpty() || !rInfo.mnTextLen)
@@ -284,7 +272,7 @@ namespace
// check UnderlineAbove
const bool bUnderlineAbove(
- drawinglayer::primitive2d::TEXT_LINE_NONE != eFontLineStyle && impIsUnderlineAbove(rInfo.mrFont));
+ drawinglayer::primitive2d::TEXT_LINE_NONE != eFontLineStyle && rInfo.mrFont.IsUnderlineAbove());
// prepare strikeout data
const drawinglayer::primitive2d::TextStrikeout eTextStrikeout(
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 48475a52fba8..badc1af9a11c 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -6839,7 +6839,7 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const OUString& rText, bool
)
)
{
- bool bUnderlineAbove = OutputDevice::ImplIsUnderlineAbove( m_aCurrentPDFState.m_aFont );
+ bool bUnderlineAbove = m_aCurrentPDFState.m_aFont.IsUnderlineAbove();
if( m_aCurrentPDFState.m_aFont.IsWordLineMode() )
{
Point aStartPt;
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index cd9ba5e628e3..3bc2ced9a3b5 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -300,7 +300,7 @@ void OutputDevice::ImplDrawTextDirect( SalLayout& rSalLayout,
if( bTextLines )
ImplDrawTextLines( rSalLayout,
maFont.GetStrikeout(), maFont.GetUnderline(), maFont.GetOverline(),
- maFont.IsWordLineMode(), ImplIsUnderlineAbove( maFont ) );
+ maFont.IsWordLineMode(), maFont.IsUnderlineAbove() );
// emphasis marks
if( maFont.GetEmphasisMark() & FontEmphasisMark::Style )
diff --git a/vcl/source/outdev/textline.cxx b/vcl/source/outdev/textline.cxx
index de65574e1ac9..e35f4bb259af 100644
--- a/vcl/source/outdev/textline.cxx
+++ b/vcl/source/outdev/textline.cxx
@@ -36,16 +36,6 @@
#define UNDERLINE_LAST LINESTYLE_BOLDWAVE
#define STRIKEOUT_LAST STRIKEOUT_X
-bool OutputDevice::ImplIsUnderlineAbove( const vcl::Font& rFont )
-{
- if ( !rFont.IsVertical() )
- return false;
-
- // the underline is right for Japanese only
- return (LANGUAGE_JAPANESE == rFont.GetLanguage()) ||
- (LANGUAGE_JAPANESE == rFont.GetCJKContextLanguage());
-}
-
void OutputDevice::ImplInitTextLineSize()
{
mpFontInstance->mxFontMetric->ImplInitTextLineSize( this );
More information about the Libreoffice-commits
mailing list