.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.Brush:

==========================================================================================================================================
|phoenix_title|  **wx.Brush**
==========================================================================================================================================

A brush is a drawing tool for filling in areas.          

It is used for painting the background of rectangles, ellipses, etc. It has a colour and a style. 

On a monochrome display, wxWidgets shows all brushes as white unless the colour is really black. 

Do not initialize objects on the stack before the program commences, since other required structures may not have been set up yet. Instead, define global pointers to objects and create them in :meth:`wx.App.OnInit`   or when required. 

An application may wish to create brushes with different characteristics dynamically, and there is the consequent danger that a large number of duplicate brushes will be created. Therefore an application may wish to get a pointer to a brush by using the global list of brushes :ref:`wx.TheBrushList`, and calling the member function :meth:`wx.BrushList.FindOrCreateBrush` . 

This class uses reference counting and copy-on-write internally so that assignments between two instances of this class are very cheap. You can therefore use actual objects instead of pointers without efficiency problems. If an instance of this class is changed it will create its own data internally so that other instances, which previously shared the data using the reference counting, are not affected. 











.. seealso:: :ref:`wx.BrushList`, :ref:`wx.DC`, :meth:`wx.DC.SetBrush`     







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>Brush</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.Brush_inheritance.png" alt="Inheritance diagram of Brush" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.Brush.html" title="wx.Brush" alt="" coords="19,160,97,189"/> <area shape="rect" id="node2" href="wx.GDIObject.html" title="wx.GDIObject" alt="" coords="5,83,112,112"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="17,5,99,35"/> </map> 
   </p>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.Brush.__init__`                                                       Default constructor.
:meth:`~wx.Brush.GetColour`                                                      Returns a reference to the brush colour.
:meth:`~wx.Brush.GetStipple`                                                     Gets a pointer to the stipple bitmap.
:meth:`~wx.Brush.GetStyle`                                                       Returns the brush style, one of the :ref:`wx.BrushStyle`  values.
:meth:`~wx.Brush.IsHatch`                                                        Returns ``True`` if the style of the brush is any of hatched fills.
:meth:`~wx.Brush.IsNonTransparent`                                               Returns ``True`` if the brush is a valid non-transparent brush.
:meth:`~wx.Brush.IsOk`                                                           Returns ``True`` if the brush is initialised.
:meth:`~wx.Brush.IsTransparent`                                                  Returns ``True`` if the brush is transparent.
:meth:`~wx.Brush.MacSetTheme`                                                    
:meth:`~wx.Brush.SetColour`                                                      Sets the brush colour using red, green and blue values.
:meth:`~wx.Brush.SetStipple`                                                     Sets the stipple bitmap.
:meth:`~wx.Brush.SetStyle`                                                       Sets the brush style.
:meth:`~wx.Brush.__bool__`                                                       
:meth:`~wx.Brush.__nonzero__`                                                    
:meth:`~wx.Brush._copyFrom`                                                      For internal use only.
:meth:`~wx.Brush.__ne__`                                                         Inequality operator.
:meth:`~wx.Brush.__eq__`                                                         Equality operator.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.Brush.Colour`                                                         See :meth:`~wx.Brush.GetColour` and :meth:`~wx.Brush.SetColour`
:attr:`~wx.Brush.Stipple`                                                        See :meth:`~wx.Brush.GetStipple` and :meth:`~wx.Brush.SetStipple`
:attr:`~wx.Brush.Style`                                                          See :meth:`~wx.Brush.GetStyle` and :meth:`~wx.Brush.SetStyle`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.Brush(GDIObject)

   **Possible constructors**::

       Brush()
       
       Brush(colour, style=BRUSHSTYLE_SOLID)
       
       Brush(stippleBitmap)
       
       Brush(brush)
       
   
   A brush is a drawing tool for filling in areas.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      **~~~**

      
      **__init__** `(self)`
      
      Default constructor.                  
      
      The brush will be uninitialised, and :ref:`wx.Brush`::meth:`IsOk`   will return ``False``.                   
      
      
      
      
      **~~~**

      
      **__init__** `(self, colour, style=BRUSHSTYLE_SOLID)`
      
      Constructs a brush from a colour object and `style`.                  
      
      
      
      
      :param `colour`: Colour object.   
      :type `colour`: wx.Colour
      :param `style`: One of the :ref:`wx.BrushStyle`  enumeration values.   
      :type `style`: wx.BrushStyle
      
      
      
      
      
      
                        
      
      
      
      
      **~~~**

      
      **__init__** `(self, stippleBitmap)`
      
      Constructs a stippled brush using a bitmap.                  
      
      The brush style will be set to  ``BRUSHSTYLE_STIPPLE`` .                   
      
      
      :param `stippleBitmap`: 
      :type `stippleBitmap`: wx.Bitmap
      
      
      
      
      
      
      **~~~**

      
      **__init__** `(self, brush)`
      
      Copy constructor, uses :ref:`reference counting <reference counting>`.                  
      
      
      :param `brush`: 
      :type `brush`: wx.Brush
      
      
      
      
      
      
      **~~~**






   .. method:: GetColour(self)

      Returns a reference to the brush colour.                  

                

      :rtype: :ref:`wx.Colour`







      .. seealso:: :meth:`SetColour`     








   .. method:: GetStipple(self)

      Gets a pointer to the stipple bitmap.                  

      If the brush does not have a  ``BRUSHSTYLE_STIPPLE``   style, this bitmap may be non-NULL but uninitialised (i.e.  :ref:`wx.Bitmap`::meth:`IsOk`   returns ``False``). 

                

      :rtype: :ref:`wx.Bitmap`







      .. seealso:: :meth:`SetStipple`     








   .. method:: GetStyle(self)

      Returns the brush style, one of the :ref:`wx.BrushStyle`  values.                  

                

      :rtype: :ref:`wx.BrushStyle`







      .. seealso:: :meth:`SetStyle` , :meth:`SetColour` , :meth:`SetStipple`     








   .. method:: IsHatch(self)

      Returns ``True`` if the style of the brush is any of hatched fills.                  

                

      :rtype: `bool`







      .. seealso:: :meth:`GetStyle`     








   .. method:: IsNonTransparent(self)

      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 :meth:`GetStyle`   returns a style different from ``wx.BRUSHSTYLE_TRANSPARENT`` if the brush may be invalid as :meth:`GetStyle`   would assert in this case. 

                

      :rtype: `bool`







      .. versionadded:: 2.9.2.
      







      .. seealso:: :meth:`IsTransparent`   








   .. method:: IsOk(self)

      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.                  

      :rtype: `bool`








   .. method:: IsTransparent(self)

      Returns ``True`` if the brush is transparent.                  

      A transparent brush is simply a brush with ``wx.BRUSHSTYLE_TRANSPARENT`` style. 

      Notice that this function works even for non-initialized brushes (for which it returns ``False``) unlike tests of the form  :meth:`GetStyle`   == ``wx.BRUSHSTYLE_TRANSPARENT``  which would assert if the brush is invalid. 

                

      :rtype: `bool`







      .. versionadded:: 2.9.2.
      







      .. seealso:: :meth:`IsNonTransparent`   








   .. method:: MacSetTheme(self, macThemeBrushID)






   .. method:: SetColour(self, *args, **kw)

      Sets the brush colour using red, green and blue values.                  

                 



      .. seealso:: :meth:`GetColour`     





      |overload| Overloaded Implementations:

      **~~~**

      
      **SetColour** `(self, colour)`
      
      
      
      
      :param `colour`: 
      :type `colour`: wx.Colour
      
      
      
      
      
      
      **~~~**

      
      **SetColour** `(self, red, green, blue)`
      
      
      
      
      :param `red`: 
      :type `red`: int
      :param `green`: 
      :type `green`: int
      :param `blue`: 
      :type `blue`: int
      
      
      
      
      
      
      **~~~**






   .. method:: SetStipple(self, bitmap)

      Sets the stipple bitmap.                  




      :param `bitmap`: The bitmap to use for stippling.  
      :type `bitmap`: wx.Bitmap




                  



      .. note:: 

         The style will be set to  ``BRUSHSTYLE_STIPPLE`` , unless the bitmap has a mask associated to it, in which case the style will be set to   ``BRUSHSTYLE_STIPPLE_MASK_OPAQUE`` .  







      .. seealso:: :ref:`wx.Bitmap`    








   .. method:: SetStyle(self, style)

      Sets the brush style.                  




      :param `style`: One of the :ref:`wx.BrushStyle`  values.  
      :type `style`: wx.BrushStyle




                  



      .. seealso:: :meth:`GetStyle`     








   .. method:: __bool__(self)



      :rtype: `int`








   .. method:: __nonzero__(self)



      :rtype: `int`








   .. method:: _copyFrom(self, other)

      For internal use only.  





   .. method:: __ne__(self)

      Inequality operator.                  

      See :ref:`Object Comparison <object comparison>`  for more info.                  


      :param `brush`: 
      :type `brush`: wx.Brush







   .. method:: __eq__(self)

      Equality operator.                  

      See :ref:`Object Comparison <object comparison>`  for more info.                  


      :param `brush`: 
      :type `brush`: wx.Brush







   .. attribute:: Colour

      See :meth:`~wx.Brush.GetColour` and :meth:`~wx.Brush.SetColour`


   .. attribute:: Stipple

      See :meth:`~wx.Brush.GetStipple` and :meth:`~wx.Brush.SetStipple`


   .. attribute:: Style

      See :meth:`~wx.Brush.GetStyle` and :meth:`~wx.Brush.SetStyle`

