Direct2D effectsを使うときにはっまたとこ "Windows8 Programming"
軽くメモ程度に。
Windows8からDirect2Dに新しくDirect2D effectsが導入されました。詳しくはここ。
http://msdn.microsoft.com/en-us/library/windows/desktop/hh802478.aspx
これを使うときに少しはまったとこがあったのでメモしときます。
Direct2D effectsでは、DeviceContextからEffectのオブジェクトを作成します。コードにするとこんな感じです
ComPtr<ID2D1DeviceContext> context; // Initialize context ComPtr<ID2D1Effect> shadow; context->CreateEffect(CLSID_D2D1Shadow, &shadow); // but error
上記のコードのCreateEffectの部分で"error LNK2001: 外部シンボル "_CLSID_D2D1Shadow" は未解決です。"のようなエラーが発生する時があります。これは、GUIDを使うためのヘッダファイルがインクルードされていないだけらしく、このコードより前のどこかで
#include <initguid.h>
とすると解決します。