]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/dcprint.cpp
Fix for crash when opening empty node
[wxWidgets.git] / src / os2 / dcprint.cpp
index 77a742cf6caf984e0614879e32c839681bfef655..1c4a11c248532c2686c41a3b6f1a14321291d8e7 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        dcprint.cpp
+// Name:        src/os2/dcprint.cpp
 // Purpose:     wxPrinterDC class
 // Author:      David Webster
 // Modified by:
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
+#if wxUSE_PRINTING_ARCHITECTURE
+
+#include "wx/dcprint.h"
+
 #define INCL_DEV
 #define INCL_GPI
 #define INCL_PM
 #include<os2.h>
 
 #ifndef WX_PRECOMP
-#include "wx/app.h"
+    #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)
 
 
 // This form is deprecated
-wxPrinterDC::wxPrinterDC(
-  const wxString&                   rsDriverName
-, const wxString&                   rsDeviceName
-, const wxString&                   rsFile
-, bool                              bInteractive
-, int                               nOrientation
-)
+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()
+    DEVOPENSTRUC    vDevOpen = { (char*)rsDeviceName.wx_str()
+                                ,(char*)rsDriverName.wx_str()
                                 ,NULL
                                 ,NULL
                                 ,NULL
@@ -56,7 +54,7 @@ wxPrinterDC::wxPrinterDC(
 
     m_isInteractive = bInteractive;
 
-    if (!rsFile.IsNull() && rsFile != wxT(""))
+    if (!rsFile.IsNull() && !rsFile.empty())
         m_printData.SetFilename(rsFile);
 
 /*
@@ -81,22 +79,20 @@ wxPrinterDC::wxPrinterDC(
         if ( PrintDlg( &pd ) != 0 )
         {
             m_hDC = (WXHDC) pd.hDC;
-            m_ok = TRUE;
+            m_ok = true;
         }
         else
         {
-            m_ok = FALSE;
+            m_ok = false;
             return;
         }
-
-        //     m_dontDelete = TRUE;
     }
     else
 #endif
 */
-        if ((!rsDriverName.IsNull() && rsDriverName != wxT("")) &&
-            (!rsDeviceName.IsNull() && rsDeviceName != wxT("")) &&
-            (!rsFile.IsNull() && rsFile != wxT("")))
+        if ( !rsDriverName.empty() &&
+             !rsDeviceName.empty() &&
+             !rsFile.empty() )
         {
             m_hDC = (WXHDC) ::DevOpenDC( vHabmain
                                         ,OD_QUEUED
@@ -105,7 +101,7 @@ wxPrinterDC::wxPrinterDC(
                                         ,(PDEVOPENDATA)&vDevOpen
                                         ,NULLHANDLE
                                        );
-            m_ok = m_hDC ? TRUE: FALSE;
+            m_ok = m_hDC ? true: false;
         }
         else
         {
@@ -113,7 +109,7 @@ wxPrinterDC::wxPrinterDC(
 
             vPrintData.SetOrientation(nOrientation);
             m_hDC = wxGetPrinterDC(vPrintData);
-            m_ok = m_hDC ? TRUE: FALSE;
+            m_ok = m_hDC ? true: false;
         }
 
         if (m_hDC)
@@ -126,12 +122,10 @@ wxPrinterDC::wxPrinterDC(
         SetPen(*wxBLACK_PEN);
 } // end of wxPrinterDC::wxPrinterDC
 
-wxPrinterDC::wxPrinterDC(
-  const wxPrintData&                rPrintData
-)
+wxPrinterDC::wxPrinterDC( const wxPrintData& rPrintData )
 {
     m_printData = rPrintData;
-    m_isInteractive = FALSE;
+    m_isInteractive = false;
     m_hDC = wxGetPrinterDC(rPrintData);
     m_ok = (m_hDC != 0);
     if (m_hDC)
@@ -140,13 +134,11 @@ wxPrinterDC::wxPrinterDC(
     SetPen(*wxBLACK_PEN);
 } // end of wxPrinterDC::wxPrinterDC
 
-wxPrinterDC::wxPrinterDC(
-  WXHDC                             hTheDC
-)
+wxPrinterDC::wxPrinterDC( WXHDC hTheDC )
 {
-    m_isInteractive = FALSE;
+    m_isInteractive = false;
     m_hDC = hTheDC;
-    m_ok = TRUE;
+    m_ok = true;
     if (m_hDC)
     {
         SetMapMode(wxMM_TEXT);
@@ -166,9 +158,7 @@ void wxPrinterDC::Init()
     }
 } // end of wxPrinterDC::Init
 
-bool wxPrinterDC::StartDoc(
-  const wxString&                   rsMessage
-)
+bool wxPrinterDC::StartDoc(const wxString& WXUNUSED(rsMessage))
 {
 /* TODO:  PM's implementation
    DOCINFO docinfo;
@@ -177,7 +167,7 @@ bool wxPrinterDC::StartDoc(
 
     wxString filename(m_printData.GetFilename());
 
-    if (filename.IsEmpty())
+    if (filename.empty())
         docinfo.lpszOutput = NULL;
     else
         docinfo.lpszOutput = (const wxChar *) filename;
@@ -188,7 +178,7 @@ bool wxPrinterDC::StartDoc(
 #endif
 
     if (!m_hDC)
-        return FALSE;
+        return false;
 
     int ret =
 #ifndef __WIN32__
@@ -214,7 +204,7 @@ bool wxPrinterDC::StartDoc(
 #endif
     return (ret > 0);
 */
-    return(TRUE);
+    return true;
 } // end of wxPrinterDC::StartDoc
 
 void wxPrinterDC::EndDoc()
@@ -234,13 +224,19 @@ void wxPrinterDC::EndPage()
 //        ::EndPage((HDC) m_hDC);
 } // end of wxPrinterDC::EndPage
 
+wxRect wxPrinterDC::GetPaperRect()
+{
+    // 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;
@@ -269,7 +265,7 @@ static bool wxGetDefaultDeviceName(
         if (pd.hDevNames)
             GlobalFree(pd.hDevNames);
 
-        return FALSE;
+        return false;
     }
 
     if (pd.hDevNames)
@@ -291,15 +287,14 @@ static bool wxGetDefaultDeviceName(
         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;
 /*
@@ -312,7 +307,7 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(
     wxChar* deviceName;
     wxChar* portName = (wxChar*) NULL; // Obsolete in WIN32
 
-    if (devNameStr == wxT(""))
+    if (devNameStr.empty())
         deviceName = (wxChar*) NULL;
     else
         deviceName = WXSTRINGCAST devNameStr;
@@ -324,7 +319,7 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(
     if ( hDevMode )
         lpDevMode = (DEVMODE*) GlobalLock(hDevMode);
 
-    if (devNameStr == wxT(""))
+    if (devNameStr.empty())
     {
         // Retrieve the default device name
         wxString portName;
@@ -347,42 +342,37 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(
     return (WXHDC) hDC;
 } // end of wxGetPrinterDC
 
-void wxPrinterDC::DoDrawBitmap(
-  const wxBitmap&                   rBmp
-, wxCoord                           vX
-, wxCoord                           vY
-, bool                              bUseMask
-)
+void wxPrinterDC::DoDrawBitmap( const wxBitmap& rBmp,
+                                wxCoord WXUNUSED(vX),
+                                wxCoord WXUNUSED(vY),
+                                bool WXUNUSED(bUseMask))
 {
     wxCHECK_RET( rBmp.Ok(), _T("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
-, wxCoord                           xsrcMask
-, wxCoord                           ysrcMask
-)
+bool wxPrinterDC::DoBlit( wxCoord WXUNUSED(vXdest),
+                          wxCoord WXUNUSED(vYdest),
+                          wxCoord WXUNUSED(vWidth),
+                          wxCoord WXUNUSED(vHeight),
+                          wxDC* WXUNUSED(pSource),
+                          wxCoord WXUNUSED(vXsrc),
+                          wxCoord WXUNUSED(vYsrc),
+                          int WXUNUSED(nRop),
+                          bool WXUNUSED(bUseMask),
+                          wxCoord WXUNUSED(xsrcMask),
+                          wxCoord WXUNUSED(ysrcMask) )
 {
-    bool                            bSuccess = TRUE;
+    bool bSuccess = true;
 
     // TODO:
 
     return bSuccess;
 } // end of wxPrintDC::DoBlit
 
-
 #endif //wxUSE_PRINTING_ARCHITECTURE