2012-05-01 6 views
1

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

BOOL isPDF = !CGRectIsEmpty(UIGraphicsGetPDFContextBounds()); 

しかしUIGraphics *関数は、OS XのSDKでは使用できません。私が使用できるように期待していた。

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

しかし、それは成立していないようだ、とPDFファイルに特定の種類のIDを返しなしCGPDFContextGetTypeID()関数がありません。

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

答えて

0

CGContextRefの型を取得するための公開APIはありません。したがって、この情報をコンテキスト参照自体の外に保存する必要があります。

コンテキストのタイプを返す、文書化されていないCGContextGetType()関数があります。可能な値のリストについてはCGContextType enumを参照してください。しかし、あなたは本当にこれを使用しないでください。

+0

ありがとう、それは私が恐れていることです。 –

関連する問題