我已经实现了IDWriteInlineObject接口,将ID2D1Bitmap绘制为文本中的内联对象。一切都很好,只有一个例外:我的实现的GetOverhangMetrics方法从未被调用。
我还尝试了DirectWrite SDK示例中的一个示例(PadWrite Layout sample,https://msdn.microsoft.com/en-us/library/windows/desktop/dd941792%28v=vs.85%29.aspx)。并得到了相同的结果(InlineImage.cpp中的"InlineImage::GetOverhangMetrics"从未被调用)。
因此我的问题是为什么GetOverhangMetrics方法的实现永远不会被调用?
我承认我还没有测试过这个,所以我只是想一想——我认为当你要求布局本身的悬挑度量时,它可能会被调用,所以当调用布局方法GetOverhangMetrics()时,感觉它不仅会累积常规文本悬挑框,还会累积内联对象框。