From: Václav Slavík Date: Thu, 25 Nov 2004 08:32:49 +0000 (+0000) Subject: reverted Robert's over-optimisation, correct fix coming soon X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/2a2e4f4afa72e4d0df325d4cf742fa1bab16456d reverted Robert's over-optimisation, correct fix coming soon git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/html/htmlcell.cpp b/src/html/htmlcell.cpp index 8064a7c543..5ea2d4b802 100644 --- a/src/html/htmlcell.cpp +++ b/src/html/htmlcell.cpp @@ -376,7 +376,7 @@ static void SwitchSelState(wxDC& dc, wxHtmlRenderingInfo& info, void wxHtmlWordCell::Draw(wxDC& dc, int x, int y, - int WXUNUSED(view_y1), int view_y2, + int WXUNUSED(view_y1), int WXUNUSED(view_y2), wxHtmlRenderingInfo& info) { #if 0 // useful for debugging @@ -384,8 +384,6 @@ void wxHtmlWordCell::Draw(wxDC& dc, int x, int y, dc.DrawRectangle(x+m_PosX,y+m_PosY,m_Width /* VZ: +1? */ ,m_Height); #endif - if (y+m_PosY+m_Height > view_y2) return; - bool drawSelectionAfterCell = false; if ( info.GetState().GetSelectionState() == wxHTML_SEL_CHANGING ) diff --git a/src/html/htmprint.cpp b/src/html/htmprint.cpp index c094e0ead3..ca47879878 100644 --- a/src/html/htmprint.cpp +++ b/src/html/htmprint.cpp @@ -124,17 +124,18 @@ int wxHtmlDCRenderer::Render(int x, int y, int from, int dont_render, int to, in if(to < hght) hght = to; - if (!dont_render) { wxHtmlRenderingInfo rinfo; wxDefaultHtmlRenderingStyle rstyle; rinfo.SetStyle(&rstyle); m_DC->SetBrush(*wxWHITE_BRUSH); + m_DC->SetClippingRegion(x, y, m_Width, hght); m_Cells->Draw(*m_DC, x, (y - from), - y, y + hght, + y, pbreak + (y /*- from*/), rinfo); + m_DC->DestroyClippingRegion(); } if (pbreak < m_Cells->GetHeight()) return pbreak; diff --git a/src/html/m_hline.cpp b/src/html/m_hline.cpp index 76a8db4aec..d629fda7bc 100644 --- a/src/html/m_hline.cpp +++ b/src/html/m_hline.cpp @@ -56,11 +56,9 @@ class wxHtmlLineCell : public wxHtmlCell void wxHtmlLineCell::Draw(wxDC& dc, int x, int y, - int WXUNUSED(view_y1), int view_y2, + int WXUNUSED(view_y1), int WXUNUSED(view_y2), wxHtmlRenderingInfo& WXUNUSED(info)) { - if (y+m_PosY+m_Height > view_y2) return; - wxBrush mybrush(wxT("GREY"), (m_HasShading) ? wxTRANSPARENT : wxSOLID); wxPen mypen(wxT("GREY"), 1, wxSOLID); dc.SetBrush(mybrush); diff --git a/src/html/m_image.cpp b/src/html/m_image.cpp index b42f7780be..a850abcf37 100644 --- a/src/html/m_image.cpp +++ b/src/html/m_image.cpp @@ -539,11 +539,9 @@ wxHtmlImageCell::~wxHtmlImageCell() void wxHtmlImageCell::Draw(wxDC& dc, int x, int y, - int WXUNUSED(view_y1), int view_y2, + int WXUNUSED(view_y1), int WXUNUSED(view_y2), wxHtmlRenderingInfo& WXUNUSED(info)) { - if (y+m_PosY+m_Height > view_y2) return; - if ( m_showFrame ) { dc.SetBrush(*wxTRANSPARENT_BRUSH); diff --git a/src/html/m_list.cpp b/src/html/m_list.cpp index 9669682592..e441b0ebd1 100644 --- a/src/html/m_list.cpp +++ b/src/html/m_list.cpp @@ -59,11 +59,9 @@ wxHtmlListmarkCell::wxHtmlListmarkCell(wxDC* dc, const wxColour& clr) : wxHtmlCe void wxHtmlListmarkCell::Draw(wxDC& dc, int x, int y, - int WXUNUSED(view_y1), int view_y2, + int WXUNUSED(view_y1), int WXUNUSED(view_y2), wxHtmlRenderingInfo& WXUNUSED(info)) { - if (y+m_PosY+m_Height > view_y2) return; - dc.SetBrush(m_Brush); dc.DrawEllipse(x + m_PosX + m_Width / 3, y + m_PosY + m_Height / 3, (m_Width / 3), (m_Width / 3));