]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/brush.h
Fix regression with wxHTML table elements background handling.
[wxWidgets.git] / interface / wx / brush.h
index 3551a1d725ec6882e2dfe52ea009d8629685fc24..67467e5bfc4db1f04a5d3f15b23f5ebedc5b01f5 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxBrush
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -20,34 +20,39 @@ enum wxBrushStyle
         /**< Transparent (no fill). */
 
     wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE = wxSTIPPLE_MASK_OPAQUE,
-        /**< @todo WHAT's THIS?? */
+        /**< Uses a bitmap as a stipple; the mask is used for blitting monochrome
+             using text foreground and background colors. */
 
     wxBRUSHSTYLE_STIPPLE_MASK = wxSTIPPLE_MASK,
-        /**< @todo WHAT's THIS?? */
+        /**< Uses a bitmap as a stipple; mask is used for masking areas in the
+             stipple bitmap. */
 
     wxBRUSHSTYLE_STIPPLE = wxSTIPPLE,
         /**< Uses a bitmap as a stipple. */
 
-    wxBRUSHSTYLE_BDIAGONAL_HATCH = wxBDIAGONAL_HATCH,
+    wxBRUSHSTYLE_BDIAGONAL_HATCH,
         /**< Backward diagonal hatch. */
 
-    wxBRUSHSTYLE_CROSSDIAG_HATCH = wxCROSSDIAG_HATCH,
+    wxBRUSHSTYLE_CROSSDIAG_HATCH,
         /**< Cross-diagonal hatch. */
 
-    wxBRUSHSTYLE_FDIAGONAL_HATCH = wxFDIAGONAL_HATCH,
+    wxBRUSHSTYLE_FDIAGONAL_HATCH,
         /**< Forward diagonal hatch. */
 
-    wxBRUSHSTYLE_CROSS_HATCH = wxCROSS_HATCH,
+    wxBRUSHSTYLE_CROSS_HATCH,
         /**< Cross hatch. */
 
-    wxBRUSHSTYLE_HORIZONTAL_HATCH = wxHORIZONTAL_HATCH,
+    wxBRUSHSTYLE_HORIZONTAL_HATCH,
         /**< Horizontal hatch. */
 
-    wxBRUSHSTYLE_VERTICAL_HATCH = wxVERTICAL_HATCH,
+    wxBRUSHSTYLE_VERTICAL_HATCH,
         /**< Vertical hatch. */
 
-    wxBRUSHSTYLE_FIRST_HATCH = wxFIRST_HATCH,
-    wxBRUSHSTYLE_LAST_HATCH = wxLAST_HATCH,
+    wxBRUSHSTYLE_FIRST_HATCH,
+        /**< First of the hatch styles (inclusive). */
+
+    wxBRUSHSTYLE_LAST_HATCH
+        /**< Last of the hatch styles (inclusive). */
 };
 
 
@@ -87,6 +92,7 @@ enum wxBrushStyle
     @li ::wxBLUE_BRUSH
     @li ::wxCYAN_BRUSH
     @li ::wxGREEN_BRUSH
+    @li ::wxYELLOW_BRUSH
     @li ::wxGREY_BRUSH
     @li ::wxLIGHT_GREY_BRUSH
     @li ::wxMEDIUM_GREY_BRUSH
@@ -117,7 +123,7 @@ public:
 
     /**
         Constructs a stippled brush using a bitmap.
-        The brush style will be set to wxBRUSHSTYLE_STIPPLE.
+        The brush style will be set to @c wxBRUSHSTYLE_STIPPLE.
     */
     wxBrush(const wxBitmap& stippleBitmap);
 
@@ -147,7 +153,7 @@ public:
     virtual wxColour GetColour() const;
 
     /**
-        Gets a pointer to the stipple bitmap. If the brush does not have a wxBRUSHSTYLE_STIPPLE
+        Gets a pointer to the stipple bitmap. If the brush does not have a @c wxBRUSHSTYLE_STIPPLE
         style, this bitmap may be non-@NULL but uninitialised (i.e. wxBitmap:IsOk() returns @false).
 
         @see SetStipple()
@@ -169,12 +175,47 @@ public:
     virtual bool IsHatch() const;
 
     /**
-        Returns @true if the brush is initialised. It will return @false if the default
-        constructor has been used (for example, the brush is a member of a class, or
-        @NULL has been assigned to it).
+        Returns @true if the brush is initialised.
+
+        Notice that an uninitialized brush object can't be queried for any
+        brush properties and all calls to the accessor methods on it will
+        result in an assert failure.
     */
     virtual bool IsOk() const;
 
+    /**
+        Returns @true if the brush is a valid non-transparent brush.
+
+        This method returns @true if the brush object is initialized and has a
+        non-transparent style. Notice that this should be used instead of
+        simply testing whether GetStyle() returns a style different from
+        wxBRUSHSTYLE_TRANSPARENT if the brush may be invalid as GetStyle()
+        would assert in this case.
+
+        @see IsTransparent()
+
+        @since 2.9.2.
+     */
+    bool IsNonTransparent() const;
+
+    /**
+        Returns @true if the brush is transparent.
+
+        A transparent brush is simply a brush with wxBRUSHSTYLE_TRANSPARENT
+        style.
+
+        Notice that this function works even for non-initialized brushes (for
+        which it returns @false) unlike tests of the form <code>GetStyle() ==
+        wxBRUSHSTYLE_TRANSPARENT</code> which would assert if the brush is
+        invalid.
+
+        @see IsNonTransparent()
+
+        @since 2.9.2.
+     */
+    bool IsTransparent() const;
+
+
     //@{
     /**
         Sets the brush colour using red, green and blue values.
@@ -191,9 +232,9 @@ public:
         @param bitmap
             The bitmap to use for stippling.
 
-        @remarks The style will be set to wxBRUSHSTYLE_STIPPLE, unless the bitmap
+        @remarks The style will be set to @c wxBRUSHSTYLE_STIPPLE, unless the bitmap
                  has a mask associated to it, in which case the style will be set
-                 to wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE.
+                 to @c wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE.
 
         @see wxBitmap
     */
@@ -224,56 +265,84 @@ public:
 
 /**
     An empty brush.
+    wxBrush::IsOk() always returns @false for this object.
 */
 wxBrush wxNullBrush;
 
 /**
     Blue brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxBLUE_BRUSH;
 
 /**
     Green brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxGREEN_BRUSH;
 
+/**
+    Yellow brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
+*/
+wxBrush* wxYELLOW_BRUSH;
+
 /**
     White brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxWHITE_BRUSH;
 
 /**
     Black brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxBLACK_BRUSH;
 
 /**
     Grey brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxGREY_BRUSH;
 
 /**
     Medium grey brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxMEDIUM_GREY_BRUSH;
 
 /**
     Light grey brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxLIGHT_GREY_BRUSH;
 
 /**
     Transparent brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxTRANSPARENT_BRUSH;
 
 /**
     Cyan brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxCYAN_BRUSH;
 
 /**
     Red brush.
+    Except for the color it has all standard attributes
+    (@c wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
 */
 wxBrush* wxRED_BRUSH;
 
@@ -292,7 +361,7 @@ wxBrush* wxRED_BRUSH;
 
     @see wxBrush
 */
-class wxBrushList : public wxList
+class wxBrushList
 {
 public:
     /**