]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_list.cpp
don't cache the result of IsAlwaysConnected() and don't call IsOnline() unnecessarily...
[wxWidgets.git] / src / html / m_list.cpp
index ba6571362bba0f3eca61f8c298398d7508845bb8..44cad981edd4c373899315871a785860ab8561c1 100644 (file)
@@ -48,17 +48,18 @@ class wxHtmlListmarkCell : public wxHtmlCell
 
 wxHtmlListmarkCell::wxHtmlListmarkCell(wxDC* dc, const wxColour& clr) : wxHtmlCell(), m_Brush(clr, wxSOLID)
 {
-    m_Width = dc->GetCharWidth();
+    m_Width =  dc->GetCharHeight();
     m_Height = dc->GetCharHeight();
     m_Descent = 0;
 }
 
 
 
-void wxHtmlListmarkCell::Draw(wxDC& dc, int x, int y, int view_y1, int view_y2)
+void wxHtmlListmarkCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXUNUSED(view_y2))
 {
     dc.SetBrush(m_Brush);
-    dc.DrawEllipse(x + m_PosX + m_Width / 4, y + m_PosY + m_Height / 4, m_Width / 2, m_Width / 2);
+    dc.DrawEllipse(x + m_PosX + m_Width / 3, y + m_PosY + m_Height / 3, 
+                   (m_Width / 3), (m_Width / 3));
 }
 
 
@@ -87,34 +88,36 @@ TAG_HANDLER_BEGIN(OLULLI, "OL,UL,LI")
         // List Item:
         if (tag.GetName() == wxT("LI"))
         {
-            if (!tag.IsEnding())
-            {
-                m_WParser->GetContainer()->SetIndent(0, wxHTML_INDENT_TOP);
-                    // this is to prevent indetation in <li><p> case
-                m_WParser->CloseContainer();
-                m_WParser->CloseContainer();
+            m_WParser->GetContainer()->SetIndent(0, wxHTML_INDENT_TOP);
+                // this is to prevent indetation in <li><p> case
+            m_WParser->CloseContainer();
+            m_WParser->CloseContainer();
 
-                c = m_WParser->OpenContainer();
-                c->SetWidthFloat(2 * m_WParser->GetCharWidth(), wxHTML_UNITS_PIXELS);
+            c = m_WParser->OpenContainer();
+            c->SetWidthFloat(2 * m_WParser->GetCharWidth(), wxHTML_UNITS_PIXELS);
+            if (m_Numbering == 0)
+            {
+                // Centering gives more space after the bullet
+                c->SetAlignHor(wxHTML_ALIGN_CENTER);
+                c->InsertCell(new wxHtmlListmarkCell(m_WParser->GetDC(), m_WParser->GetActualColor()));
+            }
+            else
+            {
                 c->SetAlignHor(wxHTML_ALIGN_RIGHT);
-                if (m_Numbering == 0)
-                    c->InsertCell(new wxHtmlListmarkCell(m_WParser->GetDC(), m_WParser->GetActualColor()));
-                else
-                {
-                    wxString mark;
-                    mark.Printf(wxT("%i."), m_Numbering);
-                    c->InsertCell(new wxHtmlWordCell(mark, *(m_WParser->GetDC())));
-                }
-                m_WParser->CloseContainer();
+                wxString mark;
+                mark.Printf(wxT("%i."), m_Numbering);
+                c->InsertCell(new wxHtmlWordCell(mark, *(m_WParser->GetDC())));
+            }
+            m_WParser->CloseContainer();
 
-                c = m_WParser->OpenContainer();
-                c->SetIndent(m_WParser->GetCharWidth() / 4, wxHTML_INDENT_LEFT);
-                c->SetWidthFloat(-2 * m_WParser->GetCharWidth(), wxHTML_UNITS_PIXELS);
+            c = m_WParser->OpenContainer();
+            c->SetIndent(m_WParser->GetCharWidth() / 4, wxHTML_INDENT_LEFT);
+            c->SetWidthFloat(-2 * m_WParser->GetCharWidth(), wxHTML_UNITS_PIXELS);
 
-                m_WParser->OpenContainer();
+            m_WParser->OpenContainer();
+
+            if (m_Numbering != 0) m_Numbering++;
 
-                if (m_Numbering != 0) m_Numbering++;
-            }
             return FALSE;
         }