[Libreoffice-commits] core.git: include/vcl vcl/inc vcl/qa vcl/source
Chris Sherlock
chris.sherlock79 at gmail.com
Wed Jan 13 13:54:15 PST 2016
include/vcl/metric.hxx | 1 +
vcl/inc/impfont.hxx | 1 +
vcl/qa/cppunit/fontmetric.cxx | 19 +++++++++++++++++++
vcl/source/gdi/metric.cxx | 5 +++++
vcl/source/outdev/font.cxx | 2 +-
5 files changed, 27 insertions(+), 1 deletion(-)
New commits:
commit 71d5ffba4434538e7897b288ddfa2e0a6df03dd2
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date: Thu Jan 14 08:51:33 2016 +1100
vcl: Create mutator for slant attribute in FontMetric
Mutator created for slant attribute in FontMetric.
See commit description in 8bfccd3a71d911b6d ("vcl: Create accessor
and mutator for font scaling in FontMetric") for reasoning behind
patch.
Unit tests
- check to ensure that can get and set slant attribute
- check equality operator on FontMetric after setting slant attribute
Change-Id: I5490a40dba4c86386d59a42f2d04303b3fc4d536
diff --git a/include/vcl/metric.hxx b/include/vcl/metric.hxx
index e4e6661..f2b84b2 100644
--- a/include/vcl/metric.hxx
+++ b/include/vcl/metric.hxx
@@ -59,6 +59,7 @@ public:
void SetExternalLeading(long);
void SetInternalLeading(long);
void SetLineHeight(long);
+ void SetSlant(long);
bool IsScalable() const;
bool IsFullstopCentered() const;
diff --git a/vcl/inc/impfont.hxx b/vcl/inc/impfont.hxx
index e0a1ca1..ee66fad 100644
--- a/vcl/inc/impfont.hxx
+++ b/vcl/inc/impfont.hxx
@@ -128,6 +128,7 @@ public:
void SetInternalLeading( long nIntLeading ) { mnIntLeading = nIntLeading; }
void SetExternalLeading( long nExtLeading ) { mnExtLeading = nExtLeading; }
void SetLineHeight( long nHeight ) { mnLineHeight = nHeight; }
+ void SetSlant( long nSlant ) { mnSlant = nSlant; }
bool IsScalable() const { return mbScalableFont; }
bool IsFullstopCentered() const { return mbFullstopCentered; }
diff --git a/vcl/qa/cppunit/fontmetric.cxx b/vcl/qa/cppunit/fontmetric.cxx
index 3093783..2865743 100644
--- a/vcl/qa/cppunit/fontmetric.cxx
+++ b/vcl/qa/cppunit/fontmetric.cxx
@@ -27,6 +27,7 @@ public:
void testFullstopCenteredFlag();
void testBuiltInFontFlag();
void testSpacings();
+ void testSlant();
void testEqualityOperator();
CPPUNIT_TEST_SUITE(VclFontMetricTest);
@@ -34,6 +35,7 @@ public:
CPPUNIT_TEST(testFullstopCenteredFlag);
CPPUNIT_TEST(testBuiltInFontFlag);
CPPUNIT_TEST(testSpacings);
+ CPPUNIT_TEST(testSlant);
CPPUNIT_TEST(testEqualityOperator);
CPPUNIT_TEST_SUITE_END();
};
@@ -103,6 +105,18 @@ void VclFontMetricTest::testSpacings()
}
+void VclFontMetricTest::testSlant()
+{
+ // default constructor should set scalable flag to false
+ FontMetric aFontMetric;
+
+ CPPUNIT_ASSERT_EQUAL( (long) aFontMetric.GetSlant(), 0L );
+
+ aFontMetric.SetSlant( 45 );
+ CPPUNIT_ASSERT_EQUAL( (long) aFontMetric.GetSlant(), 45L );
+}
+
+
void VclFontMetricTest::testEqualityOperator()
{
// default constructor should set scalable flag to false
@@ -142,6 +156,11 @@ void VclFontMetricTest::testEqualityOperator()
aRhs.SetDescent( 100 );
CPPUNIT_ASSERT_MESSAGE( "Descent set same, aLHS == aRhs failed", aLhs == aRhs );
CPPUNIT_ASSERT_MESSAGE( "Descent set same, aLHS != aRhs succeeded", !(aLhs != aRhs) );
+
+ aLhs.SetSlant( 100 );
+ aRhs.SetSlant( 100 );
+ CPPUNIT_ASSERT_MESSAGE( "Slant set same, aLHS == aRhs failed", aLhs == aRhs );
+ CPPUNIT_ASSERT_MESSAGE( "Slant set same, aLHS != aRhs succeeded", !(aLhs != aRhs) );
}
diff --git a/vcl/source/gdi/metric.cxx b/vcl/source/gdi/metric.cxx
index 1b7206f..a91bd9f 100644
--- a/vcl/source/gdi/metric.cxx
+++ b/vcl/source/gdi/metric.cxx
@@ -173,6 +173,11 @@ long FontMetric::GetSlant() const
return mpImplMetric->GetSlant();
}
+void FontMetric::SetSlant( long nSlant )
+{
+ mpImplMetric->SetSlant( nSlant );
+}
+
long FontMetric::GetBulletOffset() const
{
return mpImplMetric->GetBulletOffset();
diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
index 2165677..9267a4c 100644
--- a/vcl/source/outdev/font.cxx
+++ b/vcl/source/outdev/font.cxx
@@ -222,7 +222,7 @@ FontMetric OutputDevice::GetFontMetric() const
// OutputDevice has its own external leading function due to #i60945#
aMetric.SetExternalLeading( ImplDevicePixelToLogicHeight( GetFontExtLeading() ) );
aMetric.SetLineHeight( ImplDevicePixelToLogicHeight( pFontAttributes->GetAscent() + pFontAttributes->GetDescent() + mnEmphasisAscent + mnEmphasisDescent ) );
- aMetric.mpImplMetric->mnSlant = ImplDevicePixelToLogicHeight( pFontAttributes->GetSlant() );
+ aMetric.SetSlant( ImplDevicePixelToLogicHeight( pFontAttributes->GetSlant() ) );
SAL_INFO("vcl.gdi.fontmetric", "OutputDevice::GetFontMetric:" << aMetric);
More information about the Libreoffice-commits
mailing list