确定CGContextRef何时是PDF上下文

时间:2012-05-01 18:29:09

标签: cocoa core-graphics

对于我的Cocoa应用程序,我需要知道给定的CGContextRef是否是PDF上下文(而不是位图或屏幕上下文),以便在我的CALayer的drawInContext实现中采用不同的渲染路径。使用iOS SDK,我可以使用:

BOOL isPDF = !CGRectIsEmpty(UIGraphicsGetPDFContextBounds());

但是OS X SDK中没有UIGraphics *功能。我希望能够使用:

BOOL isPDf = CFGetTypeID(currentContext) != CGContextGetTypeID();

但它似乎不成立,并且没有CGPDFContextGetTypeID()函数返回特定于PDF的类型ID。

有没有办法识别给定CGContextRef的类型而不做任何像设置静态变量那样令人讨厌的事情?

1 个答案:

答案 0 :(得分:0)

没有用于获取CGContextRef类型的公共API,因此您必须将此信息保留在上下文参考之外。

有一个未记录的CGContextGetType()函数返回上下文的类型,请参阅CGContextType枚举以获取可能值的列表。但你真的不应该使用它。