本文整理汇总了C++中IDWriteFactory::CreateCustomRenderingParams方法的典型用法代码示例。如果您正苦于以下问题:C++ IDWriteFactory::CreateCustomRenderingParams方法的具体用法?C++ IDWriteFactory::CreateCustomRenderingParams怎么用?C++ IDWriteFactory::CreateCustomRenderingParams使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDWriteFactory
的用法示例。
在下文中一共展示了IDWriteFactory::CreateCustomRenderingParams方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ToTextAntialiasMode
void
DWriteContext::SetRenderingParams(
const DWriteRenderingParams *params)
{
if (mDWriteFactory == NULL)
return;
IDWriteRenderingParams *renderingParams = NULL;
D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode =
D2D1_TEXT_ANTIALIAS_MODE_DEFAULT;
HRESULT hr;
if (params != NULL)
{
hr = mDWriteFactory->CreateCustomRenderingParams(params->gamma,
params->enhancedContrast, params->clearTypeLevel,
ToPixelGeometry(params->pixelGeometry),
ToRenderingMode(params->renderingMode), &renderingParams);
textAntialiasMode = ToTextAntialiasMode(params->textAntialiasMode);
}
else
hr = mDWriteFactory->CreateRenderingParams(&renderingParams);
if (SUCCEEDED(hr) && renderingParams != NULL)
{
SafeRelease(&mRenderingParams);
mRenderingParams = renderingParams;
mTextAntialiasMode = textAntialiasMode;
}
}
示例2: CreateCustomRenderingParams
virtual HRESULT STDMETHODCALLTYPE CreateCustomRenderingParams(
FLOAT gamma,
FLOAT enhancedContrast,
FLOAT clearTypeLevel,
DWRITE_PIXEL_GEOMETRY pixelGeometry,
DWRITE_RENDERING_MODE renderingMode,
IDWriteRenderingParams** renderingParams
)
{
return orig_this->CreateCustomRenderingParams(gamma, enhancedContrast, clearTypeLevel, pixelGeometry, renderingMode, renderingParams);
}
示例3: DwCreateRenderingTarget
FX_BOOL CDWriteExt::DwCreateRenderingTarget(CFX_DIBitmap* pBitmap, void** renderTarget)
{
if (pBitmap->GetFormat() > FXDIB_Argb) {
return FALSE;
}
IDWriteFactory* pDwFactory = (IDWriteFactory*)m_pDWriteFactory;
IDWriteGdiInterop* pGdiInterop = NULL;
IDWriteBitmapRenderTarget* pBitmapRenderTarget = NULL;
IDWriteRenderingParams* pRenderingParams = NULL;
HRESULT hr = S_OK;
hr = pDwFactory->GetGdiInterop(&pGdiInterop);
if (FAILED(hr)) {
goto failed;
}
hr = pGdiInterop->CreateBitmapRenderTarget(NULL, pBitmap->GetWidth(), pBitmap->GetHeight(),
&pBitmapRenderTarget);
if (FAILED(hr)) {
goto failed;
}
hr = pDwFactory->CreateCustomRenderingParams(
1.0f,
0.0f,
1.0f,
DWRITE_PIXEL_GEOMETRY_RGB,
DWRITE_RENDERING_MODE_DEFAULT,
&pRenderingParams
);
if (FAILED(hr)) {
goto failed;
}
hr = pBitmapRenderTarget->SetPixelsPerDip(1.0f);
if (FAILED(hr)) {
goto failed;
}
*(CDwGdiTextRenderer**)renderTarget = FX_NEW CDwGdiTextRenderer(pBitmap, pBitmapRenderTarget, pRenderingParams);
if (*(CDwGdiTextRenderer**)renderTarget == NULL) {
goto failed;
}
SafeRelease(&pGdiInterop);
SafeRelease(&pBitmapRenderTarget);
SafeRelease(&pRenderingParams);
return TRUE;
failed:
SafeRelease(&pGdiInterop);
SafeRelease(&pBitmapRenderTarget);
SafeRelease(&pRenderingParams);
return FALSE;
}
示例4: UpdateRenderingParams
bool CDirectWriteRenderer::UpdateRenderingParams()
{
if (m_pRenderTarget == nullptr)
return false;
bool fUpdated = false;
IDWriteFactory *pFactory = m_System.GetDWriteFactory();
if (pFactory != nullptr) {
IDWriteRenderingParams *pRenderingParams;
HRESULT hr = pFactory->CreateMonitorRenderingParams(m_hMonitor, &pRenderingParams);
if (SUCCEEDED(hr)) {
if (m_RenderingParams.Mask != 0) {
IDWriteRenderingParams *pCustomRenderingParams;
hr = pFactory->CreateCustomRenderingParams(
(m_RenderingParams.Mask & RenderingParams::PARAM_GAMMA) != 0 ?
m_RenderingParams.Gamma : pRenderingParams->GetGamma(),
(m_RenderingParams.Mask & RenderingParams::PARAM_ENHANCED_CONTRAST) != 0 ?
m_RenderingParams.EnhancedContrast : pRenderingParams->GetEnhancedContrast(),
(m_RenderingParams.Mask & RenderingParams::PARAM_CLEARTYPE_LEVEL) != 0 ?
m_RenderingParams.ClearTypeLevel : pRenderingParams->GetClearTypeLevel(),
(m_RenderingParams.Mask & RenderingParams::PARAM_PIXEL_GEOMETRY) != 0 ?
m_RenderingParams.PixelGeometry : pRenderingParams->GetPixelGeometry(),
(m_RenderingParams.Mask & RenderingParams::PARAM_RENDERING_MODE) != 0 ?
m_RenderingParams.RenderingMode : pRenderingParams->GetRenderingMode(),
&pCustomRenderingParams);
if (SUCCEEDED(hr)) {
m_pRenderTarget->SetTextRenderingParams(pCustomRenderingParams);
pCustomRenderingParams->Release();
}
} else {
m_pRenderTarget->SetTextRenderingParams(pRenderingParams);
}
if (SUCCEEDED(hr))
fUpdated = true;
pRenderingParams->Release();
}
pFactory->Release();
}
return fUpdated;
}