Table Of Contents

Previous topic

TextEditMixin

Next topic

RubberBand

This Page

phoenix_title rubberband

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


class_hierarchy Inheritance Diagram

Inheritance diagram for module rubberband

Inheritance diagram of rubberband


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