diff --git a/samples/drawing/drawing.cpp b/samples/drawing/drawing.cpp index 8f5800a750..8a502ad97b 100644 --- a/samples/drawing/drawing.cpp +++ b/samples/drawing/drawing.cpp @@ -203,31 +203,16 @@ public: m_canvas->UseGraphicRenderer(NULL); } - void OnGraphicContextNoneUpdateUI(wxUpdateUIEvent& event) - { - event.Check(m_canvas->GetRenderer() == NULL); - } - void OnGraphicContextDefault(wxCommandEvent& WXUNUSED(event)) { m_canvas->UseGraphicRenderer(wxGraphicsRenderer::GetDefaultRenderer()); } - void OnGraphicContextDefaultUpdateUI(wxUpdateUIEvent& event) - { - event.Check(m_canvas->IsDefaultRenderer()); - } - #if wxUSE_CAIRO void OnGraphicContextCairo(wxCommandEvent& WXUNUSED(event)) { m_canvas->UseGraphicRenderer(wxGraphicsRenderer::GetCairoRenderer()); } - - void OnGraphicContextCairoUpdateUI(wxUpdateUIEvent& event) - { - event.Check(m_canvas->GetRenderer() == wxGraphicsRenderer::GetCairoRenderer()); - } #endif // wxUSE_CAIRO #ifdef __WXMSW__ #if wxUSE_GRAPHICS_GDIPLUS @@ -235,22 +220,12 @@ public: { m_canvas->UseGraphicRenderer(wxGraphicsRenderer::GetGDIPlusRenderer()); } - - void OnGraphicContextGDIPlusUpdateUI(wxUpdateUIEvent& event) - { - event.Check(m_canvas->GetRenderer() == wxGraphicsRenderer::GetGDIPlusRenderer()); - } #endif #if wxUSE_GRAPHICS_DIRECT2D void OnGraphicContextDirect2D(wxCommandEvent& WXUNUSED(event)) { m_canvas->UseGraphicRenderer(wxGraphicsRenderer::GetDirect2DRenderer()); } - - void OnGraphicContextDirect2DUpdateUI(wxUpdateUIEvent& event) - { - event.Check(m_canvas->GetRenderer() == wxGraphicsRenderer::GetDirect2DRenderer()); - } #endif #endif // __WXMSW__ void OnAntiAliasing(wxCommandEvent& event) @@ -639,7 +614,7 @@ void MyCanvas::DrawTestPoly(wxDC& dc) void MyCanvas::DrawTestLines( int x, int y, int width, wxDC &dc ) { dc.SetPen( wxPen( *wxBLACK, width ) ); - dc.SetBrush( *wxRED_BRUSH ); + dc.SetBrush( *wxWHITE_BRUSH ); dc.DrawText(wxString::Format("Testing lines of width %d", width), x + 10, y - 10); dc.DrawRectangle( x+10, y+10, 100, 190 ); @@ -2230,21 +2205,16 @@ wxBEGIN_EVENT_TABLE(MyFrame, wxFrame) #if wxUSE_GRAPHICS_CONTEXT EVT_MENU (File_GC_Default, MyFrame::OnGraphicContextDefault) - EVT_UPDATE_UI (File_GC_Default, MyFrame::OnGraphicContextDefaultUpdateUI) EVT_MENU (File_DC, MyFrame::OnGraphicContextNone) - EVT_UPDATE_UI (File_DC, MyFrame::OnGraphicContextNoneUpdateUI) #if wxUSE_CAIRO EVT_MENU (File_GC_Cairo, MyFrame::OnGraphicContextCairo) - EVT_UPDATE_UI (File_GC_Cairo, MyFrame::OnGraphicContextCairoUpdateUI) #endif // wxUSE_CAIRO #ifdef __WXMSW__ #if wxUSE_GRAPHICS_GDIPLUS EVT_MENU (File_GC_GDIPlus, MyFrame::OnGraphicContextGDIPlus) - EVT_UPDATE_UI (File_GC_GDIPlus, MyFrame::OnGraphicContextGDIPlusUpdateUI) #endif #if wxUSE_GRAPHICS_DIRECT2D EVT_MENU (File_GC_Direct2D, MyFrame::OnGraphicContextDirect2D) - EVT_UPDATE_UI (File_GC_Direct2D, MyFrame::OnGraphicContextDirect2DUpdateUI) #endif #endif // __WXMSW__ EVT_MENU (File_AntiAliasing, MyFrame::OnAntiAliasing) @@ -2292,17 +2262,39 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) wxMenu *menuFile = new wxMenu; #if wxUSE_GRAPHICS_CONTEXT - menuFile->AppendCheckItem(File_GC_Default, "Use default wx&GraphicContext\t1"); - m_menuItemUseDC = menuFile->AppendRadioItem(File_DC, "Use wx&DC\t0"); + // Number the different renderer choices consecutively, starting from 0. + int accel = 0; + m_menuItemUseDC = menuFile->AppendRadioItem + ( + File_DC, + wxString::Format("Use wx&DC\t%d", accel++) + ); + menuFile->AppendRadioItem + ( + File_GC_Default, + wxString::Format("Use default wx&GraphicContext\t%d", accel++) + ); #if wxUSE_CAIRO - menuFile->AppendRadioItem(File_GC_Cairo, "Use &Cairo\t2"); + menuFile->AppendRadioItem + ( + File_GC_Cairo, + wxString::Format("Use &Cairo\t%d", accel++) + ); #endif // wxUSE_CAIRO #ifdef __WXMSW__ #if wxUSE_GRAPHICS_GDIPLUS - menuFile->AppendRadioItem(File_GC_GDIPlus, "Use &GDI+\t3"); + menuFile->AppendRadioItem + ( + File_GC_GDIPlus, + wxString::Format("Use &GDI+\t%d", accel++) + ); #endif #if wxUSE_GRAPHICS_DIRECT2D - menuFile->AppendRadioItem(File_GC_Direct2D, "Use &Direct2D\t4"); + menuFile->AppendRadioItem + ( + File_GC_Direct2D, + wxString::Format("Use &Direct2D\t%d", accel++) + ); #endif #endif // __WXMSW__ #endif // wxUSE_GRAPHICS_CONTEXT diff --git a/src/msw/pen.cpp b/src/msw/pen.cpp index 0759f7b9c6..44bcc3ebf6 100644 --- a/src/msw/pen.cpp +++ b/src/msw/pen.cpp @@ -284,9 +284,7 @@ bool wxPenRefData::Alloc() // CreatePen() if ( m_join == wxJOIN_ROUND && m_cap == wxCAP_ROUND && - m_style != wxPENSTYLE_USER_DASH && - m_style != wxPENSTYLE_STIPPLE && - (m_width <= 1 || m_style == wxPENSTYLE_SOLID) ) + m_style == wxPENSTYLE_SOLID ) { m_hPen = ::CreatePen(ConvertPenStyle(m_style), m_width, col); } @@ -358,7 +356,10 @@ bool wxPenRefData::Alloc() dash = NULL; } - m_hPen = ::ExtCreatePen(styleMSW, m_width, &lb, m_nbDash, (LPDWORD)dash); + // Note that width can't be 0 for ExtCreatePen(), unlike for CreatePen(). + int width = m_width == 0 ? 1 : m_width; + + m_hPen = ::ExtCreatePen(styleMSW, width, &lb, m_nbDash, (LPDWORD)dash); delete [] dash; }