phoenix_title wx.lib.mixins.rubberband

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

function_summary Functions Summary

boxToExtent

Convert a box specification to an extent specification.

getCursorPosition

Return a position number in the range 0 .. 7 to indicate

isNegative

x < 0: 1

normalizeBox

Convert any negative measurements in the current

pointInBox

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

pointOnBox

Return True if the point is on the outside edge


class_summary Classes Summary

RubberBand

A stretchable border which is drawn on top of an


Functions



boxToExtent(box)

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



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



isNegative(aNumber)

x < 0: 1 else: 0



normalizeBox(box)

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



pointInBox(x, y, box)

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



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 maneuver the mouse onto a one pixel border.