]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/dc.cpp
added SetDoubleBuffered() (patch 1491093)
[wxWidgets.git] / src / os2 / dc.cpp
index e21566019854aac44582eee429d6b81ac12e688b..86e618a0f4656343298edb22352eae0cfdc746f1 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        dc.cpp
+// Name:        src/os2/dc.cpp
 // Purpose:     wxDC class
 // Author:      David Webster
 // Modified by:
     #include "wx/log.h"
     #include "wx/icon.h"
     #include "wx/msgdlg.h"
+    #include "wx/dcprint.h"
 #if wxUSE_STATUSBAR
     #include "wx/statusbr.h"
 #endif
 #endif
 
 #include "wx/module.h"
-#include "wx/dcprint.h"
 
 #include <string.h>
 
 #include "wx/os2/private.h"
 
-    IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
 
 //
 // wxWidgets uses the Microsoft convention that the origin is the UPPER left.
@@ -774,11 +774,7 @@ void wxDC::DoDrawArc(
     vPtlArc[0].y = vYm;
     vPtlArc[1].x = vX2;
     vPtlArc[1].y = vY2;
-#if !(defined(__WATCOMC__) && __WATCOMC__ < 1240 )
-// Open Watcom 1.3 had incomplete headers
-// that's reported and should be fixed for OW 1.4
     ::GpiPointArc(m_hPS, vPtlArc); // Draws the arc
-#endif
     CalcBoundingBox( (wxCoord)(vXc - dRadius)
                     ,(wxCoord)(vYc - dRadius)
                    );
@@ -1272,7 +1268,7 @@ void wxDC::DoDrawIcon(
     //
     // Need to copy back into a bitmap.  ::WinDrawPointer uses device coords
     // and I don't feel like figuring those out for scrollable windows so
-    // just convert to a bitmap then let the DoDrawBitmap routing display it
+    // just convert to a bitmap then let the DoDrawBitmap routine display it
     //
     if (rIcon.IsXpm())
     {
@@ -2047,73 +2043,33 @@ void wxDC::SetBrush(
     }
 } // end of wxDC::SetBrush
 
-void wxDC::SetBackground(
-  const wxBrush&                    rBrush
-)
+void wxDC::SetBackground(const wxBrush& rBrush)
 {
     m_backgroundBrush = rBrush;
-    if (!m_backgroundBrush.Ok())
-        return;
-    if (m_pCanvas)
-    {
-        bool                        bCustomColours = true;
 
-        //
-        // If we haven't specified wxUSER_COLOURS, don't allow the panel/dialog box to
-        // change background colours from the control-panel specified colours.
-        //
-        if (m_pCanvas->IsKindOf(CLASSINFO(wxWindow)) &&
-            ((m_pCanvas->GetWindowStyleFlag() & wxUSER_COLOURS) != wxUSER_COLOURS))
-            bCustomColours = false;
-        if (bCustomColours)
-        {
-            if (m_backgroundBrush.GetStyle()==wxTRANSPARENT)
-            {
-                m_pCanvas->SetTransparent(true);
-            }
-            else
-            {
-                //
-                // Setting the background brush of a DC
-                // doesn't affect the window background colour. However,
-                // I'm leaving in the transparency setting because it's needed by
-                // various controls (e.g. wxStaticText) to determine whether to draw
-                // transparently or not. TODO: maybe this should be a new function
-                // wxWindow::SetTransparency(). Should that apply to the child itself, or the
-                // parent?
-                // m_canvas->SetBackgroundColour(m_backgroundBrush.GetColour());
-                //
-                m_pCanvas->SetTransparent(false);
-            }
-        }
+    if (m_backgroundBrush.Ok())
+    {
+        (void)::GpiSetBackColor((HPS)m_hPS, m_backgroundBrush.GetColour().GetPixel());
     }
-    COLORREF                        vNewColor = m_backgroundBrush.GetColour().GetPixel();
-    (void)::GpiSetBackColor((HPS)m_hPS, (LONG)vNewColor);
 } // end of wxDC::SetBackground
 
-void wxDC::SetBackgroundMode(
-  int                               nMode
-)
+void wxDC::SetBackgroundMode(int nMode)
 {
     m_backgroundMode = nMode;
 } // end of wxDC::SetBackgroundMode
 
-void wxDC::SetLogicalFunction(
-  int                               nFunction
-)
+void wxDC::SetLogicalFunction(int nFunction)
 {
     m_logicalFunction = nFunction;
     SetRop((WXHDC)m_hDC);
 } // wxDC::SetLogicalFunction
 
-void wxDC::SetRop(
-  WXHDC                             hDC
-)
+void wxDC::SetRop(WXHDC hDC)
 {
     if (!hDC || m_logicalFunction < 0)
         return;
 
-    LONG                            lCRop;
+    LONG lCRop;
     switch (m_logicalFunction)
     {
         case wxXOR: