Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qunicodetools_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#ifndef QUNICODETOOLS_P_H
5
#define QUNICODETOOLS_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists for the convenience
12
// of other Qt classes. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#include <QtCore/private/qglobal_p.h>
19
#include <QtCore/qchar.h>
20
#include <QtCore/qvarlengtharray.h>
21
22
QT_BEGIN_NAMESPACE
23
24
struct
QCharAttributes
25
{
26
uchar
graphemeBoundary
: 1;
27
uchar
wordBreak
: 1;
28
uchar
sentenceBoundary
: 1;
29
uchar
lineBreak
: 1;
30
uchar
whiteSpace
: 1;
31
uchar
wordStart
: 1;
32
uchar
wordEnd
: 1;
33
uchar
mandatoryBreak
: 1;
34
};
35
Q_DECLARE_TYPEINFO
(
QCharAttributes
,
Q_PRIMITIVE_TYPE
);
36
37
namespace
QUnicodeTools
{
38
39
struct
ScriptItem
40
{
41
qsizetype
position
;
42
QChar::Script
script
;
43
};
44
45
using
ScriptItemArray
= QVarLengthArray<ScriptItem, 64>;
46
47
}
// namespace QUnicodeTools
48
Q_DECLARE_TYPEINFO
(
QUnicodeTools::ScriptItem
,
Q_PRIMITIVE_TYPE
);
49
namespace
QUnicodeTools
{
50
51
enum
CharAttributeOption
{
52
GraphemeBreaks
= 0x01,
53
WordBreaks
= 0x02,
54
SentenceBreaks
= 0x04,
55
LineBreaks
= 0x08,
56
WhiteSpaces
= 0x10,
57
HangulLineBreakTailoring
= 0x20,
58
59
DontClearAttributes
= 0x1000
60
};
61
Q_DECLARE_FLAGS
(CharAttributeOptions,
CharAttributeOption
)
62
63
// attributes buffer has to have a length of string length + 1
64
Q_CORE_EXPORT
void
initCharAttributes
(
QStringView
str
,
65
const
ScriptItem *
items
,
qsizetype
numItems,
66
QCharAttributes
*attributes, CharAttributeOptions options);
67
68
69
Q_CORE_EXPORT
void
initScripts
(
QStringView
str
,
ScriptItemArray
*scripts);
70
71
}
// namespace QUnicodeTools
72
73
QT_END_NAMESPACE
74
75
#endif
// QUNICODETOOLS_P_H
QStringView
\inmodule QtCore
Definition
qstringview.h:78
QVarLengthArray
Definition
qvarlengtharray.h:273
str
QString str
[2]
Definition
doc_src_containers.cpp:177
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
QUnicodeTools
Definition
qunicodetools.cpp:27
QUnicodeTools::ScriptItemArray
QVarLengthArray< ScriptItem, 64 > ScriptItemArray
Definition
qunicodetools_p.h:45
QUnicodeTools::initCharAttributes
Q_CORE_EXPORT void initCharAttributes(QStringView string, const ScriptItem *items, qsizetype numItems, QCharAttributes *attributes, CharAttributeOptions options)
Definition
qunicodetools.cpp:2390
QUnicodeTools::CharAttributeOption
CharAttributeOption
Definition
qunicodetools_p.h:51
QUnicodeTools::WordBreaks
@ WordBreaks
Definition
qunicodetools_p.h:53
QUnicodeTools::GraphemeBreaks
@ GraphemeBreaks
Definition
qunicodetools_p.h:52
QUnicodeTools::WhiteSpaces
@ WhiteSpaces
Definition
qunicodetools_p.h:56
QUnicodeTools::LineBreaks
@ LineBreaks
Definition
qunicodetools_p.h:55
QUnicodeTools::HangulLineBreakTailoring
@ HangulLineBreakTailoring
Definition
qunicodetools_p.h:57
QUnicodeTools::SentenceBreaks
@ SentenceBreaks
Definition
qunicodetools_p.h:54
QUnicodeTools::DontClearAttributes
@ DontClearAttributes
Definition
qunicodetools_p.h:59
QUnicodeTools::initScripts
Q_CORE_EXPORT void initScripts(QStringView string, ScriptItemArray *scripts)
Definition
qunicodetools.cpp:2426
Q_DECLARE_FLAGS
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition
qflags.h:174
Q_PRIMITIVE_TYPE
@ Q_PRIMITIVE_TYPE
Definition
qtypeinfo.h:157
Q_DECLARE_TYPEINFO
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
Definition
qtypeinfo.h:180
uchar
unsigned char uchar
Definition
qtypes.h:32
qsizetype
ptrdiff_t qsizetype
Definition
qtypes.h:165
items
QList< QTreeWidgetItem * > items
Definition
src_gui_itemviews_qtreewidget.cpp:7
QCharAttributes
Definition
qunicodetools_p.h:25
QCharAttributes::wordBreak
uchar wordBreak
Definition
qunicodetools_p.h:27
QCharAttributes::graphemeBoundary
uchar graphemeBoundary
Definition
qunicodetools_p.h:26
QCharAttributes::mandatoryBreak
uchar mandatoryBreak
Definition
qunicodetools_p.h:33
QCharAttributes::wordEnd
uchar wordEnd
Definition
qunicodetools_p.h:32
QCharAttributes::wordStart
uchar wordStart
Definition
qunicodetools_p.h:31
QCharAttributes::lineBreak
uchar lineBreak
Definition
qunicodetools_p.h:29
QCharAttributes::whiteSpace
uchar whiteSpace
Definition
qunicodetools_p.h:30
QCharAttributes::sentenceBoundary
uchar sentenceBoundary
Definition
qunicodetools_p.h:28
QUnicodeTools::ScriptItem
Definition
qunicodetools_p.h:40
QUnicodeTools::ScriptItem::script
QChar::Script script
Definition
qunicodetools_p.h:42
QUnicodeTools::ScriptItem::position
qsizetype position
Definition
qunicodetools_p.h:41
qtbase
src
corelib
text
qunicodetools_p.h
Generated by
1.10.0