これは私の機能です:
void CreateRenderTarget(HWND, ID2D1HwndRenderTarget*);
それがどのように機能するかがあります:
void D2DRes::CreateRenderTarget(HWND hwnd, ID2D1HwndRenderTarget* pRT)
{
RECT rc;
GetClientRect(hwnd,&rc);
pFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(
hwnd,
D2D1::SizeU(
rc.right - rc.left,
rc.bottom - rc.top)),
&pRT);
}
次のように呼び出されます。
pD2DRes->CreateRenderTarget(map.GetHWnd(),map.GetpRT());
CreateRenderTarget() から戻ると、map.pRT は NULL です。どうして?
編集: GetpRT() 関数があります:
ID2D1HwndRenderTarget* MapEditor::GetpRT()
{
return pRT;
}