Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Graphic Ui
提交
33c4904c
G
Graphic Ui
项目概览
OpenHarmony
/
Graphic Ui
大约 1 年 前同步成功
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Graphic Ui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
33c4904c
编写于
4月 04, 2023
作者:
O
openharmony_ci
提交者:
Gitee
4月 04, 2023
浏览文件
操作
浏览文件
下载
差异文件
!926 修改省略号的格式
Merge pull request !926 from 郝烁/master
上级
b6edbf7d
70dbaba2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
11 deletion
+12
-11
frameworks/common/text.cpp
frameworks/common/text.cpp
+10
-9
interfaces/kits/common/text.h
interfaces/kits/common/text.h
+2
-2
未找到文件。
frameworks/common/text.cpp
浏览文件 @
33c4904c
...
@@ -260,8 +260,8 @@ void Text::DrawEllipsis(BufferInfo& gfxDstBuffer, LabelLineInfo& labelLine, uint
...
@@ -260,8 +260,8 @@ void Text::DrawEllipsis(BufferInfo& gfxDstBuffer, LabelLineInfo& labelLine, uint
{
{
labelLine
.
offset
.
x
=
0
;
labelLine
.
offset
.
x
=
0
;
labelLine
.
text
=
TEXT_ELLIPSIS
;
labelLine
.
text
=
TEXT_ELLIPSIS
;
labelLine
.
lineLength
=
TEXT_ELLIPSIS_DOT_NUM
;
labelLine
.
lineLength
=
1
;
labelLine
.
length
=
TEXT_ELLIPSIS_DOT_NUM
;
labelLine
.
length
=
1
;
DrawLabel
::
DrawTextOneLine
(
gfxDstBuffer
,
labelLine
,
letterIndex
);
DrawLabel
::
DrawTextOneLine
(
gfxDstBuffer
,
labelLine
,
letterIndex
);
}
}
...
@@ -406,13 +406,14 @@ uint16_t Text::GetLine(int16_t width, uint8_t letterSpace, uint16_t ellipsisInde
...
@@ -406,13 +406,14 @@ uint16_t Text::GetLine(int16_t width, uint8_t letterSpace, uint16_t ellipsisInde
lineNum
++
;
lineNum
++
;
}
}
if
((
lineNum
!=
0
)
&&
(
ellipsisIndex
!=
TEXT_ELLIPSIS_END_INV
))
{
if
((
lineNum
!=
0
)
&&
(
ellipsisIndex
!=
TEXT_ELLIPSIS_END_INV
))
{
uint16_t
ellipsisWidth
=
UIFont
::
GetInstance
()
->
GetWidth
(
'.'
,
fontId_
,
fontSize_
,
0
)
+
letterSpace
;
uint16_t
ellipsisWidth
=
textLine_
[
lineNum
-
1
].
linePixelWidth
+=
ellipsisWidth
*
TEXT_ELLIPSIS_DOT_NUM
;
UIFont
::
GetInstance
()
->
GetWidth
(
TEXT_ELLIPSIS_UNICODE
,
fontId_
,
fontSize_
,
0
)
+
letterSpace
;
textLine_
[
lineNum
-
1
].
linePixelWidth
+=
ellipsisWidth
;
if
(
textLine_
[
lineNum
-
1
].
linePixelWidth
>
width
)
{
if
(
textLine_
[
lineNum
-
1
].
linePixelWidth
>
width
)
{
int16_t
newWidth
=
width
-
ellipsisWidth
*
TEXT_ELLIPSIS_DOT_NUM
;
int16_t
newWidth
=
width
-
ellipsisWidth
;
maxLineBytes
=
CalculateLineWithEllipsis
(
begin
,
textLen
,
newWidth
,
letterSpace
,
lineNum
,
letterIndex
,
maxLineBytes
=
CalculateLineWithEllipsis
(
begin
,
textLen
,
newWidth
,
letterSpace
,
lineNum
,
letterIndex
,
sizeSpans_
);
sizeSpans_
);
textLine_
[
lineNum
-
1
].
linePixelWidth
+=
ellipsisWidth
*
TEXT_ELLIPSIS_DOT_NUM
;
textLine_
[
lineNum
-
1
].
linePixelWidth
+=
ellipsisWidth
;
}
}
}
}
return
lineNum
;
return
lineNum
;
...
@@ -461,13 +462,13 @@ uint32_t Text::GetTextLine(uint32_t begin, uint32_t textLen, int16_t width, uint
...
@@ -461,13 +462,13 @@ uint32_t Text::GetTextLine(uint32_t begin, uint32_t textLen, int16_t width, uint
uint16_t
Text
::
GetEllipsisIndex
(
const
Rect
&
textRect
,
const
Style
&
style
)
uint16_t
Text
::
GetEllipsisIndex
(
const
Rect
&
textRect
,
const
Style
&
style
)
{
{
if
(
(
textSize_
.
y
<=
textRect
.
GetHeight
())
||
(
TypedText
::
GetUTF8CharacterSize
(
text_
)
<=
TEXT_ELLIPSIS_DOT_NUM
))
{
if
(
textSize_
.
y
<=
textRect
.
GetHeight
(
))
{
return
TEXT_ELLIPSIS_END_INV
;
return
TEXT_ELLIPSIS_END_INV
;
}
}
UIFont
*
fontEngine
=
UIFont
::
GetInstance
();
UIFont
*
fontEngine
=
UIFont
::
GetInstance
();
int16_t
letterWidth
=
fontEngine
->
GetWidth
(
'.'
,
fontId_
,
fontSize_
,
0
)
+
style
.
letterSpace_
;
int16_t
letterWidth
=
fontEngine
->
GetWidth
(
TEXT_ELLIPSIS_UNICODE
,
fontId_
,
fontSize_
,
0
)
+
style
.
letterSpace_
;
Point
p
;
Point
p
;
p
.
x
=
textRect
.
GetWidth
()
-
letterWidth
*
TEXT_ELLIPSIS_DOT_NUM
;
p
.
x
=
textRect
.
GetWidth
()
-
letterWidth
;
p
.
y
=
textRect
.
GetHeight
();
p
.
y
=
textRect
.
GetHeight
();
int16_t
height
=
style
.
lineHeight_
;
int16_t
height
=
style
.
lineHeight_
;
if
(
height
==
0
)
{
if
(
height
==
0
)
{
...
...
interfaces/kits/common/text.h
浏览文件 @
33c4904c
...
@@ -138,6 +138,7 @@ class Text : public HeapBase {
...
@@ -138,6 +138,7 @@ class Text : public HeapBase {
public:
public:
/** Invalid value for the ellipsis position */
/** Invalid value for the ellipsis position */
static
constexpr
uint16_t
TEXT_ELLIPSIS_END_INV
=
0xFFFF
;
static
constexpr
uint16_t
TEXT_ELLIPSIS_END_INV
=
0xFFFF
;
static
constexpr
uint16_t
TEXT_ELLIPSIS_UNICODE
=
0x2026
;
/**
/**
* @brief A constructor used to create a <b>Text</b> instance.
* @brief A constructor used to create a <b>Text</b> instance.
...
@@ -486,8 +487,7 @@ protected:
...
@@ -486,8 +487,7 @@ protected:
static
constexpr
uint16_t
MAX_LINE_COUNT
=
50
;
static
constexpr
uint16_t
MAX_LINE_COUNT
=
50
;
static
TextLine
textLine_
[
MAX_LINE_COUNT
];
static
TextLine
textLine_
[
MAX_LINE_COUNT
];
static
constexpr
int16_t
TEXT_ELLIPSIS_DOT_NUM
=
3
;
static
constexpr
const
char
*
TEXT_ELLIPSIS
=
"…"
;
static
constexpr
const
char
*
TEXT_ELLIPSIS
=
"..."
;
virtual
uint32_t
GetTextStrLen
();
virtual
uint32_t
GetTextStrLen
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录