]> git.sesse.net Git - vlc/blobdiff - activex/utils.cpp
- source cleanup
[vlc] / activex / utils.cpp
index d03a8835184373a512d752acc508b8e5d0a5650e..ec37b05410fef3b9fa589254e22c15c9c3e5affb 100644 (file)
@@ -98,4 +98,36 @@ HRESULT GetObjectProperty(LPUNKNOWN object, DISPID dispID, VARIANT& v)
     return hr;
 };
 
+HDC CreateDevDC(DVTARGETDEVICE *ptd)
+{
+       HDC hdc=NULL;
+       LPDEVNAMES lpDevNames;
+       LPDEVMODE lpDevMode;
+       LPTSTR lpszDriverName;
+       LPTSTR lpszDeviceName;
+       LPTSTR lpszPortName;
+
+       if (ptd == NULL) {
+               hdc = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
+               goto errReturn;
+       }
+
+       lpDevNames = (LPDEVNAMES) ptd; // offset for size field
+
+       if (ptd->tdExtDevmodeOffset == 0) {
+               lpDevMode = NULL;
+       }else{
+               lpDevMode  = (LPDEVMODE) ((LPTSTR)ptd + ptd->tdExtDevmodeOffset);
+       }
+
+       lpszDriverName = (LPTSTR) lpDevNames + ptd->tdDriverNameOffset;
+       lpszDeviceName = (LPTSTR) lpDevNames + ptd->tdDeviceNameOffset;
+       lpszPortName   = (LPTSTR) lpDevNames + ptd->tdPortNameOffset;
+
+       hdc = CreateDC(lpszDriverName, lpszDeviceName, lpszPortName, lpDevMode);
+
+errReturn:
+       return hdc;
+};
+