]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/html/htmlcell.h
Add wxThreadEvent::SetPayload<T>().
[wxWidgets.git] / interface / wx / html / htmlcell.h
index 86f728562a7b8428bea0f377f9fbf0eab87f8fb0..d1394e35542fe74378cdc39aaeb412daaf6970c1 100644 (file)
@@ -6,61 +6,67 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
+
+
 /**
-    @class wxHtmlColourCell
+    @class wxHtmlRenderingStyle
 
-    This cell changes the colour of either the background or the foreground.
+    Allows HTML rendering customizations.
+    This class is used when rendering wxHtmlCells as a callback.
 
     @library{wxhtml}
     @category{html}
+
+    @see wxHtmlRenderingInfo
 */
-class wxHtmlColourCell : public wxHtmlCell
+class wxHtmlRenderingStyle
 {
 public:
     /**
-        Constructor.
+        Returns the colour to use for the selected text.
+    */
+    virtual wxColour GetSelectedTextColour(const wxColour& clr) = 0;
 
-        @param clr
-            The color
-        @param flags
-            Can be one of following:
-            - wxHTML_CLR_FOREGROUND: change color of text
-            - wxHTML_CLR_BACKGROUND: change background color
+    /**
+        Returns the colour to use for the selected text's background.
     */
-    wxHtmlColourCell(const wxColour& clr, int flags = wxHTML_CLR_FOREGROUND);
+    virtual wxColour GetSelectedTextBgColour(const wxColour& clr) = 0;
 };
 
 
-
 /**
-    @class wxHtmlWidgetCell
+    @class wxHtmlRenderingInfo
 
-    wxHtmlWidgetCell is a class that provides a connection between HTML cells and
-    widgets (an object derived from wxWindow).
-    You can use it to display things like forms, input boxes etc. in an HTML window.
-
-    wxHtmlWidgetCell takes care of resizing and moving window.
+    This class contains information given to cells when drawing them.
+    Contains rendering state, selection information and rendering style object
+    that can be used to customize the output.
 
     @library{wxhtml}
     @category{html}
+
+    @see @ref overview_html_cells, wxHtmlCell
 */
-class wxHtmlWidgetCell : public wxHtmlCell
+class wxHtmlRenderingInfo
 {
 public:
     /**
-        Constructor.
+        Default ctor.
+    */
+    wxHtmlRenderingInfo();
 
-        @param wnd
-            Connected window. It is parent window @b must be the wxHtmlWindow object
-            within which it is displayed!
-        @param w
-            Floating width. If non-zero width of wnd window is adjusted so that it is
-            always w percents of parent container's width. (For example w = 100 means
-            that the window will always have same width as parent container).
+    //@{
+    /**
+        Accessors.
     */
-    wxHtmlWidgetCell(wxWindow* wnd, int w = 0);
-};
+    void SetSelection(wxHtmlSelection *s);
+    wxHtmlSelection *GetSelection() const;
+
+    void SetStyle(wxHtmlRenderingStyle *style);
+    wxHtmlRenderingStyle& GetStyle();
 
+    wxHtmlRenderingState& GetState();
+    //@}
+};
 
 
 /**
@@ -107,7 +113,7 @@ public:
         Renders the cell.
 
         @param dc
-            Device context to which the cell is to be drawn
+            Device context to which the cell is to be drawn.
         @param x,y
             Coordinates of parent's upper left corner (origin). You must
             add this to m_PosX,m_PosY when passing coordinates to dc's methods
@@ -117,10 +123,12 @@ public:
             @endcode
         @param view_y1
             y-coord of the first line visible in window.
-            This is used to optimize rendering speed
+            This is used to optimize rendering speed.
         @param view_y2
             y-coord of the last line visible in window.
-            This is used to optimize rendering speed
+            This is used to optimize rendering speed.
+        @param info
+            Additional information for the rendering of the cell.
     */
     virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2, wxHtmlRenderingInfo& info);
 
@@ -138,8 +146,10 @@ public:
             @code
                 dc->DrawText("hello", x + m_PosX, y + m_PosY)
             @endcode
+        @param info
+            Additional information for the rendering of the cell.
     */
-    virtual void DrawInvisible(wxDC& cd, int x , int y, wxHtmlRenderingInfo& info);
+    virtual void DrawInvisible(wxDC& dc, int x , int y, wxHtmlRenderingInfo& info);
 
     /**
         Returns pointer to itself if this cell matches condition (or if any of the
@@ -161,7 +171,7 @@ public:
     /**
         Returns descent value of the cell (m_Descent member).
         See explanation:
-        @image html descent.png
+        @image html htmlcell_descent.png
     */
     int GetDescent() const;
 
@@ -235,9 +245,11 @@ public:
     int GetWidth() const;
 
     /**
+        Layouts the cell.
+
         This method performs two actions:
         -# adjusts the cell's width according to the fact that maximal possible
-           width is @e w. (this has sense when working with horizontal lines, tables etc.)
+           width is @e w (this has sense when working with horizontal lines, tables etc.)
         -# prepares layout (=fill-in m_PosX, m_PosY (and sometimes m_Height) members)
            based on actual width @e w
 
@@ -385,7 +397,7 @@ public:
             - wxHTML_ALIGN_CENTER: cells are centered on line
             - wxHTML_ALIGN_TOP: cells are under the line
 
-        @image html alignv.png
+        @image html htmlcontcell_alignv.png
     */
     void SetAlignVer(int al);
 
@@ -401,13 +413,15 @@ public:
             Colour of top and left lines
         @param clr2
             Colour of bottom and right lines
+        @param border
+            Size of the border in pixels
     */
-    void SetBorder(const wxColour& clr1, const wxColour& clr2);
+    void SetBorder(const wxColour& clr1, const wxColour& clr2, int border = 1);
 
     /**
         Sets the indentation (free space between borders of container and subcells).
 
-        @image html indent.png
+        @image html htmlcontcell_indent.png
 
         @param i
             Indentation value.
@@ -537,3 +551,57 @@ public:
     wxString GetTarget() const;
 };
 
+/**
+    @class wxHtmlColourCell
+
+    This cell changes the colour of either the background or the foreground.
+
+    @library{wxhtml}
+    @category{html}
+*/
+class wxHtmlColourCell : public wxHtmlCell
+{
+public:
+    /**
+        Constructor.
+
+        @param clr
+            The color
+        @param flags
+            Can be one of following:
+            - wxHTML_CLR_FOREGROUND: change color of text
+            - wxHTML_CLR_BACKGROUND: change background color
+    */
+    wxHtmlColourCell(const wxColour& clr, int flags = wxHTML_CLR_FOREGROUND);
+};
+
+
+
+/**
+    @class wxHtmlWidgetCell
+
+    wxHtmlWidgetCell is a class that provides a connection between HTML cells and
+    widgets (an object derived from wxWindow).
+    You can use it to display things like forms, input boxes etc. in an HTML window.
+
+    wxHtmlWidgetCell takes care of resizing and moving window.
+
+    @library{wxhtml}
+    @category{html}
+*/
+class wxHtmlWidgetCell : public wxHtmlCell
+{
+public:
+    /**
+        Constructor.
+
+        @param wnd
+            Connected window. It is parent window @b must be the wxHtmlWindow object
+            within which it is displayed!
+        @param w
+            Floating width. If non-zero width of wnd window is adjusted so that it is
+            always w percents of parent container's width. (For example w = 100 means
+            that the window will always have same width as parent container).
+    */
+    wxHtmlWidgetCell(wxWindow* wnd, int w = 0);
+};