summaryrefslogtreecommitdiff
path: root/sdext/source/presenter/PresenterCanvasHelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sdext/source/presenter/PresenterCanvasHelper.cxx')
-rw-r--r--sdext/source/presenter/PresenterCanvasHelper.cxx24
1 files changed, 18 insertions, 6 deletions
diff --git a/sdext/source/presenter/PresenterCanvasHelper.cxx b/sdext/source/presenter/PresenterCanvasHelper.cxx
index 450e29b1b3c9..14103d088f4a 100644
--- a/sdext/source/presenter/PresenterCanvasHelper.cxx
+++ b/sdext/source/presenter/PresenterCanvasHelper.cxx
@@ -298,23 +298,35 @@ void PresenterCanvasHelper::SetDeviceColor(
-css::geometry::RealSize2D PresenterCanvasHelper::GetTextSize (
+css::geometry::RealRectangle2D PresenterCanvasHelper::GetTextBoundingBox (
const css::uno::Reference<css::rendering::XCanvasFont>& rxFont,
- const ::rtl::OUString& rsText)
+ const ::rtl::OUString& rsText,
+ const sal_Int8 nTextDirection)
{
if (rxFont.is() && rsText.getLength() > 0)
{
rendering::StringContext aContext (rsText, 0, rsText.getLength());
Reference<rendering::XTextLayout> xLayout (
- rxFont->createTextLayout(aContext, rendering::TextDirection::WEAK_LEFT_TO_RIGHT, 0));
- const geometry::RealRectangle2D aTextBBox (xLayout->queryTextBounds());
- return css::geometry::RealSize2D(aTextBBox.X2 - aTextBBox.X1, aTextBBox.Y2 - aTextBBox.Y1);
+ rxFont->createTextLayout(aContext, nTextDirection, 0));
+ return xLayout->queryTextBounds();
}
else
{
- return geometry::RealSize2D(0,0);
+ return geometry::RealRectangle2D(0,0,0,0);
}
}
+
+
+css::geometry::RealSize2D PresenterCanvasHelper::GetTextSize (
+ const css::uno::Reference<css::rendering::XCanvasFont>& rxFont,
+ const ::rtl::OUString& rsText,
+ const sal_Int8 nTextDirection)
+{
+ const geometry::RealRectangle2D aTextBBox (GetTextBoundingBox(rxFont, rsText, nTextDirection));
+ return css::geometry::RealSize2D(aTextBBox.X2 - aTextBBox.X1, aTextBBox.Y2 - aTextBBox.Y1);
+}
+
+
} } // end of namespace sdext::presenter