Changed the way invisble HTML cells are NOT

drawn so that no clipping is required.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2004-11-24 20:28:19 +00:00
parent 6e0de3dfc4
commit 58bd6224ac
5 changed files with 14 additions and 7 deletions

View File

@ -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 WXUNUSED(view_y2),
int WXUNUSED(view_y1), int view_y2,
wxHtmlRenderingInfo& info)
{
#if 0 // useful for debugging
@ -384,6 +384,8 @@ 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 )

View File

@ -124,18 +124,17 @@ 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, pbreak + (y /*- from*/),
y, y + hght,
rinfo);
m_DC->DestroyClippingRegion();
}
if (pbreak < m_Cells->GetHeight()) return pbreak;

View File

@ -56,9 +56,11 @@ class wxHtmlLineCell : public wxHtmlCell
void wxHtmlLineCell::Draw(wxDC& dc, int x, int y,
int WXUNUSED(view_y1), int WXUNUSED(view_y2),
int WXUNUSED(view_y1), int 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);

View File

@ -539,9 +539,11 @@ wxHtmlImageCell::~wxHtmlImageCell()
void wxHtmlImageCell::Draw(wxDC& dc, int x, int y,
int WXUNUSED(view_y1), int WXUNUSED(view_y2),
int WXUNUSED(view_y1), int view_y2,
wxHtmlRenderingInfo& WXUNUSED(info))
{
if (y+m_PosY+m_Height > view_y2) return;
if ( m_showFrame )
{
dc.SetBrush(*wxTRANSPARENT_BRUSH);

View File

@ -59,9 +59,11 @@ wxHtmlListmarkCell::wxHtmlListmarkCell(wxDC* dc, const wxColour& clr) : wxHtmlCe
void wxHtmlListmarkCell::Draw(wxDC& dc, int x, int y,
int WXUNUSED(view_y1), int WXUNUSED(view_y2),
int WXUNUSED(view_y1), int 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));