]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dcclient.cpp
fix keyboard navigation in radio boxes containing hidden or disabled items
[wxWidgets.git] / src / gtk / dcclient.cpp
index 5589029861b47d4044ca88e4abd6ccef02c9f517..d610de176bdf7f6ed84cb4246cc123a4065a4888 100644 (file)
@@ -502,7 +502,7 @@ bool wxWindowDCImpl::DoGetPixel( wxCoord x1, wxCoord y1, wxColour *col ) const
 void wxWindowDCImpl::DoDrawLine( wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2 )
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
-
+    
     if (m_pen.GetStyle() != wxPENSTYLE_TRANSPARENT)
     {
         if (m_gdkwindow)
@@ -2009,9 +2009,7 @@ void wxWindowDCImpl::SetLogicalFunction( int function )
         case wxCOPY:         mode = GDK_COPY;          break;
         case wxNO_OP:        mode = GDK_NOOP;          break;
         case wxSRC_INVERT:   mode = GDK_COPY_INVERT;   break;
-
-        // unsupported by GTK
-        case wxNOR:          mode = GDK_COPY;          break;
+        case wxNOR:          mode = GDK_NOR;           break;
         default:
            wxFAIL_MSG( wxT("unsupported logical function") );
            mode = GDK_COPY;
@@ -2069,17 +2067,6 @@ void wxWindowDCImpl::SetBackgroundMode( int mode )
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
     m_backgroundMode = mode;
-
-    if (!m_gdkwindow) return;
-
-    // CMB 21/7/98: fill style of cross-hatch brushes is affected by
-    // transparent/solid background mode
-
-    if (m_brush.GetStyle() != wxBRUSHSTYLE_SOLID && m_brush.GetStyle() != wxBRUSHSTYLE_TRANSPARENT)
-    {
-        gdk_gc_set_fill( m_brushGC,
-          (m_backgroundMode == wxBRUSHSTYLE_TRANSPARENT) ? GDK_STIPPLED : GDK_OPAQUE_STIPPLED);
-    }
 }
 
 void wxWindowDCImpl::SetPalette( const wxPalette& WXUNUSED(palette) )
@@ -2117,11 +2104,7 @@ void wxWindowDCImpl::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, w
 
     wxCoord xx, yy, ww, hh;
     m_currentClippingRegion.GetBox( xx, yy, ww, hh );
-#if wxUSE_NEW_DC
     wxGTKDCImpl::DoSetClippingRegion( xx, yy, ww, hh );
-#else
-    wxDC::DoSetClippingRegion( xx, yy, ww, hh );
-#endif
 
     GdkRegion* gdkRegion = m_currentClippingRegion.GetRegion();
     gdk_gc_set_clip_region(m_penGC,   gdkRegion);
@@ -2130,7 +2113,7 @@ void wxWindowDCImpl::DoSetClippingRegion( wxCoord x, wxCoord y, wxCoord width, w
     gdk_gc_set_clip_region(m_bgGC,    gdkRegion);
 }
 
-void wxWindowDCImpl::DoSetClippingRegionAsRegion( const wxRegion &region  )
+void wxWindowDCImpl::DoSetDeviceClippingRegion( const wxRegion &region  )
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
@@ -2154,11 +2137,7 @@ void wxWindowDCImpl::DoSetClippingRegionAsRegion( const wxRegion &region  )
 
     wxCoord xx, yy, ww, hh;
     m_currentClippingRegion.GetBox( xx, yy, ww, hh );
-#if wxUSE_NEW_DC
     wxGTKDCImpl::DoSetClippingRegion( xx, yy, ww, hh );
-#else
-    wxDC::DoSetClippingRegion( xx, yy, ww, hh );
-#endif
 
     GdkRegion* gdkRegion = m_currentClippingRegion.GetRegion();
     gdk_gc_set_clip_region(m_penGC,   gdkRegion);
@@ -2171,11 +2150,7 @@ void wxWindowDCImpl::DestroyClippingRegion()
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
-#if wxUSE_NEW_DC
     wxDCImpl::DestroyClippingRegion();
-#else
-    wxDC::DestroyClippingRegion();
-#endif
 
     m_currentClippingRegion.Clear();
 
@@ -2232,11 +2207,7 @@ void wxWindowDCImpl::ComputeScaleAndOrigin()
 {
     const wxRealPoint origScale(m_scaleX, m_scaleY);
 
-#if wxUSE_NEW_DC
     wxDCImpl::ComputeScaleAndOrigin();
-#else
-    wxDC::ComputeScaleAndOrigin();
-#endif
 
     // if scale has changed call SetPen to recalulate the line width
     if ( wxRealPoint(m_scaleX, m_scaleY) != origScale && m_pen.IsOk() )