2

私の Cocoa アプリでは、CALayer の drawInContext 実装で別のレンダリング パスを使用するために、特定の CGContextRef が (ビットマップまたは画面コンテキストではなく) PDF コンテキストであるかどうかを知る必要があります。iOS SDK を使用すると、次のようにできます。

BOOL isPDF = !CGRectIsEmpty(UIGraphicsGetPDFContextBounds());

ただし、UIGraphics* 関数は OS X SDK では使用できません。私は使用できることを望んでいました:

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

しかし、それは当てはまらないようで、PDF に固有のタイプ ID を返す CGPDFContextGetTypeID() 関数はありません。

静的変数を設定するような厄介なことをせずに、特定の CGContextRef の型を識別する方法はありますか?

4

1 に答える 1

0

のタイプを取得するためのパブリックAPIはないCGContextRefため、この情報をコンテキスト参照自体の外部に保持する必要があります。

コンテキストのタイプを返すドキュメント化されていないCGContextGetType()関数があります。可能な値のリストについては、 CGContextType列挙型を参照してください。しかし、実際にはこれを使用しないでください。

于 2012-05-07T20:31:47.997 に答える