我们在启用openGL的情况下运行钴,图形似乎在1920x1080分辨率下正确显示。
但有一段时间,"设置"菜单顶部可能有意外的垂直线(如图所示)。
我们猜测图标是从TTF字体文件创建的,但我们不确定它是如何在屏幕上呈现的。
我们希望在以下几点将图标转储到文件中,以检查出现了什么问题。
当图标实际转换为图像时。 当图标体验进一步修改时。 (例如,颜色变化,粗体等) 当图标渲染到屏幕画布上时。
如果有人可以帮助指出这些事件可能发生在源代码中的位置,我们将非常感激。
答案 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()。