.. 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

.. module:: wx.lib.mixins.rubberband

.. currentmodule:: wx.lib.mixins.rubberband

.. highlight:: python



.. _wx.lib.mixins.rubberband:

==========================================================================================================================================
|phoenix_title|  **wx.lib.mixins.rubberband**
==========================================================================================================================================

A mixin class for doing "RubberBand"-ing on a window.


|function_summary| Functions Summary
====================================

================================================================================ ================================================================================
:func:`~wx.lib.mixins.rubberband.boxToExtent`                                    Convert a box specification to an extent specification.
:func:`~wx.lib.mixins.rubberband.getCursorPosition`                              Return a position number in the range 0 .. 7 to indicate
:func:`~wx.lib.mixins.rubberband.isNegative`                                     x < 0:   1
:func:`~wx.lib.mixins.rubberband.normalizeBox`                                   Convert any negative measurements in the current
:func:`~wx.lib.mixins.rubberband.pointInBox`                                     Return ``True`` if the given point is contained in the box.
:func:`~wx.lib.mixins.rubberband.pointOnBox`                                     Return ``True`` if the point is on the outside edge
================================================================================ ================================================================================


|


|class_summary| Classes Summary
===============================

================================================================================ ================================================================================
:ref:`~wx.lib.mixins.rubberband.RubberBand`                                      A stretchable border which is drawn on top of an
================================================================================ ================================================================================


|


.. toctree::
   :maxdepth: 1
   :hidden:

   wx.lib.mixins.rubberband.RubberBand





Functions
------------

.. function:: boxToExtent(box)

   Convert a box specification to an extent specification.
   I put this into a seperate function after I realized that
   I had been implementing it wrong in several places.


.. function:: getCursorPosition(x, y, box, thickness=1)

   Return a position number in the range 0 .. 7 to indicate
   where on the box border the point is.  The layout is:
   
             0    1    2
             7         3
             6    5    4


.. function:: isNegative(aNumber)

   x < 0:   1
   else:    0


.. function:: normalizeBox(box)

   Convert any negative measurements in the current
   box to positive, and adjust the origin.


.. function:: pointInBox(x, y, box)

   Return ``True`` if the given point is contained in the box.


.. function:: pointOnBox(x, y, box, thickness=1)

   Return ``True`` if the point is on the outside edge
   of the box.  The thickness defines how thick the
   edge should be.  This is necessary for HCI reasons:
   For example, it's normally very difficult for a user
   to manuever the mouse onto a one pixel border.


