]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/htmlcell.h
setting the hacked cocoa font panel as default
[wxWidgets.git] / include / wx / html / htmlcell.h
index 09e3cd29b060f95af62fd5fc270d2538438d1709..62afdebae42b1afd7825265f0247352c04a8d05a 100644 (file)
@@ -8,14 +8,9 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-
 #ifndef _WX_HTMLCELL_H_
 #define _WX_HTMLCELL_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "htmlcell.h"
-#endif
-
 #include "wx/defs.h"
 
 #if wxUSE_HTML
@@ -150,6 +145,13 @@ enum
 };
 
 
+// Superscript/subscript/normal script mode of a cell
+enum wxHtmlScriptMode
+{
+    wxHTML_SCRIPT_NORMAL,
+    wxHTML_SCRIPT_SUB,
+    wxHTML_SCRIPT_SUP
+};
 
 
 // ---------------------------------------------------------------------------
@@ -181,6 +183,10 @@ public:
     int GetHeight() const {return m_Height;}
     int GetDescent() const {return m_Descent;}
 
+    void SetScriptMode(wxHtmlScriptMode mode, long previousBase);
+    wxHtmlScriptMode GetScriptMode() const { return m_ScriptMode; }
+    long GetScriptBaseline() { return m_ScriptBaseline; }
+
     // Formatting cells are not visible on the screen, they only alter
     // renderer's state.
     bool IsFormattingCell() const { return m_Width == 0 && m_Height == 0; }
@@ -302,21 +308,26 @@ public:
         { return wxEmptyString; }
 
 protected:
+    // pointer to the next cell
     wxHtmlCell *m_Next;
-            // pointer to the next cell
+    // pointer to parent cell
     wxHtmlContainerCell *m_Parent;
-            // pointer to parent cell
+
+    // dimensions of fragment (m_Descent is used to position text & images)
     long m_Width, m_Height, m_Descent;
-            // dimensions of fragment
-            // m_Descent is used to position text&images..
+    // position where the fragment is drawn:
     long m_PosX, m_PosY;
-            // position where the fragment is drawn
+
+    // superscript/subscript/normal:
+    wxHtmlScriptMode m_ScriptMode;
+    long m_ScriptBaseline;
+
+    // destination address if this fragment is hypertext link, NULL otherwise
     wxHtmlLinkInfo *m_Link;
-            // destination address if this fragment is hypertext link, NULL otherwise
+    // true if this cell can be placed on pagebreak, false otherwise
     bool m_CanLiveOnPagebreak;
-            // true if this cell can be placed on pagebreak, false otherwise
+    // unique identifier of the cell, generated from "id" property of tags
     wxString m_id;
-            // unique identifier of the cell, generated from "id" property of tags
 
     DECLARE_ABSTRACT_CLASS(wxHtmlCell)
     DECLARE_NO_COPY_CLASS(wxHtmlCell)
@@ -338,7 +349,7 @@ protected:
 class WXDLLIMPEXP_HTML wxHtmlWordCell : public wxHtmlCell
 {
 public:
-    wxHtmlWordCell(const wxString& word, wxDC& dc);
+    wxHtmlWordCell(const wxString& word, const wxDC& dc);
     void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2,
               wxHtmlRenderingInfo& info);
     wxCursor GetCursor() const;
@@ -348,8 +359,8 @@ public:
     void SetPreviousWord(wxHtmlWordCell *cell);
 
 protected:
-    void SetSelectionPrivPos(wxDC& dc, wxHtmlSelection *s) const;
-    void Split(wxDC& dc,
+    void SetSelectionPrivPos(const wxDC& dc, wxHtmlSelection *s) const;
+    void Split(const wxDC& dc,
                const wxPoint& selFrom, const wxPoint& selTo,
                unsigned& pos1, unsigned& pos2) const;
 
@@ -419,6 +430,8 @@ public:
 #if WXWIN_COMPATIBILITY_2_4
     wxDEPRECATED( wxHtmlCell* GetFirstCell() const );
 #endif
+    // returns last child cell:
+    wxHtmlCell* GetLastChild() const { return m_LastCell; }
 
     // see comment in wxHtmlCell about this method
     virtual bool IsTerminalCell() const { return false; }
@@ -432,7 +445,7 @@ public:
 
     // Removes indentation on top or bottom of the container (i.e. above or
     // below first/last terminal cell). For internal use only.
-    void RemoveExtraSpacing(bool top, bool bottom);
+    virtual void RemoveExtraSpacing(bool top, bool bottom);
 
     // Returns the maximum possible length of the container.
     // Call Layout at least once before using GetMaxTotalWidth()