I have modified d2d1Helper.inc to change many parameters as optional to take advantage of default values.
For example, this C++ code:
// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(m_hwnd, size),
&m_pRenderTarget
);
That previously needed to be translated as:
LOCAL nType AS DWORD, pixelFormat AS D2D1_PIXEL_FORMAT, dpiX, dpiY AS SINGLE, usage, minlevel AS DWORD
nType = %D2D1_RENDER_TARGET_TYPE_DEFAULT
dxgiFormat = %DXGI_FORMAT_UNKNOWN
alphaMode = %D2D1_ALPHA_MODE_UNKNOWN
pixelFormat = g_pID2D1Helper.PixelFormat(dxgiFormat, alphaMode)
dpiX = 0.0
dpiY = 0.0
usage = %D2D1_RENDER_TARGET_USAGE_NONE
minLevel = %D2D1_FEATURE_LEVEL_DEFAULT
hr = g_pD2DFactory.CreateHwndRenderTarget( _
g_pID2D1Helper.RenderTargetProperties(nType, pixelFormat, dpiX, dpiY, usage, minLevel), _
g_pID2D1Helper.HwndRenderTargetProperties(hWnd, uSize, %D2D1_PRESENT_OPTIONS_NONE), _
g_pRenderTarget)
Now becomes:
hr = g_pD2DFactory.CreateHwndRenderTarget( _
g_pID2D1Helper.RenderTargetProperties(), _
g_pID2D1Helper.HwndRenderTargetProperties(hWnd, uSize), _
g_pRenderTarget)
I also have added a new file, called d2dUtils.inc, that incorporates the functions D2D_LoadBitmapFromFile and D2D_LoadBitmapFromResource.