Sometimes a selectable object contains several distinct lines or shapes, perhaps with empty space between. When users select the object to invoke a response, they might select one of these lines or shapes or the space between them.
An object can be selected anywhere in its senseport. The senseport is the smallest rectangular portion of the screen that completely encloses the displayed portion of a selectable object, and all of its children. For example, the selectable object below is the circle:
The shaded area is its senseport. Selecting anywhere within the shaded area (either inside or outside the boundaries of the circle) triggers a response to the object, Circle. The senseport is not actually displayed; it is simply the smallest rectangular area encompassing each object and its children.
Suppose the following is drawn:
The senseport for this key is the smallest rectangle that completely encloses the entire image:
If the object is enabled and a response has been defined for this object, then selecting anywhere within the shaded area, even in an area not occupied by any graphics, triggers a response.
Perhaps only a portion of a selectable object is visible on the display screen. Suppose the visible display is the following:
In this case, the senseport is the shaded area shown below:
You can change the selectability of objects during runtime using the enable and disable action statements (see Responses and Blocks, Object Action Statements, and Classes). For example, you might enable keys only when it is meaningful for the user to select these keys.