0
点赞
收藏
分享

微信扫一扫

全网首发: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称之为​绘制句柄​。


举报

相关推荐

0 条评论