summaryrefslogtreecommitdiff
path: root/canvas/source/vcl/textlayout.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'canvas/source/vcl/textlayout.hxx')
-rw-r--r--canvas/source/vcl/textlayout.hxx33
1 files changed, 15 insertions, 18 deletions
diff --git a/canvas/source/vcl/textlayout.hxx b/canvas/source/vcl/textlayout.hxx
index f7378f6116cd..998383cb029b 100644
--- a/canvas/source/vcl/textlayout.hxx
+++ b/canvas/source/vcl/textlayout.hxx
@@ -17,11 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef INCLUDED_CANVAS_SOURCE_VCL_TEXTLAYOUT_HXX
-#define INCLUDED_CANVAS_SOURCE_VCL_TEXTLAYOUT_HXX
+#pragma once
-#include <cppuhelper/compbase.hxx>
-#include <cppuhelper/basemutex.hxx>
+#include <comphelper/compbase.hxx>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/rendering/StringContext.hpp>
@@ -30,31 +28,29 @@
#include "canvasfont.hxx"
#include "impltools.hxx"
-
/* Definition of TextLayout class */
namespace vclcanvas
{
- typedef ::cppu::WeakComponentImplHelper< css::rendering::XTextLayout,
+ typedef ::comphelper::WeakComponentImplHelper< css::rendering::XTextLayout,
css::lang::XServiceInfo > TextLayout_Base;
- class TextLayout : public ::cppu::BaseMutex,
- public TextLayout_Base
+ class TextLayout : public TextLayout_Base
{
public:
/// make noncopyable
TextLayout(const TextLayout&) = delete;
const TextLayout& operator=(const TextLayout&) = delete;
- TextLayout( const css::rendering::StringContext& aText,
- sal_Int8 nDirection,
- const CanvasFont::Reference& rFont,
- const css::uno::Reference<
- css::rendering::XGraphicDevice>& xDevice,
- const OutDevProviderSharedPtr& rOutDev );
+ TextLayout( css::rendering::StringContext aText,
+ sal_Int8 nDirection,
+ CanvasFont::Reference rFont,
+ css::uno::Reference<
+ css::rendering::XGraphicDevice> xDevice,
+ OutDevProviderSharedPtr xOutDev );
/// Dispose all internal references
- virtual void SAL_CALL disposing() override;
+ virtual void disposing(std::unique_lock<std::mutex>& rGuard) override;
// XTextLayout
virtual css::uno::Sequence< css::uno::Reference< css::rendering::XPolyPolygon2D > > SAL_CALL queryTextShapes( ) override;
@@ -62,6 +58,8 @@ namespace vclcanvas
virtual css::uno::Sequence< css::geometry::RealRectangle2D > SAL_CALL queryMeasures( ) override;
virtual css::uno::Sequence< double > SAL_CALL queryLogicalAdvancements( ) override;
virtual void SAL_CALL applyLogicalAdvancements( const css::uno::Sequence< double >& aAdvancements ) override;
+ virtual css::uno::Sequence< sal_Bool > SAL_CALL queryKashidaPositions( ) override;
+ virtual void SAL_CALL applyKashidaPositions( const css::uno::Sequence< sal_Bool >& aPositions ) override;
virtual css::geometry::RealRectangle2D SAL_CALL queryTextBounds( ) override;
virtual double SAL_CALL justify( double nSize ) override;
virtual double SAL_CALL combinedJustify( const css::uno::Sequence< css::uno::Reference< css::rendering::XTextLayout > >& aNextLayouts, double nSize ) override;
@@ -86,13 +84,14 @@ namespace vclcanvas
const css::rendering::RenderState& renderState ) const;
private:
- void setupTextOffsets( long* outputOffsets,
+ KernArray setupTextOffsets(
const css::uno::Sequence< double >& inputOffsets,
const css::rendering::ViewState& viewState,
const css::rendering::RenderState& renderState ) const;
css::rendering::StringContext maText;
css::uno::Sequence< double > maLogicalAdvancements;
+ css::uno::Sequence< sal_Bool > maKashidaPositions;
CanvasFont::Reference mpFont;
css::uno::Reference< css::rendering::XGraphicDevice> mxDevice;
OutDevProviderSharedPtr mpOutDevProvider;
@@ -101,6 +100,4 @@ namespace vclcanvas
}
-#endif // INCLUDED_CANVAS_SOURCE_VCL_TEXTLAYOUT_HXX
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */