-    LONG            lType = 0;
-    HAB             hab = 0;
-    DEVOPENSTRUC    devOpen = { (char*)device_name.c_str()
-                               ,(char*)driver_name.c_str()
-                               ,NULL
-                               ,NULL
-                               ,NULL
-                               ,NULL
-                               ,NULL
-                               ,NULL
-                               ,NULL
-                              };
-
-    m_isInteractive = interactive;
-
-    if (!file.IsNull() && file != wxT(""))
-        m_printData.SetFilename(file);
-
-/*
-    Implement PM's version of this
-#if wxUSE_COMMON_DIALOGS
-    if (interactive)
-    {
-        PRINTDLG pd;
-
-        pd.lStructSize = sizeof( PRINTDLG );
-        pd.hwndOwner=(HWND) NULL;
-        pd.hDevMode=(HANDLE)NULL;
-        pd.hDevNames=(HANDLE)NULL;
-        pd.Flags=PD_RETURNDC | PD_NOSELECTION | PD_NOPAGENUMS;
-        pd.nFromPage=0;
-        pd.nToPage=0;
-        pd.nMinPage=0;
-        pd.nMaxPage=0;
-        pd.nCopies=1;
-        pd.hInstance=(HINSTANCE)NULL;
-
-        if ( PrintDlg( &pd ) != 0 )
-        {
-            m_hDC = (WXHDC) pd.hDC;
-            m_ok = TRUE;
-        }
-        else
-        {
-            m_ok = FALSE;
-            return;
-        }
-
-        //     m_dontDelete = TRUE;
-    }
-    else
-#endif
-*/
-        if ((!driver_name.IsNull() && driver_name != wxT("")) &&
-            (!device_name.IsNull() && device_name != wxT("")) &&
-            (!file.IsNull() && file != wxT("")))
-        {
-            m_hDC = (WXHDC) ::DevOpenDC( hab
-                                        ,OD_QUEUED
-                                        ,"*"
-                                        ,5L
-                                        ,(PDEVOPENDATA)&devOpen
-                                        ,NULLHANDLE
-                                       );
-            m_ok = m_hDC ? TRUE: FALSE;
-        }
-        else
-        {
-            wxPrintData printData;
-            printData.SetOrientation(orientation);
-            m_hDC = wxGetPrinterDC(printData);
-            m_ok = m_hDC ? TRUE: FALSE;
-        }
-
-        if (m_hDC)
-        {
-            //     int width = GetDeviceCaps(m_hDC, VERTRES);
-            //     int height = GetDeviceCaps(m_hDC, HORZRES);
-            SetMapMode(wxMM_TEXT);
-        }
-        SetBrush(*wxBLACK_BRUSH);
-        SetPen(*wxBLACK_PEN);
-}
-
-wxPrinterDC::wxPrinterDC(const wxPrintData& printData)
-{
-    m_printData = printData;
-
-    m_isInteractive = FALSE;
-
-    m_hDC = wxGetPrinterDC(printData);