/////////////////////////////////////////////////////////////////////////////
-// Name: dcprint.cpp
+// Name: src/os2/dcprint.cpp
// Purpose: wxPrinterDC class
// Author: David Webster
// Modified by:
// Created: 10/14/99
-// RCS-ID: $Id$
// Copyright: (c) David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
+#if wxUSE_PRINTING_ARCHITECTURE
+
+#include "wx/dcprint.h"
+#include "wx/os2/dcprint.h"
+
#define INCL_DEV
#define INCL_GPI
#define INCL_PM
#include<os2.h>
#ifndef WX_PRECOMP
+ #include "wx/app.h"
+ #include "wx/math.h"
+ #include "wx/string.h"
+ #include "wx/log.h"
+ #include "wx/window.h"
#endif
-#include "wx/string.h"
-#include "wx/log.h"
-#include "wx/window.h"
#include "wx/os2/private.h"
-#include "wx/dcprint.h"
-#include "math.h"
-
-#if wxUSE_PRINTING_ARCHITECTURE
-IMPLEMENT_CLASS(wxPrinterDC, wxDC)
+IMPLEMENT_ABSTRACT_CLASS(wxPrinterDCImpl, wxPMDCImpl)
-
-// This form is deprecated
-wxPrinterDC::wxPrinterDC(
- const wxString& rsDriverName
-, const wxString& rsDeviceName
-, const wxString& rsFile
-, bool bInteractive
-, int nOrientation
-)
-{
- LONG lType = 0;
- DEVOPENSTRUC vDevOpen = { (char*)rsDeviceName.c_str()
- ,(char*)rsDriverName.c_str()
- ,NULL
- ,NULL
- ,NULL
- ,NULL
- ,NULL
- ,NULL
- ,NULL
- };
-
- m_isInteractive = bInteractive;
-
- if (!rsFile.IsNull() && rsFile != wxT(""))
- m_printData.SetFilename(rsFile);
-
-/*
- 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 ((!rsDriverName.IsNull() && rsDriverName != wxT("")) &&
- (!rsDeviceName.IsNull() && rsDeviceName != wxT("")) &&
- (!rsFile.IsNull() && rsFile != wxT("")))
- {
- m_hDC = (WXHDC) ::DevOpenDC( vHabmain
- ,OD_QUEUED
- ,"*"
- ,5L
- ,(PDEVOPENDATA)&vDevOpen
- ,NULLHANDLE
- );
- m_ok = m_hDC ? TRUE: FALSE;
- }
- else
- {
- wxPrintData vPrintData;
-
- vPrintData.SetOrientation(nOrientation);
- m_hDC = wxGetPrinterDC(vPrintData);
- 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);
-} // end of wxPrinterDC::wxPrinterDC
-
-wxPrinterDC::wxPrinterDC(
- const wxPrintData& rPrintData
-)
+wxPrinterDCImpl::wxPrinterDCImpl( wxPrinterDC *owner, const wxPrintData& rPrintData ) :
+ wxPMDCImpl( owner )
{
m_printData = rPrintData;
- m_isInteractive = FALSE;
+ m_isInteractive = false;
m_hDC = wxGetPrinterDC(rPrintData);
m_ok = (m_hDC != 0);
if (m_hDC)
SetPen(*wxBLACK_PEN);
} // end of wxPrinterDC::wxPrinterDC
-wxPrinterDC::wxPrinterDC(
- WXHDC hTheDC
-)
+wxPrinterDCImpl::wxPrinterDCImpl( wxPrinterDC *owner, WXHDC hTheDC ) :
+ wxPMDCImpl( owner )
{
- m_isInteractive = FALSE;
+ m_isInteractive = false;
m_hDC = hTheDC;
- m_ok = TRUE;
+ m_ok = true;
if (m_hDC)
{
SetMapMode(wxMM_TEXT);
SetPen(*wxBLACK_PEN);
} // end of wxPrinterDC::wxPrinterDC
-void wxPrinterDC::Init()
+void wxPrinterDCImpl::Init()
{
if (m_hDC)
{
}
} // end of wxPrinterDC::Init
-bool wxPrinterDC::StartDoc(
- const wxString& rsMessage
-)
+bool wxPrinterDCImpl::StartDoc(const wxString& WXUNUSED(rsMessage))
{
/* TODO: PM's implementation
DOCINFO docinfo;
wxString filename(m_printData.GetFilename());
- if (filename.IsEmpty())
+ if (filename.empty())
docinfo.lpszOutput = NULL;
else
docinfo.lpszOutput = (const wxChar *) filename;
-#if defined(__WIN95__)
docinfo.lpszDatatype = NULL;
docinfo.fwType = 0;
-#endif
if (!m_hDC)
- return FALSE;
+ return false;
int ret =
#ifndef __WIN32__
#endif
return (ret > 0);
*/
- return(TRUE);
+ return true;
} // end of wxPrinterDC::StartDoc
-void wxPrinterDC::EndDoc()
+void wxPrinterDCImpl::EndDoc()
{
// if (m_hDC) ::EndDoc((HDC) m_hDC);
} // end of wxPrinterDC::EndDoc
-void wxPrinterDC::StartPage()
+void wxPrinterDCImpl::StartPage()
{
// if (m_hDC)
// ::StartPage((HDC) m_hDC);
} // end of wxPrinterDC::StartPage
-void wxPrinterDC::EndPage()
+void wxPrinterDCImpl::EndPage()
{
// if (m_hDC)
// ::EndPage((HDC) m_hDC);
} // end of wxPrinterDC::EndPage
+wxRect wxPrinterDCImpl::GetPaperRect() const
+{
+ // Use page rect if we can't get paper rect.
+ wxCoord w, h;
+ GetSize(&w, &h);
+ return wxRect(0, 0, w, h);
+}
+
+#if 0
// Returns default device and port names
-static bool wxGetDefaultDeviceName(
- wxString& rsDeviceName
-, wxString& rsPortName
-)
+static bool wxGetDefaultDeviceName( wxString& rsDeviceName, wxString& rsPortName )
{
- rsDeviceName = "";
+ rsDeviceName = wxEmptyString;
/*
LPDEVNAMES lpDevNames;
LPSTR lpszDriverName;
if (pd.hDevNames)
GlobalFree(pd.hDevNames);
- return FALSE;
+ return false;
}
if (pd.hDevNames)
GlobalFree(pd.hDevMode);
pd.hDevMode=NULL;
}
- return ( deviceName != wxT("") );
+ return !deviceName.empty();
*/
- return(TRUE);
+ return true;
} // end of wxGetDefaultDeviceName
+#endif
// Gets an HDC for the specified printer configuration
-WXHDC WXDLLEXPORT wxGetPrinterDC(
- const wxPrintData& rPrintDataConst
-)
+WXHDC WXDLLEXPORT wxGetPrinterDC( const wxPrintData& WXUNUSED(rPrintDataConst) )
{
HDC hDC = NULLHANDLE;
/*
wxPrintData printData = printDataConst;
printData.ConvertToNative();
- wxChar* driverName = (wxChar*) NULL;
+ wxChar* driverName = NULL;
wxString devNameStr = printData.GetPrinterName();
wxChar* deviceName;
- wxChar* portName = (wxChar*) NULL; // Obsolete in WIN32
+ wxChar* portName = NULL; // Obsolete in WIN32
- if (devNameStr == wxT(""))
- deviceName = (wxChar*) NULL;
+ if (devNameStr.empty())
+ deviceName = NULL;
else
deviceName = WXSTRINGCAST devNameStr;
if ( hDevMode )
lpDevMode = (DEVMODE*) GlobalLock(hDevMode);
- if (devNameStr == wxT(""))
+ if (devNameStr.empty())
{
// Retrieve the default device name
wxString portName;
return (WXHDC) hDC;
} // end of wxGetPrinterDC
-void wxPrinterDC::DoDrawBitmap(
- const wxBitmap& rBmp
-, wxCoord vX
-, wxCoord vY
-, bool bUseMask
-)
+void wxPrinterDCImpl::DoDrawBitmap( const wxBitmap& rBmp,
+ wxCoord WXUNUSED(vX),
+ wxCoord WXUNUSED(vY),
+ bool WXUNUSED(bUseMask))
{
- wxCHECK_RET( rBmp.Ok(), _T("invalid bitmap in wxPrinterDC::DrawBitmap") );
+ wxCHECK_RET( rBmp.IsOk(), wxT("invalid bitmap in wxPrinterDC::DrawBitmap") );
- int nWidth = rBmp.GetWidth();
- int nHeight = rBmp.GetHeight();
+// int nWidth = rBmp.GetWidth();
+// int nHeight = rBmp.GetHeight();
// TODO:
} // end of wxPrinterDC::DoDrawBitmap
-bool wxPrinterDC::DoBlit(
- wxCoord vXdest
-, wxCoord vYdest
-, wxCoord vWidth
-, wxCoord vHeight
-, wxDC* pSource
-, wxCoord vXsrc
-, wxCoord vYsrc
-, int nRop
-, bool bUseMask
-)
+bool wxPrinterDCImpl::DoBlit( wxCoord WXUNUSED(vXdest),
+ wxCoord WXUNUSED(vYdest),
+ wxCoord WXUNUSED(vWidth),
+ wxCoord WXUNUSED(vHeight),
+ wxDC* WXUNUSED(pSource),
+ wxCoord WXUNUSED(vXsrc),
+ wxCoord WXUNUSED(vYsrc),
+ wxRasterOperationMode WXUNUSED(nRop),
+ bool WXUNUSED(bUseMask),
+ wxCoord WXUNUSED(xsrcMask),
+ wxCoord WXUNUSED(ysrcMask) )
{
- bool bSuccess = TRUE;
+ bool bSuccess = true;
// TODO:
return bSuccess;
-} // end of wxPrintDC::DoBlit
-
+} // end of wxPrintDCImpl::DoBlit
#endif //wxUSE_PRINTING_ARCHITECTURE