Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
cfgas_rtfbreak.h
Go to the documentation of this file.
1
// Copyright 2014 The PDFium Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7
#
ifndef
XFA_FGAS_LAYOUT_CFGAS_RTFBREAK_H_
8
#
define
XFA_FGAS_LAYOUT_CFGAS_RTFBREAK_H_
9
10
#
include
<
deque
>
11
#
include
<
vector
>
12
13
#
include
"core/fxcrt/fx_coordinates.h"
14
#
include
"core/fxcrt/fx_unicode.h"
15
#
include
"core/fxcrt/retain_ptr.h"
16
#
include
"core/fxcrt/span.h"
17
#
include
"xfa/fgas/layout/cfgas_break.h"
18
19
class
CFGAS_TextPiece
;
20
class
CFGAS_TextUserData;
21
class
TextCharPos
;
22
23
class
CFGAS_RTFBreak
final
:
public
CFGAS_Break
{
24
public
:
25
enum
class
LineAlignment
:
uint8_t
{
26
Left
= 0,
27
Center
,
28
Right
,
29
Justified
,
30
Distributed
31
};
32
33
explicit
CFGAS_RTFBreak
(
Mask
<
LayoutStyle
> dwLayoutStyles);
34
~
CFGAS_RTFBreak
()
override
;
35
36
void
SetLineStartPos
(
float
fLinePos);
37
38
void
SetAlignment
(
LineAlignment
align) { m_iAlignment = align; }
39
void
SetUserData
(
const
RetainPtr
<CFGAS_TextUserData>& pUserData);
40
41
void
AddPositionedTab
(
float
fTabPos);
42
43
CFGAS_Char
::
BreakType
EndBreak
(
CFGAS_Char
::
BreakType
dwStatus);
44
45
size_t
GetDisplayPos
(
const
CFGAS_TextPiece
* pPiece,
46
pdfium::span<TextCharPos> pCharPos)
const
;
47
48
CFGAS_Char
::
BreakType
AppendChar
(
wchar_t
wch);
49
50
private
:
51
void
AppendChar_Combination(
CFGAS_Char
* pCurChar);
52
void
AppendChar_Tab(
CFGAS_Char
* pCurChar);
53
CFGAS_Char
::
BreakType
AppendChar_Control(
CFGAS_Char
* pCurChar);
54
CFGAS_Char
::
BreakType
AppendChar_Arabic(
CFGAS_Char
* pCurChar);
55
CFGAS_Char
::
BreakType
AppendChar_Others(
CFGAS_Char
* pCurChar);
56
bool
GetPositionedTab(int32_t* iTabPos)
const
;
57
58
int32_t GetBreakPos(std::vector<CFGAS_Char>& tca,
59
bool
bAllChars,
60
bool
bOnlyBrk,
61
int32_t* pEndPos);
62
void
SplitTextLine(
CFGAS_BreakLine
* pCurLine,
63
CFGAS_BreakLine
* pNextLine,
64
bool
bAllChars);
65
bool
EndBreakSplitLine(
CFGAS_BreakLine
* pNextLine,
66
bool
bAllChars,
67
CFGAS_Char
::
BreakType
dwStatus);
68
std::deque<TPO> EndBreakBidiLine(
CFGAS_Char
::
BreakType
dwStatus);
69
void
EndBreakAlignment(
const
std::deque<TPO>& tpos,
70
bool
bAllChars,
71
CFGAS_Char
::
BreakType
dwStatus);
72
73
bool
m_bPagination =
false
;
74
LineAlignment
m_iAlignment =
LineAlignment
::
Left
;
75
std::vector<int32_t> m_PositionedTabs;
76
RetainPtr
<CFGAS_TextUserData> m_pUserData;
77
};
78
79
#
endif
// XFA_FGAS_LAYOUT_CFGAS_RTFBREAK_H_
DCHECK
#define DCHECK
Definition
check.h:33
CFGAS_BreakLine
Definition
cfgas_breakline.h:15
CFGAS_BreakLine::Clear
void Clear()
Definition
cfgas_breakline.cpp:27
CFGAS_BreakLine::GetLineEnd
int32_t GetLineEnd() const
Definition
cfgas_breakline.cpp:23
CFGAS_BreakLine::m_iStart
int32_t m_iStart
Definition
cfgas_breakline.h:31
CFGAS_BreakLine::IncrementArabicCharCount
void IncrementArabicCharCount()
Definition
cfgas_breakline.cpp:34
CFGAS_BreakLine::m_iWidth
int32_t m_iWidth
Definition
cfgas_breakline.h:32
CFGAS_BreakLine::DecrementArabicCharCount
void DecrementArabicCharCount()
Definition
cfgas_breakline.cpp:38
CFGAS_BreakPiece
Definition
cfgas_breakpiece.h:19
CFGAS_BreakPiece::GetStartChar
int32_t GetStartChar() const
Definition
cfgas_breakpiece.h:46
CFGAS_BreakPiece::SetVerticalScale
void SetVerticalScale(int32_t scale)
Definition
cfgas_breakpiece.h:65
CFGAS_BreakPiece::SetStatus
void SetStatus(CFGAS_Char::BreakType status)
Definition
cfgas_breakpiece.h:36
CFGAS_BreakPiece::SetBidiLevel
void SetBidiLevel(int32_t level)
Definition
cfgas_breakpiece.h:53
CFGAS_BreakPiece::SetStartPos
void SetStartPos(int32_t pos)
Definition
cfgas_breakpiece.h:39
CFGAS_BreakPiece::SetCharCount
void SetCharCount(int32_t count)
Definition
cfgas_breakpiece.h:50
CFGAS_BreakPiece::SetStartChar
void SetStartChar(int32_t pos)
Definition
cfgas_breakpiece.h:47
CFGAS_BreakPiece::GetBidiPos
int32_t GetBidiPos() const
Definition
cfgas_breakpiece.h:55
CFGAS_BreakPiece::IncrementWidth
void IncrementWidth(int32_t width)
Definition
cfgas_breakpiece.h:44
CFGAS_BreakPiece::IncrementStartPos
void IncrementStartPos(int32_t count)
Definition
cfgas_breakpiece.h:40
CFGAS_BreakPiece::SetBidiPos
void SetBidiPos(int32_t pos)
Definition
cfgas_breakpiece.h:56
CFGAS_BreakPiece::SetFontSize
void SetFontSize(int32_t font_size)
Definition
cfgas_breakpiece.h:59
CFGAS_BreakPiece::SetHorizontalScale
void SetHorizontalScale(int32_t scale)
Definition
cfgas_breakpiece.h:62
CFGAS_BreakPiece::SetWidth
void SetWidth(int32_t width)
Definition
cfgas_breakpiece.h:43
CFGAS_BreakPiece::SetUserData
void SetUserData(const RetainPtr< CFGAS_TextUserData > &user_data)
Definition
cfgas_breakpiece.h:73
CFGAS_BreakPiece::GetWidth
int32_t GetWidth() const
Definition
cfgas_breakpiece.h:42
CFGAS_Break
Definition
cfgas_break.h:21
CFGAS_Break::SetBreakStatus
void SetBreakStatus()
Definition
cfgas_break.cpp:73
CFGAS_Break::GetLastChar
CFGAS_Char * GetLastChar(int32_t index, bool bOmitChar, bool bRichText) const
Definition
cfgas_break.cpp:123
CFGAS_Break::LayoutStyle
LayoutStyle
Definition
cfgas_break.h:23
CFGAS_Break::HasLine
bool HasLine() const
Definition
cfgas_break.h:72
CFGAS_Break::IsGreaterThanLineWidth
bool IsGreaterThanLineWidth(int32_t width) const
Definition
cfgas_break.cpp:81
CFGAS_Break::kConversionFactor
static const float kConversionFactor
Definition
cfgas_break.h:67
CFGAS_Char
Definition
cfgas_char.h:19
CFGAS_Char::m_iFontSize
int32_t m_iFontSize
Definition
cfgas_char.h:51
CFGAS_Char::m_dwIdentity
uint32_t m_dwIdentity
Definition
cfgas_char.h:52
CFGAS_Char::m_iCharWidth
int32_t m_iCharWidth
Definition
cfgas_char.h:47
CFGAS_Char::BreakType
BreakType
Definition
cfgas_char.h:21
CFGAS_Char::BreakType::kNone
@ kNone
Definition
cfgas_char.h:22
CFGAS_Char::BreakType::kPage
@ kPage
Definition
cfgas_char.h:26
CFGAS_Char::BreakType::kParagraph
@ kParagraph
Definition
cfgas_char.h:25
CFGAS_Char::BreakType::kPiece
@ kPiece
Definition
cfgas_char.h:23
CFGAS_Char::BreakType::kLine
@ kLine
Definition
cfgas_char.h:24
CFGAS_Char::m_iBidiOrder
uint16_t m_iBidiOrder
Definition
cfgas_char.h:50
CFGAS_Char::m_iBidiPos
uint16_t m_iBidiPos
Definition
cfgas_char.h:49
CFGAS_Char::m_dwStatus
BreakType m_dwStatus
Definition
cfgas_char.h:43
CFGAS_Char::vertical_scale
int16_t vertical_scale() const
Definition
cfgas_char.h:41
CFGAS_Char::m_iBidiLevel
uint16_t m_iBidiLevel
Definition
cfgas_char.h:48
CFGAS_Char::horizonal_scale
int16_t horizonal_scale() const
Definition
cfgas_char.h:40
CFGAS_Char::m_eLineBreakType
FX_LINEBREAKTYPE m_eLineBreakType
Definition
cfgas_char.h:45
CFGAS_Char::char_code
uint16_t char_code() const
Definition
cfgas_char.h:39
CFGAS_RTFBreak::SetUserData
void SetUserData(const RetainPtr< CFGAS_TextUserData > &pUserData)
Definition
cfgas_rtfbreak.cpp:52
CFGAS_RTFBreak::SetAlignment
void SetAlignment(LineAlignment align)
Definition
cfgas_rtfbreak.h:38
CFGAS_RTFBreak::AppendChar
CFGAS_Char::BreakType AppendChar(wchar_t wch)
Definition
cfgas_rtfbreak.cpp:71
CFGAS_RTFBreak::CFGAS_RTFBreak
CFGAS_RTFBreak(Mask< LayoutStyle > dwLayoutStyles)
Definition
cfgas_rtfbreak.cpp:27
CFGAS_RTFBreak::~CFGAS_RTFBreak
~CFGAS_RTFBreak() override
CFGAS_RTFBreak::EndBreak
CFGAS_Char::BreakType EndBreak(CFGAS_Char::BreakType dwStatus)
Definition
cfgas_rtfbreak.cpp:297
CFGAS_RTFBreak::SetLineStartPos
void SetLineStartPos(float fLinePos)
Definition
cfgas_rtfbreak.cpp:35
CFGAS_RTFBreak::LineAlignment
LineAlignment
Definition
cfgas_rtfbreak.h:25
CFGAS_RTFBreak::LineAlignment::Justified
@ Justified
Definition
cfgas_rtfbreak.h:29
CFGAS_RTFBreak::LineAlignment::Center
@ Center
Definition
cfgas_rtfbreak.h:27
CFGAS_RTFBreak::LineAlignment::Distributed
@ Distributed
Definition
cfgas_rtfbreak.h:30
CFGAS_RTFBreak::LineAlignment::Right
@ Right
Definition
cfgas_rtfbreak.h:28
CFGAS_RTFBreak::LineAlignment::Left
@ Left
Definition
cfgas_rtfbreak.h:26
CFGAS_RTFBreak::GetDisplayPos
size_t GetDisplayPos(const CFGAS_TextPiece *pPiece, pdfium::span< TextCharPos > pCharPos) const
Definition
cfgas_rtfbreak.cpp:706
CFGAS_RTFBreak::AddPositionedTab
void AddPositionedTab(float fTabPos)
Definition
cfgas_rtfbreak.cpp:42
CFGAS_TextPiece
Definition
cfgas_textpiece.h:18
CFGAS_TextPiece::iBidiLevel
int32_t iBidiLevel
Definition
cfgas_textpiece.h:28
CFGAS_TextPiece::fFontSize
float fFontSize
Definition
cfgas_textpiece.h:29
CFGAS_TextPiece::rtPiece
CFX_RectF rtPiece
Definition
cfgas_textpiece.h:30
CFGAS_TextPiece::iVerScale
int32_t iVerScale
Definition
cfgas_textpiece.h:27
CFGAS_TextPiece::iChars
int32_t iChars
Definition
cfgas_textpiece.h:25
CFGAS_TextPiece::iHorScale
int32_t iHorScale
Definition
cfgas_textpiece.h:26
CFX_RectF
Definition
fx_coordinates.h:276
CFX_RectF::CFX_RectF
CFX_RectF(const CFX_RectF &other)=default
CFX_RectF::left
float left
Definition
fx_coordinates.h:428
CFX_RectF::top
float top
Definition
fx_coordinates.h:429
CFX_RectF::right
float right() const
Definition
fx_coordinates.h:315
TextCharPos
Definition
text_char_pos.h:15
TextCharPos::m_GlyphIndex
uint32_t m_GlyphIndex
Definition
text_char_pos.h:25
TextCharPos::m_FontCharWidth
int m_FontCharWidth
Definition
text_char_pos.h:26
TextCharPos::m_bGlyphAdjust
bool m_bGlyphAdjust
Definition
text_char_pos.h:31
fxcrt::Mask
Definition
mask.h:15
fxcrt::RetainPtr
Definition
retain_ptr.h:28
pdfium::CFDETextOutLargeBitmapTest
Definition
cfde_textout_unittest.cpp:117
UNSAFE_TODO
#define UNSAFE_TODO(...)
Definition
compiler_specific.h:102
FX_LINEBREAKTYPE
FX_LINEBREAKTYPE
Definition
fgas_linebreak.h:14
FX_LINEBREAKTYPE::kDIRECT_BRK
@ kDIRECT_BRK
Definition
fgas_linebreak.h:16
FX_LINEBREAKTYPE::kUNKNOWN
@ kUNKNOWN
Definition
fgas_linebreak.h:15
FX_LINEBREAKTYPE::kINDIRECT_BRK
@ kINDIRECT_BRK
Definition
fgas_linebreak.h:17
FX_IsOdd
#define FX_IsOdd(a)
Definition
fx_extension.h:27
FX_SAFE_INT32
pdfium::CheckedNumeric< int32_t > FX_SAFE_INT32
Definition
fx_safe_types.h:15
FXSYS_roundf
int FXSYS_roundf(float f)
Definition
fx_system.cpp:100
fxcrt
Definition
stl_util.h:17
pdfium::unicode
Definition
fx_unicode.h:97
pdfium::unicode::GetMirrorChar
wchar_t GetMirrorChar(wchar_t wch)
Definition
fx_unicode.cpp:144
pdfium::unicode::kZeroWidthNoBreakSpace
constexpr wchar_t kZeroWidthNoBreakSpace
Definition
fx_unicode.h:103
pdfium::unicode::kLineSeparator
constexpr wchar_t kLineSeparator
Definition
fx_unicode.h:100
pdfium::unicode::kParagraphSeparator
constexpr wchar_t kParagraphSeparator
Definition
fx_unicode.h:101
pdfium::GetArabicFormChar
wchar_t GetArabicFormChar(const CFGAS_Char *cur, const CFGAS_Char *prev, const CFGAS_Char *next)
Definition
fgas_arabic.cpp:188
pdfium::GetArabicFormChar
wchar_t GetArabicFormChar(wchar_t wch, wchar_t prev, wchar_t next)
Definition
fgas_arabic.cpp:181
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
qtwebengine
src
3rdparty
chromium
third_party
pdfium
xfa
fgas
layout
cfgas_rtfbreak.h
Generated on
for Qt by
1.18.0