设置菜单中的图标可能具有意外的垂直线条

时间:2017-03-20 01:05:26

标签: cobalt

enter image description here

我们在启用openGL的情况下运行钴,图形似乎在1920x1080分辨率下正确显示。

但有一段时间,"设置"菜单顶部可能有意外的垂直线(如图所示)。

我们猜测图标是从TTF字体文件创建的,但我们不确定它是如何在屏幕上呈现的。

我们希望在以下几点将图标转储到文件中,以检查出现了什么问题。

当图标实际转换为图像时。 当图标体验进一步修改时。 (例如,颜色变化,粗体等) 当图标渲染到屏幕画布上时。

如果有人可以帮助指出这些事件可能发生在源代码中的位置,我们将非常感激。

1 个答案:

答案 0 :(得分:2)

我想第一个问题是:你是在运行稳定分支还是Cobalt的实验分支?

除此之外,是的,图标是从远程下载的TTF字体文件创建的。图标本身只是一个转换为字形的字符,就像上面的文字一样,虽然尺寸要大得多。

我相信您正在寻找的逻辑是在钴/渲染器/ rasterizer / skia / render_tree_node_visitor.cc中的RenderText()中。 SkCanvas :: drawTextBlob()传递用于渲染图标的字形和颜色信息。

正在使用的特定字形看起来正确,但创建表示它的render_tree :: GlyphBuffer的位置是cobalt / renderer / rasterizer / skia / text_shaper.cc中的TextShaper :: CreateGlyphBuffer()。