- 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);