Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_43355755
engine
提交
005dec44
E
engine
项目概览
weixin_43355755
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
005dec44
编写于
10月 28, 2020
作者:
M
Mouad Debbar
提交者:
GitHub
10月 28, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[web] Clean up unused previousStyle logic (#22150)
上级
06b0910e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
57 addition
and
136 deletion
+57
-136
lib/web_ui/lib/src/engine/text/paragraph.dart
lib/web_ui/lib/src/engine/text/paragraph.dart
+57
-136
未找到文件。
lib/web_ui/lib/src/engine/text/paragraph.dart
浏览文件 @
005dec44
...
...
@@ -1460,157 +1460,86 @@ String fontWeightIndexToCss({int fontWeightIndex = 3}) {
/// Applies a paragraph [style] to an [element], translating the properties to
/// their corresponding CSS equivalents.
///
/// If [previousStyle] is not null, updates only the mismatching attributes.
void
_applyParagraphStyleToElement
(
{
required
html
.
HtmlElement
element
,
required
EngineParagraphStyle
style
,
EngineParagraphStyle
?
previousStyle
,
})
{
assert
(
element
!=
null
);
// ignore: unnecessary_null_comparison
assert
(
style
!=
null
);
// ignore: unnecessary_null_comparison
// TODO(yjbanov): What do we do about ParagraphStyle._locale and ellipsis?
final
html
.
CssStyleDeclaration
cssStyle
=
element
.
style
;
if
(
previousStyle
==
null
)
{
if
(
style
.
_textAlign
!=
null
)
{
cssStyle
.
textAlign
=
textAlignToCssValue
(
style
.
_textAlign
,
style
.
_textDirection
??
ui
.
TextDirection
.
ltr
);
}
if
(
style
.
_lineHeight
!=
null
)
{
cssStyle
.
lineHeight
=
'
${style._lineHeight}
'
;
}
if
(
style
.
_textDirection
!=
null
)
{
cssStyle
.
direction
=
_textDirectionToCss
(
style
.
_textDirection
);
}
if
(
style
.
_fontSize
!=
null
)
{
cssStyle
.
fontSize
=
'
${style._fontSize!.floor()}
px'
;
}
if
(
style
.
_fontWeight
!=
null
)
{
cssStyle
.
fontWeight
=
fontWeightToCss
(
style
.
_fontWeight
);
}
if
(
style
.
_fontStyle
!=
null
)
{
cssStyle
.
fontStyle
=
style
.
_fontStyle
==
ui
.
FontStyle
.
normal
?
'normal'
:
'italic'
;
}
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_effectiveFontFamily
);
}
else
{
if
(
style
.
_textAlign
!=
previousStyle
.
_textAlign
)
{
cssStyle
.
textAlign
=
textAlignToCssValue
(
style
.
_textAlign
,
style
.
_textDirection
??
ui
.
TextDirection
.
ltr
);
}
if
(
style
.
_lineHeight
!=
previousStyle
.
_lineHeight
)
{
cssStyle
.
lineHeight
=
'
${style._lineHeight}
'
;
}
if
(
style
.
_textDirection
!=
previousStyle
.
_textDirection
)
{
cssStyle
.
direction
=
_textDirectionToCss
(
style
.
_textDirection
);
}
if
(
style
.
_fontSize
!=
previousStyle
.
_fontSize
)
{
cssStyle
.
fontSize
=
style
.
_fontSize
!=
null
?
'
${style._fontSize!.floor()}
px'
:
null
;
}
if
(
style
.
_fontWeight
!=
previousStyle
.
_fontWeight
)
{
cssStyle
.
fontWeight
=
fontWeightToCss
(
style
.
_fontWeight
);
}
if
(
style
.
_fontStyle
!=
previousStyle
.
_fontStyle
)
{
cssStyle
.
fontStyle
=
style
.
_fontStyle
!=
null
?
(
style
.
_fontStyle
==
ui
.
FontStyle
.
normal
?
'normal'
:
'italic'
)
:
null
;
}
if
(
style
.
_fontFamily
!=
previousStyle
.
_fontFamily
)
{
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_fontFamily
);
}
if
(
style
.
_textAlign
!=
null
)
{
cssStyle
.
textAlign
=
textAlignToCssValue
(
style
.
_textAlign
,
style
.
_textDirection
??
ui
.
TextDirection
.
ltr
);
}
if
(
style
.
_lineHeight
!=
null
)
{
cssStyle
.
lineHeight
=
'
${style._lineHeight}
'
;
}
if
(
style
.
_textDirection
!=
null
)
{
cssStyle
.
direction
=
_textDirectionToCss
(
style
.
_textDirection
);
}
if
(
style
.
_fontSize
!=
null
)
{
cssStyle
.
fontSize
=
'
${style._fontSize!.floor()}
px'
;
}
if
(
style
.
_fontWeight
!=
null
)
{
cssStyle
.
fontWeight
=
fontWeightToCss
(
style
.
_fontWeight
);
}
if
(
style
.
_fontStyle
!=
null
)
{
cssStyle
.
fontStyle
=
style
.
_fontStyle
==
ui
.
FontStyle
.
normal
?
'normal'
:
'italic'
;
}
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_effectiveFontFamily
);
}
/// Applies a text [style] to an [element], translating the properties to their
/// corresponding CSS equivalents.
///
/// If [previousStyle] is not null, updates only the mismatching attributes.
/// If [isSpan] is true, the text element is a span within richtext and
/// should not assign effectiveFontFamily if fontFamily was not specified.
void
_applyTextStyleToElement
(
{
required
html
.
HtmlElement
element
,
required
EngineTextStyle
style
,
EngineTextStyle
?
previousStyle
,
bool
isSpan
=
false
,
})
{
assert
(
element
!=
null
);
// ignore: unnecessary_null_comparison
assert
(
style
!=
null
);
// ignore: unnecessary_null_comparison
bool
updateDecoration
=
false
;
final
html
.
CssStyleDeclaration
cssStyle
=
element
.
style
;
if
(
previousStyle
==
null
)
{
final
ui
.
Color
?
color
=
style
.
_foreground
?.
color
??
style
.
_color
;
if
(
color
!=
null
)
{
cssStyle
.
color
=
colorToCssString
(
color
);
}
if
(
style
.
_fontSize
!=
null
)
{
cssStyle
.
fontSize
=
'
${style._fontSize!.floor()}
px'
;
}
if
(
style
.
_fontWeight
!=
null
)
{
cssStyle
.
fontWeight
=
fontWeightToCss
(
style
.
_fontWeight
);
}
if
(
style
.
_fontStyle
!=
null
)
{
cssStyle
.
fontStyle
=
style
.
_fontStyle
==
ui
.
FontStyle
.
normal
?
'normal'
:
'italic'
;
}
// For test environment use effectiveFontFamily since we need to
// consistently use Ahem font.
if
(
isSpan
&&
!
ui
.
debugEmulateFlutterTesterEnvironment
)
{
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_fontFamily
);
}
else
{
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_effectiveFontFamily
);
}
if
(
style
.
_letterSpacing
!=
null
)
{
cssStyle
.
letterSpacing
=
'
${style._letterSpacing}
px'
;
}
if
(
style
.
_wordSpacing
!=
null
)
{
cssStyle
.
wordSpacing
=
'
${style._wordSpacing}
px'
;
}
if
(
style
.
_decoration
!=
null
)
{
updateDecoration
=
true
;
}
if
(
style
.
_shadows
!=
null
)
{
cssStyle
.
textShadow
=
_shadowListToCss
(
style
.
_shadows
!);
}
}
else
{
if
(
style
.
_color
!=
previousStyle
.
_color
||
style
.
_foreground
!=
previousStyle
.
_foreground
)
{
final
ui
.
Color
?
color
=
style
.
_foreground
?.
color
??
style
.
_color
;
cssStyle
.
color
=
colorToCssString
(
color
);
}
if
(
style
.
_fontSize
!=
previousStyle
.
_fontSize
)
{
cssStyle
.
fontSize
=
style
.
_fontSize
!=
null
?
'
${style._fontSize!.floor()}
px'
:
null
;
}
if
(
style
.
_fontWeight
!=
previousStyle
.
_fontWeight
)
{
cssStyle
.
fontWeight
=
fontWeightToCss
(
style
.
_fontWeight
);
}
if
(
style
.
_fontStyle
!=
previousStyle
.
_fontStyle
)
{
cssStyle
.
fontStyle
=
style
.
_fontStyle
!=
null
?
style
.
_fontStyle
==
ui
.
FontStyle
.
normal
?
'normal'
:
'italic'
:
null
;
}
if
(
style
.
_fontFamily
!=
previousStyle
.
_fontFamily
)
{
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_fontFamily
);
}
if
(
style
.
_letterSpacing
!=
previousStyle
.
_letterSpacing
)
{
cssStyle
.
letterSpacing
=
'
${style._letterSpacing}
px'
;
}
if
(
style
.
_wordSpacing
!=
previousStyle
.
_wordSpacing
)
{
cssStyle
.
wordSpacing
=
'
${style._wordSpacing}
px'
;
}
if
(
style
.
_decoration
!=
previousStyle
.
_decoration
||
style
.
_decorationStyle
!=
previousStyle
.
_decorationStyle
||
style
.
_decorationColor
!=
previousStyle
.
_decorationColor
)
{
updateDecoration
=
true
;
}
if
(
style
.
_shadows
!=
previousStyle
.
_shadows
)
{
cssStyle
.
textShadow
=
_shadowListToCss
(
style
.
_shadows
!);
}
final
ui
.
Color
?
color
=
style
.
_foreground
?.
color
??
style
.
_color
;
if
(
color
!=
null
)
{
cssStyle
.
color
=
colorToCssString
(
color
);
}
if
(
style
.
_fontSize
!=
null
)
{
cssStyle
.
fontSize
=
'
${style._fontSize!.floor()}
px'
;
}
if
(
style
.
_fontWeight
!=
null
)
{
cssStyle
.
fontWeight
=
fontWeightToCss
(
style
.
_fontWeight
);
}
if
(
style
.
_fontStyle
!=
null
)
{
cssStyle
.
fontStyle
=
style
.
_fontStyle
==
ui
.
FontStyle
.
normal
?
'normal'
:
'italic'
;
}
// For test environment use effectiveFontFamily since we need to
// consistently use Ahem font.
if
(
isSpan
&&
!
ui
.
debugEmulateFlutterTesterEnvironment
)
{
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_fontFamily
);
}
else
{
cssStyle
.
fontFamily
=
canonicalizeFontFamily
(
style
.
_effectiveFontFamily
);
}
if
(
style
.
_letterSpacing
!=
null
)
{
cssStyle
.
letterSpacing
=
'
${style._letterSpacing}
px'
;
}
if
(
style
.
_wordSpacing
!=
null
)
{
cssStyle
.
wordSpacing
=
'
${style._wordSpacing}
px'
;
}
if
(
style
.
_decoration
!=
null
)
{
updateDecoration
=
true
;
}
if
(
style
.
_shadows
!=
null
)
{
cssStyle
.
textShadow
=
_shadowListToCss
(
style
.
_shadows
!);
}
if
(
updateDecoration
)
{
...
...
@@ -1705,19 +1634,11 @@ String _shadowListToCss(List<ui.Shadow> shadows) {
void
_applyTextBackgroundToElement
(
{
required
html
.
HtmlElement
element
,
required
EngineTextStyle
style
,
EngineTextStyle
?
previousStyle
,
})
{
final
ui
.
Paint
?
newBackground
=
style
.
_background
;
if
(
previousStyle
==
null
)
{
if
(
newBackground
!=
null
)
{
domRenderer
.
setElementStyle
(
element
,
'background-color'
,
colorToCssString
(
newBackground
.
color
));
}
}
else
{
if
(
newBackground
!=
previousStyle
.
_background
)
{
domRenderer
.
setElementStyle
(
element
,
'background-color'
,
colorToCssString
(
newBackground
!.
color
));
}
if
(
newBackground
!=
null
)
{
domRenderer
.
setElementStyle
(
element
,
'background-color'
,
colorToCssString
(
newBackground
.
color
));
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录