全网首发:JDK绘制文字:一绘制流程

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网首发:JDK绘制文字:一绘制流程相关的知识,希望对你有一定的参考价值。

  这个事情一直想搞明白,结果一直没有彻底搞清楚。近来因为工作关于,终于彻底搞明白了。现在把关键路径记录下来。便于参考。

  想想其实很简单,不就是写个字嘛,拿到图像直接绘制就行了。实际上呢?为了这个简单,大量的工作,吾看了都是头晕眼花。

  • SunGraphics2D.drawChars
  • ValidatePipe.drawChars
  • GlyphListPipe.drawChars

实际上是子类SoldTextRenderer/SoldTextRendererAA绘制的。

  • SolidTextRenderer.drawGlyphList
  • DrawGlyphList.DrawGlyphList

这个是本地函数。

  • DrawGlyphList.c

  Java_sun_java2d_loops_DrawGlyphList_DrawGlyphList调用drawGlyphList绘制。关键参数是pPrim->funcs.drawglyphlist。

  至此,绘制流程就完成了。具体的drawglyphlist是哪个函数,需要分析所在的pPrim(类型NativePrimitive),是怎么初始化的。搞清楚了这个,才知道绘制函数是哪个。

  为了方便,把pPrim称之为绘制句柄

以上是关于全网首发:JDK绘制文字:一绘制流程的主要内容,如果未能解决你的问题,请参考以下文章

全网首发:JDK绘制文字:二绘制句柄的初始化流程

全网首发:JDK绘制文字:二绘制句柄的初始化流程

全网首发:JDK绘制文字:六字符对应的字体图像加载流程

全网首发:JDK绘制文字:六字符对应的字体图像加载流程

全网首发:JDK绘制文字:五字体上下文产生流程

全网首发:JDK绘制文字:六字符对应的字体图像加载流程