.. wxPython Phoenix documentation

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

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

.. include:: headings.inc



.. _wx.ImageList:

==========================================================================================================================================
|phoenix_title|  **wx.ImageList**
==========================================================================================================================================

A :ref:`wx.ImageList`  contains a list of images, which are stored in an unspecified form.          

Images can use alpha channel or masks for transparent drawing, and can be made from a variety of sources including bitmaps and icons. 

:ref:`wx.ImageList`  is used principally in conjunction with :ref:`wx.TreeCtrl`  and :ref:`wx.ListCtrl`  classes. 

Use of this class is not recommended in the new code as it doesn't support showing DPI-dependent bitmaps. Please use :meth:`wx.WithImages.SetImages`   instead of :meth:`wx.WithImages.SetImageList` . 





         



.. seealso:: :ref:`wx.TreeCtrl`, :ref:`wx.ListCtrl`    







|

|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>ImageList</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.ImageList_inheritance.png" alt="Inheritance diagram of ImageList" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.ImageList.html" title="wx.ImageList" alt="" coords="5,83,115,112"/> <area shape="rect" id="node2" href="wx.Object.html" title="wx.Object" alt="" coords="17,5,103,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.ImageList.__init__`                                                   Default constructor.
:meth:`~wx.ImageList.Add`                                                        Adds a new image or images using a bitmap and optional mask bitmap.
:meth:`~wx.ImageList.Create`                                                     Initializes the list.
:meth:`~wx.ImageList.Destroy`                                                    Destroys the current list.
:meth:`~wx.ImageList.Draw`                                                       Draws a specified image onto a device context.
:meth:`~wx.ImageList.GetBitmap`                                                  Returns the bitmap corresponding to the given index.
:meth:`~wx.ImageList.GetIcon`                                                    Returns the icon corresponding to the given index.
:meth:`~wx.ImageList.GetImageCount`                                              Returns the number of images in the list.
:meth:`~wx.ImageList.GetSize`                                                    Retrieves the size of the images in the list.
:meth:`~wx.ImageList.Remove`                                                     Removes the image at the given position.
:meth:`~wx.ImageList.RemoveAll`                                                  Removes all the images in the list.
:meth:`~wx.ImageList.Replace`                                                    Replaces the existing image with the new image.
================================================================================ ================================================================================


|


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

================================================================================ ================================================================================
:attr:`~wx.ImageList.ImageCount`                                                 See :meth:`~wx.ImageList.GetImageCount`
:attr:`~wx.ImageList.Size`                                                       See :meth:`~wx.ImageList.GetSize`
================================================================================ ================================================================================


|


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


.. class:: wx.ImageList(Object)

   **Possible constructors**::

       ImageList()
       
       ImageList(width, height, mask=True, initialCount=1)
       
   
   A ImageList contains a list of images, which are stored in an
   unspecified form.



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



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self)`
      
      Default constructor.                   
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, width, height, mask=True, initialCount=1)`
      
      Constructor specifying the image size, whether image masks should be created, and the initial size of the list.                  
      
      Note that the size is specified in logical pixels. 
      
      
      
      
      :param `width`: Width of the images in the list.   
      :type `width`: int
      :param `height`: Height of the images in the list.   
      :type `height`: int
      :param `mask`: If ``True``, all images will have masks, with the mask being created from the light grey pixels if not specified otherwise, i.e. if the image doesn't have neither alpha channel nor mask and no mask is explicitly specified when adding it. Note that if an image does have alpha channel or mask, it will always be used, whether this parameter is ``True`` or ``False``.   
      :type `mask`: bool
      :param `initialCount`: The initial size of the list.  
      :type `initialCount`: int
      
      
      
      
      
      
      
      
      
      
                        
      
      
      
      .. seealso:: :meth:`Create`     
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






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



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **Add** `(self, bitmap, mask=NullBitmap)`
      
      Adds a new image or images using a bitmap and optional mask bitmap.                  
      
      The logical size of the bitmap should be the same as the size specified when constructing :ref:`wx.ImageList`. If the logical width of the bitmap is greater than the image list width, bitmap is split into smaller images of the required width. 
      
      
      
      
      :param `bitmap`: Bitmap representing the opaque areas of the image.   
      :type `bitmap`: wx.Bitmap
      :param `mask`: Monochrome mask bitmap, representing the transparent areas of the image.  
      :type `mask`: wx.Bitmap
      
      
      
      
      
      
      
      
      :rtype: `int`
      
      
      
                        
      
      
      
      :returns: 
      
         The new zero-based image index.   
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **Add** `(self, bitmap, maskColour)`
      
      Adds a new image or images using a bitmap and mask colour.                  
      
      The logical size of the bitmap should be the same as the size specified when constructing :ref:`wx.ImageList`. If the logical width of the bitmap is greater than the image list width, bitmap is split into smaller images of the required width. 
      
      
      
      
      :param `bitmap`: Bitmap representing the opaque areas of the image.   
      :type `bitmap`: wx.Bitmap
      :param `maskColour`: Colour indicating which parts of the image are transparent.  
      :type `maskColour`: wx.Colour
      
      
      
      
      
      
      
      
      :rtype: `int`
      
      
      
                        
      
      
      
      :returns: 
      
         The new zero-based image index.   
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **Add** `(self, icon)`
      
      Adds a new image using an icon.                  
      
      The logical size of the icon should be the same as the size specified when constructing :ref:`wx.ImageList`. 
      
      
      
      
      :param `icon`: Icon to use as the image.  
      :type `icon`: wx.Icon
      
      
      
      
      
      
      :rtype: `int`
      
      
      
      
      
      
      
      
      :returns: 
      
         The new zero-based image index.  
      
      
      
      
      
      
      
      .. availability:: Only available for MSW, OSX.  
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, width, height, mask=True, initialCount=1)

      Initializes the list.                  

      See :ref:`wx.ImageList`  for details. 

      This function can be called only once after creating the object using its default constructor or after calling :meth:`Destroy` .                  


      :param `width`: 
      :type `width`: int
      :param `height`: 
      :type `height`: int
      :param `mask`: 
      :type `mask`: bool
      :param `initialCount`: 
      :type `initialCount`: int




      :rtype: `bool`








   .. method:: Destroy(self)

      Destroys the current list.                  

      This function resets the object to its initial state and does more than just :meth:`RemoveAll`   in the native wxMSW version. 

      After calling it, :meth:`Create`   may be called again to recreate the image list, e.g. using a different size. 

                 



      .. versionadded:: 4.1/wxWidgets-3.1.6  
     








   .. method:: Draw(self, index, dc, x, y, flags=IMAGELIST_DRAW_NORMAL, solidBackground=False)

      Draws a specified image onto a device context.                  




      :param `index`: Image index, starting from zero.   
      :type `index`: int
      :param `dc`: Device context to draw on.   
      :type `dc`: wx.DC
      :param `x`: X position on the device context.   
      :type `x`: int
      :param `y`: Y position on the device context.   
      :type `y`: int
      :param `flags`: How to draw the image. A bitlist of a selection of the following:

       - ``wx.IMAGELIST_DRAW_NORMAL``: Draw the image normally. 
       - ``wx.IMAGELIST_DRAW_TRANSPARENT``: Draw the image with transparency. 
       - ``wx.IMAGELIST_DRAW_SELECTED``: Draw the image in selected state. 
       - ``wx.IMAGELIST_DRAW_FOCUSED``: Draw the image in a focused state.  

 

      :type `flags`: int
      :param `solidBackground`: For optimisation - drawing can be faster if the function is told that the background is solid.   
      :type `solidBackground`: bool
















      :rtype: `bool`



                  





   .. method:: GetBitmap(self, index)

      Returns the bitmap corresponding to the given index.                  


      :param `index`: 
      :type `index`: int




      :rtype: :ref:`wx.Bitmap`








   .. method:: GetIcon(self, index)

      Returns the icon corresponding to the given index.                  


      :param `index`: 
      :type `index`: int




      :rtype: :ref:`wx.Icon`








   .. method:: GetImageCount(self)

      Returns the number of images in the list.                  

      :rtype: `int`








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



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **GetSize** `(self, index)`
      
      Retrieves the size of the images in the list.                  
      
      Currently, the `index`  parameter is ignored as all images in the list have the same size. 
      
      
      
      
      :param `index`: currently unused, should be 0   
      :type `index`: int
      
      
      
      
      
      
      
      
      
      
      :rtype: `tuple`
      
      
      
                        
      
      
      
      :returns: 
      
         ( `width`, `height` ) 
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **GetSize** `(self)`
      
      Retrieves the size of the image list as passed to :meth:`Create` .                  
      
                      
      
      :rtype: :ref:`wx.Size`
      
      
      
      
      
      
      
      :returns: 
      
         the size of the image list, which may be zero if the image list was not yet initialised.   
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Remove(self, index)

      Removes the image at the given position.                  


      :param `index`: 
      :type `index`: int




      :rtype: `bool`








   .. method:: RemoveAll(self)

      Removes all the images in the list.                  

      :rtype: `bool`








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



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **Replace** `(self, index, bitmap, mask=NullBitmap)`
      
      Replaces the existing image with the new image.                  
      
      
      
      
      :param `index`: The index of the bitmap to be replaced.   
      :type `index`: int
      :param `bitmap`: Bitmap representing the opaque areas of the image.   
      :type `bitmap`: wx.Bitmap
      :param `mask`: Monochrome mask bitmap, representing the transparent areas of the image.  
      :type `mask`: wx.Bitmap
      
      
      
      
      
      
      
      
      
      
      :rtype: `bool`
      
      
      
                        
      
      
      
      :returns: 
      
         ``True`` if the replacement was successful, ``False`` otherwise.  
      
      
      
      
      
      
      
      .. note:: 
      
         The original bitmap or icon is not affected by the :meth:`Replace`   operation, and can be deleted afterwards.   
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **Replace** `(self, index, icon)`
      
      Replaces the existing image with the new image.                  
      
      
      
      
      :param `index`: The index of the bitmap to be replaced.   
      :type `index`: int
      :param `icon`: Icon to use as the image.  
      :type `icon`: wx.Icon
      
      
      
      
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      
      :returns: 
      
         ``True`` if the replacement was successful, ``False`` otherwise.  
      
      
      
      
      
      
      
      .. note:: 
      
         The original bitmap or icon is not affected by the :meth:`Replace`   operation, and can be deleted afterwards.  
      
      
      
      
      
      
      
      .. availability:: Only available for MSW, OSX.  
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. attribute:: ImageCount

      See :meth:`~wx.ImageList.GetImageCount`


   .. attribute:: Size

      See :meth:`~wx.ImageList.GetSize`

