LibreOffice Module sw (master)  1
drawfont.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SW_SOURCE_CORE_INC_DRAWFONT_HXX
21 #define INCLUDED_SW_SOURCE_CORE_INC_DRAWFONT_HXX
22 
23 #include <osl/diagnose.h>
24 #include <vcl/vclptr.hxx>
25 #include <vcl/outdev.hxx>
26 #include <swtypes.hxx>
27 #include "TextFrameIndex.hxx"
28 #include <swdllapi.h>
29 
30 class SwTextFrame;
31 class SwViewShell;
32 class SwScriptInfo;
33 namespace sw { class WrongListIterator; }
34 class SwFont;
35 namespace vcl {
36  class Font;
37  namespace text {
38  class TextLayoutCache;
39  }
41 }
42 class SwUnderlineFont;
43 
44 // encapsulates information for drawing text
46 {
49  SwViewShell const * m_pSh;
53  OUString m_aText;
65  sal_Int32 m_nOfst;
66  sal_uInt16 m_nWidth;
67  sal_uInt16 m_nAscent;
68  sal_uInt16 m_nCompress;
74  bool m_bBullet : 1;
75  bool m_bUpper : 1; // for small caps: upper case flag
76  bool m_bDrawSpace : 1; // for small caps: underline/ line through
77  bool m_bGreyWave : 1; // grey wave line for extended text input
78  // For underlining we need to know, if a section is right in front of a
79  // whole block or a fix margin section.
80  bool m_bSpaceStop : 1;
81  bool m_bSnapToGrid : 1; // Does paragraph snap to grid?
82  // Paint text as if text has LTR direction, used for line numbering
83  bool m_bIgnoreFrameRTL : 1;
84  // GetModelPositionForViewPoint should not return the next position if screen position is
85  // inside second half of bound rect, used for Accessibility
86  bool m_bPosMatchesBounds :1;
87 
88 public:
89 
90 #ifdef DBG_UTIL
91  // These flags should control that the appropriate Set-function has been
92  // called before calling the Get-function of a member
93  bool m_bPos : 1;
94  bool m_bWrong : 1;
95  bool m_bGrammarCheck : 1;
96  bool m_bSize : 1;
97  bool m_bFnt : 1;
98  bool m_bHyph : 1;
99  bool m_bKana : 1;
100  bool m_bOfst : 1;
101  bool m_bAscent: 1;
102  bool m_bCharacterSpacing : 1;
103  bool m_bSpace : 1;
104  bool m_bNumberOfBlanks : 1;
105  bool m_bUppr : 1;
106  bool m_bDrawSp: 1;
107 #endif
108 
111  const OUString &rText, sal_Int32 const nIdx, sal_Int32 const nLen,
112  sal_uInt16 nWidth = 0, bool bBullet = false)
113  : SwDrawTextInfo(pSh, rOut, nullptr, rText, TextFrameIndex(nIdx), TextFrameIndex(nLen), nWidth, bBullet)
114  {}
116  SwDrawTextInfo( SwViewShell const *pSh, OutputDevice &rOut, const SwScriptInfo* pSI,
117  const OUString &rText, TextFrameIndex const nIdx, TextFrameIndex const nLen,
118  sal_uInt16 nWidth = 0, bool bBullet = false,
119  vcl::text::TextLayoutCache const*const pCachedVclData = nullptr)
120  : m_pCachedVclData(pCachedVclData)
121  {
122  assert( (nLen == TextFrameIndex(COMPLETE_STRING)) ? (nIdx.get() < rText.getLength()) : (nIdx + nLen).get() <= rText.getLength() );
123  m_pFrame = nullptr;
124  m_pSh = pSh;
125  m_pOut = &rOut;
126  m_pScriptInfo = pSI;
127  m_aText = rText;
128  m_nIdx = nIdx;
129  m_nLen = nLen;
130  m_nKern = 0;
131  m_nCompress = 0;
132  m_nWidth = nWidth;
133  m_nNumberOfBlanks = TextFrameIndex(0);
134  m_nCursorBidiLevel = 0;
135  m_bBullet = bBullet;
136  m_pUnderFnt = nullptr;
137  m_bGreyWave = false;
138  m_bSpaceStop = false;
139  m_bSnapToGrid = false;
140  m_bIgnoreFrameRTL = false;
141  m_bPosMatchesBounds = false;
142 
143  // These values are initialized but have to be set explicitly via their
144  // Set-function before they may be accessed by their Get-function:
145  m_pWrong = nullptr;
146  m_pGrammarCheck = nullptr;
147  m_pSmartTags = nullptr;
148  m_pFnt = nullptr;
149  m_pHyphPos = nullptr;
150  m_nKanaDiff = 0;
151  m_nOfst = 0;
152  m_nAscent = 0;
153  m_nCharacterSpacing = 0;
154  m_nSpace = 0;
155  m_bUpper = false;
156  m_bDrawSpace = false;
157 
158 #ifdef DBG_UTIL
159  // these flags control whether the matching member variables have been
160  // set by using the Set-function before they may be accessed by their
161  // Get-function:
162  m_bPos = m_bWrong = m_bGrammarCheck = m_bSize = m_bFnt = m_bAscent =
163  m_bSpace = m_bNumberOfBlanks = m_bUppr =
164  m_bDrawSp = m_bKana = m_bOfst = m_bHyph =
165  m_bCharacterSpacing = false;
166 #endif
167  }
168 
169  const SwTextFrame* GetFrame() const
170  {
171  return m_pFrame;
172  }
173 
174  void SetFrame( const SwTextFrame* pNewFrame )
175  {
176  m_pFrame = pNewFrame;
177  }
178 
179  SwViewShell const *GetShell() const
180  {
181  return m_pSh;
182  }
183 
185  {
186  return *m_pOut;
187  }
188 
190  {
191  return m_pOut;
192  }
193 
195  {
196  return m_pScriptInfo;
197  }
198 
199  const Point &GetPos() const
200  {
201 #ifdef DBG_UTIL
202  OSL_ENSURE( m_bPos, "DrawTextInfo: Undefined Position" );
203 #endif
204  return m_aPos;
205  }
206 
208  {
209 #ifdef DBG_UTIL
210  OSL_ENSURE( m_bHyph, "DrawTextInfo: Undefined Hyph Position" );
211 #endif
212  return m_pHyphPos;
213  }
214 
216  {
217  return m_pCachedVclData;
218  }
219 
220  const OUString &GetText() const
221  {
222  return m_aText;
223  }
224 
226  {
227 #ifdef DBG_UTIL
228  OSL_ENSURE( m_bWrong, "DrawTextInfo: Undefined WrongList" );
229 #endif
230  return m_pWrong;
231  }
232 
234  {
235 #ifdef DBG_UTIL
236  OSL_ENSURE( m_bGrammarCheck, "DrawTextInfo: Undefined GrammarCheck List" );
237 #endif
238  return m_pGrammarCheck;
239  }
240 
242  {
243  return m_pSmartTags;
244  }
245 
246  const Size &GetSize() const
247  {
248 #ifdef DBG_UTIL
249  OSL_ENSURE( m_bSize, "DrawTextInfo: Undefined Size" );
250 #endif
251  return m_aSize;
252  }
253 
254  SwFont* GetFont() const
255  {
256 #ifdef DBG_UTIL
257  OSL_ENSURE( m_bFnt, "DrawTextInfo: Undefined Font" );
258 #endif
259  return m_pFnt;
260  }
261 
263  {
264  return m_pUnderFnt;
265  }
266 
268  {
269  return m_nIdx;
270  }
271 
273  {
274  return m_nLen;
275  }
276 
277  sal_Int32 GetOffset() const
278  {
279 #ifdef DBG_UTIL
280  OSL_ENSURE( m_bOfst, "DrawTextInfo: Undefined Offset" );
281 #endif
282  return m_nOfst;
283  }
284 
286  {
287  return m_nIdx + m_nLen;
288  }
289 
291  {
292 #ifdef DBG_UTIL
293  OSL_ENSURE( m_bKana, "DrawTextInfo: Undefined kana difference" );
294 #endif
295  return m_nKanaDiff;
296  }
297 
298  sal_uInt16 GetWidth() const
299  {
300  return m_nWidth;
301  }
302 
303  sal_uInt16 GetAscent() const
304  {
305 #ifdef DBG_UTIL
306  OSL_ENSURE( m_bAscent, "DrawTextInfo: Undefined Ascent" );
307 #endif
308  return m_nAscent;
309  }
310 
311  sal_uInt16 GetKanaComp() const
312  {
313  return m_nCompress;
314  }
315 
317  {
318 #ifdef DBG_UTIL
319  OSL_ENSURE( m_bCharacterSpacing, "DrawTextInfo: Undefined CharacterSpacing" );
320 #endif
321  return m_nCharacterSpacing;
322  }
323 
325  {
326  return m_nKern;
327  }
328 
330  {
331 #ifdef DBG_UTIL
332  OSL_ENSURE( m_bSpace, "DrawTextInfo: Undefined Spacing" );
333 #endif
334  return m_nSpace;
335  }
336 
338  {
339 #ifdef DBG_UTIL
340  OSL_ENSURE( m_bNumberOfBlanks, "DrawTextInfo::Undefined NumberOfBlanks" );
341 #endif
342  return m_nNumberOfBlanks;
343  }
344 
346  {
347  return m_nCursorBidiLevel;
348  }
349 
350  bool GetBullet() const
351  {
352  return m_bBullet;
353  }
354 
355  bool GetUpper() const
356  {
357 #ifdef DBG_UTIL
358  OSL_ENSURE( m_bUppr, "DrawTextInfo: Undefined Upperflag" );
359 #endif
360  return m_bUpper;
361  }
362 
363  bool GetDrawSpace() const
364  {
365 #ifdef DBG_UTIL
366  OSL_ENSURE( m_bDrawSp, "DrawTextInfo: Undefined DrawSpaceflag" );
367 #endif
368  return m_bDrawSpace;
369  }
370 
371  bool GetGreyWave() const
372  {
373  return m_bGreyWave;
374  }
375 
376  bool IsSpaceStop() const
377  {
378  return m_bSpaceStop;
379  }
380 
381  bool SnapToGrid() const
382  {
383  return m_bSnapToGrid;
384  }
385 
386  bool IsIgnoreFrameRTL() const
387  {
388  return m_bIgnoreFrameRTL;
389  }
390 
391  bool IsPosMatchesBounds() const
392  {
393  return m_bPosMatchesBounds;
394  }
395 
396  void SetOut( OutputDevice &rNew )
397  {
398  m_pOut = &rNew;
399  }
400 
401  void SetPos( const Point &rNew )
402  {
403  m_aPos = rNew;
404 #ifdef DBG_UTIL
405  m_bPos = true;
406 #endif
407  }
408 
409  void SetHyphPos(TextFrameIndex *const pNew)
410  {
411  m_pHyphPos = pNew;
412 #ifdef DBG_UTIL
413  m_bHyph = true;
414 #endif
415  }
416 
417  void SetText( const OUString &rNew )
418  {
419  assert( (m_nLen == TextFrameIndex(COMPLETE_STRING)) ? (m_nIdx.get() < rNew.getLength()) : (m_nIdx + m_nLen).get() <= rNew.getLength() );
420  m_aText = rNew;
421  m_pCachedVclData = nullptr; // would any case benefit from save/restore?
422  }
423 
424  // These methods are here so we can set all the related fields together to preserve the invariants that we assert
425  void SetTextIdxLen( const OUString &rNewStr, TextFrameIndex const nNewIdx, TextFrameIndex const nNewLen )
426  {
427  assert( (nNewLen == TextFrameIndex(COMPLETE_STRING)) ? (nNewIdx.get() < rNewStr.getLength()) : (nNewIdx + nNewLen).get() <= rNewStr.getLength() );
428  m_aText = rNewStr;
429  m_nIdx = nNewIdx;
430  m_nLen = nNewLen;
431  m_pCachedVclData = nullptr; // would any case benefit from save/restore?
432  }
433 
434  // These methods are here so we can set all the related fields together to preserve the invariants that we assert
435  void SetIdxLen( TextFrameIndex const nNewIdx, TextFrameIndex const nNewLen )
436  {
437  assert( (nNewLen == TextFrameIndex(COMPLETE_STRING)) ? (nNewIdx.get() < m_aText.getLength()) : (nNewIdx + nNewLen).get() <= m_aText.getLength() );
438  m_nIdx = nNewIdx;
439  m_nLen = nNewLen;
440  }
441 
442  void SetWrong(sw::WrongListIterator *const pNew)
443  {
444  m_pWrong = pNew;
445 #ifdef DBG_UTIL
446  m_bWrong = true;
447 #endif
448  }
449 
451  {
452  m_pGrammarCheck = pNew;
453 #ifdef DBG_UTIL
454  m_bGrammarCheck = true;
455 #endif
456  }
457 
459  {
460  m_pSmartTags = pNew;
461  }
462 
463  void SetSize( const Size &rNew )
464  {
465  m_aSize = rNew;
466 #ifdef DBG_UTIL
467  m_bSize = true;
468 #endif
469  }
470 
471  void SetFont( SwFont* pNew )
472  {
473  m_pFnt = pNew;
474 #ifdef DBG_UTIL
475  m_bFnt = true;
476 #endif
477  }
478 
479  void SetIdx(TextFrameIndex const nNew)
480  {
481  assert( (m_nLen == TextFrameIndex(COMPLETE_STRING)) ? (nNew.get() < m_aText.getLength()) : (nNew + m_nLen).get() <= m_aText.getLength() );
482  m_nIdx = nNew;
483  }
484 
485  void SetLen(TextFrameIndex const nNew)
486  {
487  assert( (nNew == TextFrameIndex(COMPLETE_STRING)) ? (m_nIdx.get() < m_aText.getLength()) : (m_nIdx + nNew).get() <= m_aText.getLength() );
488  m_nLen = nNew;
489  }
490 
491  void SetOffset( sal_Int32 nNew )
492  {
493  m_nOfst = nNew;
494 #ifdef DBG_UTIL
495  m_bOfst = true;
496 #endif
497  }
498 
500  {
501  m_nKanaDiff = nNew;
502 #ifdef DBG_UTIL
503  m_bKana = true;
504 #endif
505  }
506 
507  void SetWidth( sal_uInt16 nNew )
508  {
509  m_nWidth = nNew;
510  }
511 
512  void SetAscent( sal_uInt16 nNew )
513  {
514  m_nAscent = nNew;
515 #ifdef DBG_UTIL
516  m_bAscent = true;
517 #endif
518  }
519 
520  void SetKern( tools::Long nNew )
521  {
522  m_nKern = nNew;
523  }
524 
525  void SetSpace( tools::Long nNew )
526  {
527  if( nNew < 0 )
528  {
529  m_nCharacterSpacing = -nNew;
530  m_nSpace = 0;
531  }
532  else
533  {
534  m_nSpace = nNew;
535  m_nCharacterSpacing = 0;
536  }
537 #ifdef DBG_UTIL
538  m_bSpace = true;
539  m_bCharacterSpacing = true;
540 #endif
541  }
542 
544  {
545 #ifdef DBG_UTIL
546  m_bNumberOfBlanks = true;
547 #endif
548  m_nNumberOfBlanks = nNew;
549  }
550 
552  {
553  m_nCursorBidiLevel = nNew;
554  }
555 
556  void SetKanaComp( short nNew )
557  {
558  m_nCompress = nNew;
559  }
560 
561  void SetBullet( bool bNew )
562  {
563  m_bBullet = bNew;
564  }
565 
566  void SetUnderFnt( SwUnderlineFont* pULFnt )
567  {
568  m_pUnderFnt = pULFnt;
569  }
570 
571  void SetUpper( bool bNew )
572  {
573  m_bUpper = bNew;
574 #ifdef DBG_UTIL
575  m_bUppr = true;
576 #endif
577  }
578 
579  void SetDrawSpace( bool bNew )
580  {
581  m_bDrawSpace = bNew;
582 #ifdef DBG_UTIL
583  m_bDrawSp = true;
584 #endif
585  }
586 
587  void SetGreyWave( bool bNew )
588  {
589  m_bGreyWave = bNew;
590  }
591 
592  void SetSpaceStop( bool bNew )
593  {
594  m_bSpaceStop = bNew;
595  }
596 
597  void SetSnapToGrid( bool bNew )
598  {
599  m_bSnapToGrid = bNew;
600  }
601 
602  void SetIgnoreFrameRTL( bool bNew )
603  {
604  m_bIgnoreFrameRTL = bNew;
605  }
606 
607  void SetPosMatchesBounds( bool bNew )
608  {
609  m_bPosMatchesBounds = bNew;
610  }
611 
612  void Shift( Degree10 nDir );
613 
614  // sets a new color at the output device if necessary if a font is passed
615  // as argument, the change if made to the font otherwise the font at the
616  // output device is changed returns if the font has been changed
617  bool ApplyAutoColor( vcl::Font* pFnt = nullptr );
618 };
619 
620 #endif
621 
622 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void SetSmartTags(sw::WrongListIterator *const pNew)
Definition: drawfont.hxx:458
SwViewShell const * GetShell() const
Definition: drawfont.hxx:179
Represents the visualization of a paragraph.
Definition: txtfrm.hxx:159
sw::WrongListIterator * GetGrammarCheck() const
Definition: drawfont.hxx:233
VclPtr< OutputDevice > m_pOut
Definition: drawfont.hxx:48
sal_uInt16 m_nWidth
Definition: drawfont.hxx:66
vcl::RenderContext * GetpOut() const
Definition: drawfont.hxx:189
SwFont * GetFont() const
Definition: drawfont.hxx:254
tools::Long GetCharacterSpacing() const
Definition: drawfont.hxx:316
bool GetDrawSpace() const
Definition: drawfont.hxx:363
sw::WrongListIterator * GetWrong() const
Definition: drawfont.hxx:225
TextFrameIndex GetEnd() const
Definition: drawfont.hxx:285
TextFrameIndex * GetHyphPos() const
Definition: drawfont.hxx:207
void SetSize(const Size &rNew)
Definition: drawfont.hxx:463
bool GetBullet() const
Definition: drawfont.hxx:350
long Long
void SetIdx(TextFrameIndex const nNew)
Definition: drawfont.hxx:479
void SetGreyWave(bool bNew)
Definition: drawfont.hxx:587
void SetKanaComp(short nNew)
Definition: drawfont.hxx:556
void SetPos(const Point &rNew)
Definition: drawfont.hxx:401
bool IsPosMatchesBounds() const
Definition: drawfont.hxx:391
sal_uInt16 GetWidth() const
Definition: drawfont.hxx:298
void SetWidth(sal_uInt16 nNew)
Definition: drawfont.hxx:507
sal_uInt16 GetAscent() const
Definition: drawfont.hxx:303
Dialog to specify the properties of date form field.
SwFont * m_pFnt
Definition: drawfont.hxx:58
void SetFrame(const SwTextFrame *pNewFrame)
Definition: drawfont.hxx:174
TextFrameIndex * m_pHyphPos
Definition: drawfont.hxx:60
sw::WrongListIterator * m_pSmartTags
Definition: drawfont.hxx:56
const SwScriptInfo * GetScriptInfo() const
Definition: drawfont.hxx:194
void SetCursorBidiLevel(sal_uInt8 nNew)
Definition: drawfont.hxx:551
void SetSpaceStop(bool bNew)
Definition: drawfont.hxx:592
const SwTextFrame * GetFrame() const
Definition: drawfont.hxx:169
sal_Int32 m_nOfst
this is not a string index
Definition: drawfont.hxx:65
SwDrawTextInfo(SwViewShell const *pSh, OutputDevice &rOut, const SwScriptInfo *pSI, const OUString &rText, TextFrameIndex const nIdx, TextFrameIndex const nLen, sal_uInt16 nWidth=0, bool bBullet=false, vcl::text::TextLayoutCache const *const pCachedVclData=nullptr)
constructor for text frame contents
Definition: drawfont.hxx:116
SwDrawTextInfo(SwViewShell const *pSh, OutputDevice &rOut, const OUString &rText, sal_Int32 const nIdx, sal_Int32 const nLen, sal_uInt16 nWidth=0, bool bBullet=false)
constructor for simple strings
Definition: drawfont.hxx:110
void SetUnderFnt(SwUnderlineFont *pULFnt)
Definition: drawfont.hxx:566
void SetOut(OutputDevice &rNew)
Definition: drawfont.hxx:396
void SetKern(tools::Long nNew)
Definition: drawfont.hxx:520
void SetKanaDiff(tools::Long nNew)
Definition: drawfont.hxx:499
SwUnderlineFont * m_pUnderFnt
Definition: drawfont.hxx:59
sal_uInt8 m_nCursorBidiLevel
Definition: drawfont.hxx:73
SwUnderlineFont * GetUnderFnt() const
Definition: drawfont.hxx:262
void SetHyphPos(TextFrameIndex *const pNew)
Definition: drawfont.hxx:409
sal_uInt16 GetKanaComp() const
Definition: drawfont.hxx:311
void SetWrong(sw::WrongListIterator *const pNew)
Definition: drawfont.hxx:442
void SetLen(TextFrameIndex const nNew)
Definition: drawfont.hxx:485
const OUString & GetText() const
Definition: drawfont.hxx:220
sw::WrongListIterator * GetSmartTags() const
Definition: drawfont.hxx:241
void SetNumberOfBlanks(TextFrameIndex const nNew)
Definition: drawfont.hxx:543
exports com.sun.star. text
void SetAscent(sal_uInt16 nNew)
Definition: drawfont.hxx:512
void SetPosMatchesBounds(bool bNew)
Definition: drawfont.hxx:607
bool SnapToGrid() const
Definition: drawfont.hxx:381
UNDERLYING_TYPE get() const
tools::Long GetKanaDiff() const
Definition: drawfont.hxx:290
tools::Long m_nSpace
Definition: drawfont.hxx:70
bool IsIgnoreFrameRTL() const
Definition: drawfont.hxx:386
void SetOffset(sal_Int32 nNew)
Definition: drawfont.hxx:491
const SwTextFrame * m_pFrame
Definition: drawfont.hxx:47
tools::Long m_nCharacterSpacing
Definition: drawfont.hxx:69
void SetUpper(bool bNew)
Definition: drawfont.hxx:571
vcl::text::TextLayoutCache const * GetVclCache() const
Definition: drawfont.hxx:215
void SetBullet(bool bNew)
Definition: drawfont.hxx:561
void SetSpace(tools::Long nNew)
Definition: drawfont.hxx:525
void SetGrammarCheck(sw::WrongListIterator *const pNew)
Definition: drawfont.hxx:450
#define SW_DLLPUBLIC
Definition: swdllapi.h:28
bool GetGreyWave() const
Definition: drawfont.hxx:371
TextFrameIndex m_nNumberOfBlanks
Definition: drawfont.hxx:72
void SetDrawSpace(bool bNew)
Definition: drawfont.hxx:579
OUString m_aText
Definition: drawfont.hxx:53
sal_uInt8 GetCursorBidiLevel() const
Definition: drawfont.hxx:345
sal_uInt16 m_nCompress
Definition: drawfont.hxx:68
bool GetUpper() const
Definition: drawfont.hxx:355
sw::WrongListIterator * m_pWrong
Definition: drawfont.hxx:54
tools::Long GetSpace() const
Definition: drawfont.hxx:329
TextFrameIndex m_nIdx
Definition: drawfont.hxx:62
sal_uInt16 m_nAscent
Definition: drawfont.hxx:67
unsigned char sal_uInt8
OutputDevice RenderContext
Definition: paintfrm.hxx:30
TextFrameIndex GetNumberOfBlanks() const
Definition: drawfont.hxx:337
const Point & GetPos() const
Definition: drawfont.hxx:199
void SetTextIdxLen(const OUString &rNewStr, TextFrameIndex const nNewIdx, TextFrameIndex const nNewLen)
Definition: drawfont.hxx:425
TextFrameIndex GetLen() const
Definition: drawfont.hxx:272
const Size & GetSize() const
Definition: drawfont.hxx:246
void SetSnapToGrid(bool bNew)
Definition: drawfont.hxx:597
SwViewShell const * m_pSh
Definition: drawfont.hxx:49
vcl::text::TextLayoutCache const * m_pCachedVclData
Definition: drawfont.hxx:52
tools::Long m_nKern
Definition: drawfont.hxx:71
vcl::RenderContext & GetOut() const
Definition: drawfont.hxx:184
tools::Long GetKern() const
Definition: drawfont.hxx:324
constexpr sal_Int32 COMPLETE_STRING
Definition: swtypes.hxx:57
void SetText(const OUString &rNew)
Definition: drawfont.hxx:417
TextFrameIndex GetIdx() const
Definition: drawfont.hxx:267
void SetFont(SwFont *pNew)
Definition: drawfont.hxx:471
bool IsSpaceStop() const
Definition: drawfont.hxx:376
sal_Int32 GetOffset() const
Definition: drawfont.hxx:277
o3tl::strong_int< sal_Int32, struct Tag_TextFrameIndex > TextFrameIndex
Denotes a character index in a text frame at a layout level, after extent mapping from a text node at...
TextFrameIndex m_nLen
Definition: drawfont.hxx:63
const SwScriptInfo * m_pScriptInfo
Definition: drawfont.hxx:50
void SetIgnoreFrameRTL(bool bNew)
Definition: drawfont.hxx:602
sw::WrongListIterator * m_pGrammarCheck
Definition: drawfont.hxx:55
tools::Long m_nKanaDiff
Definition: drawfont.hxx:61
void SetIdxLen(TextFrameIndex const nNewIdx, TextFrameIndex const nNewLen)
Definition: drawfont.hxx:435