# Filter (filter)

Overlays its child with reactivity.

Cursor
  (Text)
  Names the cursor that will be displayed when the mouse is over the child. The default is cursor is defined by the Trestle implementation.
  Reactivity choices (mutually exclusive):
Active
  (Boolean, `TRUE`)
  When true, mouse and keyboard events are relayed to child. This is the normal case.
Passive
  (Boolean, `FALSE`)
  When true, doesn't allow mouse or keyboard events to go to the child; in addition, the cursor is changed to `Cursor.NotReady`, a watch-face.
Dormant
  (Boolean, `FALSE`)
  When true, doesn't send mouse or keyboard events to the child; it also draws a grey screen over the child.
Vanish
  (Boolean, `FALSE`)
  When true, doesn't send mouse or keyboard events to the child; in addition, it draws over the child in the background color thereby making it invisible.

Shape
  The shape of its child.
Notes
  Of the four state properties, exactly one can be in effect at any instant. If more than one is specified, they are considered in the order `Vanish`, `Dormant`, `Passive`, and `Active` to find the first one that is true. If all are false (including `Active`, which defaults to true), an error is raised. To test the reactivity of a Filter, you can call one of the following procedures in the FormsVBT interface: `IsActive`, `IsPassive`, `IsDormant`, or `IsVanished`. To change the reactivity or the cursor, call `MakeActive`, `MakePassive`, `MakeDormant`, or `MakeVanish`. FormsVBT provides a mechanism for accessing the nearest Filter component above a named interactor. Thus, Filter interactors are typically left unnamed, and some named descendant is used to reference the Filter from the application program. As mentioned, the default is cursor is defined by the Trestle implementation. Standard X screentypes support the cursors named in X Window System by Scheifler et. al. [XWindowSystem] Appendix B. Therefore, for example, `XC_arrow` returns a cursor that behaves like the X arrow cursor on X screentypes, and like the default cursor on screentypes that have no cursor named `XC_arrow`. *)