Alexandre Julliard : atl: Implemented AtlCreateTargetDC.
Alexandre Julliard
julliard at winehq.org
Mon Jun 14 13:01:15 CDT 2010
Module: wine
Branch: master
Commit: 40ac96d762f3315d050e66083aec3e59fa41d651
URL: http://source.winehq.org/git/wine.git/?a=commit;h=40ac96d762f3315d050e66083aec3e59fa41d651
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Jun 14 14:13:52 2010 +0200
atl: Implemented AtlCreateTargetDC.
---
dlls/atl/atl.spec | 2 +-
dlls/atl/atl_main.c | 26 ++++++++++++++++++++++++++
2 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/dlls/atl/atl.spec b/dlls/atl/atl.spec
index 73d6ae6..1a0966d 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 f168d54..fedfc1a 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)
More information about the wine-cvs
mailing list