29 mnTextDirection( nDirection )
33 void SAL_CALL TextLayout::disposing()
39 uno::Sequence< uno::Reference< rendering::XPolyPolygon2D > > SAL_CALL TextLayout::queryTextShapes( )
42 return uno::Sequence< uno::Reference< rendering::XPolyPolygon2D > >();
45 uno::Sequence< geometry::RealRectangle2D > SAL_CALL TextLayout::queryInkMeasures( )
48 return uno::Sequence< geometry::RealRectangle2D >();
51 uno::Sequence< geometry::RealRectangle2D > SAL_CALL TextLayout::queryMeasures( )
54 return uno::Sequence< geometry::RealRectangle2D >();
57 uno::Sequence< double > SAL_CALL TextLayout::queryLogicalAdvancements( )
59 ::osl::MutexGuard aGuard(
m_aMutex );
61 return maLogicalAdvancements;
64 void SAL_CALL TextLayout::applyLogicalAdvancements(
const uno::Sequence< double >& aAdvancements )
66 ::osl::MutexGuard aGuard( m_aMutex );
68 if( aAdvancements.getLength() !=
maText.Length )
70 SAL_INFO(
"canvas.ogl",
"TextLayout::applyLogicalAdvancements(): mismatching number of advancements");
71 throw lang::IllegalArgumentException();
74 maLogicalAdvancements = aAdvancements;
77 geometry::RealRectangle2D SAL_CALL TextLayout::queryTextBounds( )
79 ::osl::MutexGuard aGuard(
m_aMutex );
82 "TextLayout::queryTextBounds(): invalid font" );
86 const rendering::FontRequest& rFontRequest(
mpFont->getFontRequest() );
87 const double nFontSize(
std::max( rFontRequest.CellSize,
88 rFontRequest.ReferenceAdvancement ) );
89 if( maLogicalAdvancements.hasElements() )
91 return geometry::RealRectangle2D( 0, -nFontSize/2,
92 maLogicalAdvancements[ maLogicalAdvancements.getLength()-1 ],
97 return geometry::RealRectangle2D( 0, -nFontSize/2,
103 double SAL_CALL TextLayout::justify(
double )
109 double SAL_CALL TextLayout::combinedJustify(
const uno::Sequence< uno::Reference< rendering::XTextLayout > >& ,
116 rendering::TextHit SAL_CALL TextLayout::getTextHit(
const geometry::RealPoint2D& )
119 return rendering::TextHit();
122 rendering::Caret SAL_CALL TextLayout::getCaret( sal_Int32 ,
126 return rendering::Caret();
129 sal_Int32 SAL_CALL TextLayout::getNextInsertionIndex( sal_Int32 ,
137 uno::Reference< rendering::XPolyPolygon2D > SAL_CALL TextLayout::queryVisualHighlighting( sal_Int32 ,
141 return uno::Reference< rendering::XPolyPolygon2D >();
144 uno::Reference< rendering::XPolyPolygon2D > SAL_CALL TextLayout::queryLogicalHighlighting( sal_Int32 ,
148 return uno::Reference< rendering::XPolyPolygon2D >();
151 double SAL_CALL TextLayout::getBaselineOffset( )
157 sal_Int8 SAL_CALL TextLayout::getMainTextDirection( )
159 ::osl::MutexGuard aGuard(
m_aMutex );
161 return mnTextDirection;
164 uno::Reference< rendering::XCanvasFont > SAL_CALL TextLayout::getFont( )
166 ::osl::MutexGuard aGuard(
m_aMutex );
171 rendering::StringContext SAL_CALL TextLayout::getText( )
173 ::osl::MutexGuard aGuard(
m_aMutex );
rtl::Reference< CanvasFont > ImplRef
TextLayout(css::rendering::StringContext aText, sal_Int8 nDirection, sal_Int64 nRandomSeed, CanvasFont::ImplRef rFont)
#define ENSURE_OR_THROW(c, m)
#define SAL_INFO(area, stream)
::cppu::WeakComponentImplHelper< css::rendering::XTextLayout > TextLayoutBaseT
std::optional< vcl::Font > mpFont