From 40ac96d762f3315d050e66083aec3e59fa41d651 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 14 Jun 2010 14:13:52 +0200 Subject: [PATCH] atl: Implemented AtlCreateTargetDC. --- dlls/atl/atl.spec | 2 +- dlls/atl/atl_main.c | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/dlls/atl/atl.spec b/dlls/atl/atl.spec index 73d6ae616e5..1a0966dea25 100644 --- a/dlls/atl/atl.spec +++ b/dlls/atl/atl.spec @@ -18,7 +18,7 @@ 23 stdcall AtlModuleUpdateRegistryFromResourceD(ptr wstr long ptr ptr) 24 stub AtlWaitWithMessageLoop 25 stub AtlSetErrorInfo -26 stub AtlCreateTargetDC +26 stdcall AtlCreateTargetDC(long ptr) 27 stdcall AtlHiMetricToPixel(ptr ptr) 28 stdcall AtlPixelToHiMetric(ptr ptr) 29 stub AtlDevModeW2A diff --git a/dlls/atl/atl_main.c b/dlls/atl/atl_main.c index f168d54a994..fedfc1a9ba7 100644 --- a/dlls/atl/atl_main.c +++ b/dlls/atl/atl_main.c @@ -545,6 +545,32 @@ void WINAPI AtlPixelToHiMetric(const SIZEL* lpPix, SIZEL* lpHiMetric) } /*********************************************************************** + * AtlCreateTargetDC [ATL.@] + */ +HDC WINAPI AtlCreateTargetDC( HDC hdc, DVTARGETDEVICE *dv ) +{ + static const WCHAR displayW[] = {'d','i','s','p','l','a','y',0}; + const WCHAR *driver = NULL, *device = NULL, *port = NULL; + DEVMODEW *devmode = NULL; + + TRACE( "(%p, %p)\n", hdc, dv ); + + if (dv) + { + if (dv->tdDriverNameOffset) driver = (WCHAR *)((char *)dv + dv->tdDriverNameOffset); + if (dv->tdDeviceNameOffset) device = (WCHAR *)((char *)dv + dv->tdDeviceNameOffset); + if (dv->tdPortNameOffset) port = (WCHAR *)((char *)dv + dv->tdPortNameOffset); + if (dv->tdExtDevmodeOffset) devmode = (DEVMODEW *)((char *)dv + dv->tdExtDevmodeOffset); + } + else + { + if (hdc) return hdc; + driver = displayW; + } + return CreateDCW( driver, device, port, devmode ); +} + +/*********************************************************************** * AtlModuleAddCreateWndData [ATL.@] */ void WINAPI AtlModuleAddCreateWndData(_ATL_MODULEW *pM, _AtlCreateWndData *pData, void* pvObject) -- 2.11.4.GIT