]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/dcprint.cpp
added wxEXEC_MAKE_GROUP_LEADER (patch 535422)
[wxWidgets.git] / src / os2 / dcprint.cpp
index 8367bb39403fc7c6f536c2764b39d77ceab0904e..77a742cf6caf984e0614879e32c839681bfef655 100644 (file)
@@ -1,21 +1,24 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        dcprint.cpp
 // Purpose:     wxPrinterDC class
 /////////////////////////////////////////////////////////////////////////////
 // Name:        dcprint.cpp
 // Purpose:     wxPrinterDC class
-// Author:      Julian Smart
+// Author:      David Webster
 // Modified by:
 // Modified by:
-// Created:     01/02/97
+// Created:     10/14/99
 // RCS-ID:      $Id$
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows licence
+// Copyright:   (c) David Webster
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "dcprint.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
+
+#define INCL_DEV
+#define INCL_GPI
+#define INCL_PM
+#include<os2.h>
+
 #ifndef WX_PRECOMP
 #ifndef WX_PRECOMP
+#include "wx/app.h"
 #endif
 
 #include "wx/string.h"
 #endif
 
 #include "wx/string.h"
 #include "wx/dcprint.h"
 #include "math.h"
 
 #include "wx/dcprint.h"
 #include "math.h"
 
-#if !USE_SHARED_LIBRARY
+#if wxUSE_PRINTING_ARCHITECTURE
+
 IMPLEMENT_CLASS(wxPrinterDC, wxDC)
 IMPLEMENT_CLASS(wxPrinterDC, wxDC)
-#endif
 
 
-#define INCL_DEV
-#define INCL_GPI
-#define INCL_PM
-#include<os2.h>
 
 // This form is deprecated
 
 // This form is deprecated
-wxPrinterDC::wxPrinterDC(const wxString& driver_name, const wxString& device_name, const wxString& file, bool interactive, int orientation)
+wxPrinterDC::wxPrinterDC(
+  const wxString&                   rsDriverName
+, const wxString&                   rsDeviceName
+, const wxString&                   rsFile
+, bool                              bInteractive
+, int                               nOrientation
+)
 {
 {
-    LONG            lType;
-    HAB             hab;
-    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 != T(""))
-        m_printData.SetFilename(file);
+    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
 
 /*
     Implement PM's version of this
@@ -90,24 +94,25 @@ wxPrinterDC::wxPrinterDC(const wxString& driver_name, const wxString& device_nam
     else
 #endif
 */
     else
 #endif
 */
-        if ((!driver_name.IsNull() && driver_name != T("")) &&
-            (!device_name.IsNull() && device_name != T("")) &&
-            (!file.IsNull() && file != T("")))
+        if ((!rsDriverName.IsNull() && rsDriverName != wxT("")) &&
+            (!rsDeviceName.IsNull() && rsDeviceName != wxT("")) &&
+            (!rsFile.IsNull() && rsFile != wxT("")))
         {
         {
-            m_hDC = (WXHDC) ::DevOpenDC( hab
+            m_hDC = (WXHDC) ::DevOpenDC( vHabmain
                                         ,OD_QUEUED
                                         ,"*"
                                         ,5L
                                         ,OD_QUEUED
                                         ,"*"
                                         ,5L
-                                        ,(PDEVOPENDATA)&devOpen
+                                        ,(PDEVOPENDATA)&vDevOpen
                                         ,NULLHANDLE
                                        );
             m_ok = m_hDC ? TRUE: FALSE;
         }
         else
         {
                                         ,NULLHANDLE
                                        );
             m_ok = m_hDC ? TRUE: FALSE;
         }
         else
         {
-            wxPrintData printData;
-            printData.SetOrientation(orientation);
-            m_hDC = wxGetPrinterDC(printData);
+            wxPrintData             vPrintData;
+
+            vPrintData.SetOrientation(nOrientation);
+            m_hDC = wxGetPrinterDC(vPrintData);
             m_ok = m_hDC ? TRUE: FALSE;
         }
 
             m_ok = m_hDC ? TRUE: FALSE;
         }
 
@@ -119,46 +124,51 @@ wxPrinterDC::wxPrinterDC(const wxString& driver_name, const wxString& device_nam
         }
         SetBrush(*wxBLACK_BRUSH);
         SetPen(*wxBLACK_PEN);
         }
         SetBrush(*wxBLACK_BRUSH);
         SetPen(*wxBLACK_PEN);
-}
+} // end of wxPrinterDC::wxPrinterDC
 
 
-wxPrinterDC::wxPrinterDC(const wxPrintData& printData)
+wxPrinterDC::wxPrinterDC(
+  const wxPrintData&                rPrintData
+)
 {
 {
-    m_printData = printData;
-
+    m_printData = rPrintData;
     m_isInteractive = FALSE;
     m_isInteractive = FALSE;
-
-    m_hDC = wxGetPrinterDC(printData);
+    m_hDC = wxGetPrinterDC(rPrintData);
     m_ok = (m_hDC != 0);
     m_ok = (m_hDC != 0);
-
     if (m_hDC)
         SetMapMode(wxMM_TEXT);
     if (m_hDC)
         SetMapMode(wxMM_TEXT);
-
     SetBrush(*wxBLACK_BRUSH);
     SetPen(*wxBLACK_PEN);
     SetBrush(*wxBLACK_BRUSH);
     SetPen(*wxBLACK_PEN);
-}
+} // end of wxPrinterDC::wxPrinterDC
 
 
-
-wxPrinterDC::wxPrinterDC(WXHDC theDC)
+wxPrinterDC::wxPrinterDC(
+  WXHDC                             hTheDC
+)
 {
     m_isInteractive = FALSE;
 {
     m_isInteractive = FALSE;
-
-    m_hDC = theDC;
+    m_hDC = hTheDC;
     m_ok = TRUE;
     if (m_hDC)
     {
     m_ok = TRUE;
     if (m_hDC)
     {
-        //     int width = GetDeviceCaps(m_hDC, VERTRES);
-        //     int height = GetDeviceCaps(m_hDC, HORZRES);
         SetMapMode(wxMM_TEXT);
     }
     SetBrush(*wxBLACK_BRUSH);
     SetPen(*wxBLACK_PEN);
         SetMapMode(wxMM_TEXT);
     }
     SetBrush(*wxBLACK_BRUSH);
     SetPen(*wxBLACK_PEN);
-}
+} // end of wxPrinterDC::wxPrinterDC
 
 
-wxPrinterDC::~wxPrinterDC(void)
+void wxPrinterDC::Init()
 {
 {
-}
+    if (m_hDC)
+    {
+        SetMapMode(wxMM_TEXT);
+
+        SetBrush(*wxBLACK_BRUSH);
+        SetPen(*wxBLACK_PEN);
+    }
+} // end of wxPrinterDC::Init
 
 
-bool wxPrinterDC::StartDoc(const wxString& message)
+bool wxPrinterDC::StartDoc(
+  const wxString&                   rsMessage
+)
 {
 /* TODO:  PM's implementation
    DOCINFO docinfo;
 {
 /* TODO:  PM's implementation
    DOCINFO docinfo;
@@ -199,35 +209,38 @@ bool wxPrinterDC::StartDoc(const wxString& message)
     if (ret <= 0)
     {
         DWORD lastError = GetLastError();
     if (ret <= 0)
     {
         DWORD lastError = GetLastError();
-        wxLogDebug(T("wxDC::StartDoc failed with error: %d\n"), lastError);
+        wxLogDebug(wxT("wxDC::StartDoc failed with error: %d\n"), lastError);
     }
 #endif
     return (ret > 0);
 */
     return(TRUE);
     }
 #endif
     return (ret > 0);
 */
     return(TRUE);
-}
+} // end of wxPrinterDC::StartDoc
 
 
-void wxPrinterDC::EndDoc(void)
+void wxPrinterDC::EndDoc()
 {
 //    if (m_hDC) ::EndDoc((HDC) m_hDC);
 {
 //    if (m_hDC) ::EndDoc((HDC) m_hDC);
-}
+} // end of wxPrinterDC::EndDoc
 
 
-void wxPrinterDC::StartPage(void)
+void wxPrinterDC::StartPage()
 {
 //    if (m_hDC)
 //        ::StartPage((HDC) m_hDC);
 {
 //    if (m_hDC)
 //        ::StartPage((HDC) m_hDC);
-}
+} // end of wxPrinterDC::StartPage
 
 
-void wxPrinterDC::EndPage(void)
+void wxPrinterDC::EndPage()
 {
 //    if (m_hDC)
 //        ::EndPage((HDC) m_hDC);
 {
 //    if (m_hDC)
 //        ::EndPage((HDC) m_hDC);
-}
+} // end of wxPrinterDC::EndPage
 
 // Returns default device and port names
 
 // Returns default device and port names
-static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName)
+static bool wxGetDefaultDeviceName(
+  wxString&                         rsDeviceName
+, wxString&                         rsPortName
+)
 {
 {
-    deviceName = "";
+    rsDeviceName = "";
 /*
     LPDEVNAMES  lpDevNames;
     LPSTR       lpszDriverName;
 /*
     LPDEVNAMES  lpDevNames;
     LPSTR       lpszDriverName;
@@ -278,15 +291,17 @@ static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName)
         GlobalFree(pd.hDevMode);
         pd.hDevMode=NULL;
     }
         GlobalFree(pd.hDevMode);
         pd.hDevMode=NULL;
     }
-    return ( deviceName != T("") );
+    return ( deviceName != wxT("") );
 */
     return(TRUE);
 */
     return(TRUE);
-}
+} // end of wxGetDefaultDeviceName
 
 // Gets an HDC for the specified printer configuration
 
 // Gets an HDC for the specified printer configuration
-WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
+WXHDC WXDLLEXPORT wxGetPrinterDC(
+  const wxPrintData&                rPrintDataConst
+)
 {
 {
-    HDC   hDC;
+    HDC   hDC = NULLHANDLE;
 /*
     wxPrintData printData = printDataConst;
     printData.ConvertToNative();
 /*
     wxPrintData printData = printDataConst;
     printData.ConvertToNative();
@@ -297,7 +312,7 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
     wxChar* deviceName;
     wxChar* portName = (wxChar*) NULL; // Obsolete in WIN32
 
     wxChar* deviceName;
     wxChar* portName = (wxChar*) NULL; // Obsolete in WIN32
 
-    if (devNameStr == T(""))
+    if (devNameStr == wxT(""))
         deviceName = (wxChar*) NULL;
     else
         deviceName = WXSTRINGCAST devNameStr;
         deviceName = (wxChar*) NULL;
     else
         deviceName = WXSTRINGCAST devNameStr;
@@ -309,13 +324,13 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
     if ( hDevMode )
         lpDevMode = (DEVMODE*) GlobalLock(hDevMode);
 
     if ( hDevMode )
         lpDevMode = (DEVMODE*) GlobalLock(hDevMode);
 
-    if (devNameStr == T(""))
+    if (devNameStr == wxT(""))
     {
         // Retrieve the default device name
         wxString portName;
         bool ret = wxGetDefaultDeviceName(devNameStr, portName);
 
     {
         // Retrieve the default device name
         wxString portName;
         bool ret = wxGetDefaultDeviceName(devNameStr, portName);
 
-        wxASSERT_MSG( ret, T("Could not get default device name.") );
+        wxASSERT_MSG( ret, wxT("Could not get default device name.") );
 
         deviceName = WXSTRINGCAST devNameStr;
     }
 
         deviceName = WXSTRINGCAST devNameStr;
     }
@@ -330,5 +345,44 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
         GlobalUnlock(hDevMode);
 */
     return (WXHDC) hDC;
         GlobalUnlock(hDevMode);
 */
     return (WXHDC) hDC;
-}
+} // end of wxGetPrinterDC
+
+void wxPrinterDC::DoDrawBitmap(
+  const wxBitmap&                   rBmp
+, wxCoord                           vX
+, wxCoord                           vY
+, bool                              bUseMask
+)
+{
+    wxCHECK_RET( rBmp.Ok(), _T("invalid bitmap in wxPrinterDC::DrawBitmap") );
+
+    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                            bSuccess = TRUE;
+
+    // TODO:
+
+    return bSuccess;
+} // end of wxPrintDC::DoBlit
+
 
 
+#endif //wxUSE_PRINTING_ARCHITECTURE