These functions disable a control surface belonging to the given widget.

PtDisableSurface()

Uses the surface argument, which points to a
PtSurface_t structure that describes the control surface.
This pointer must not be NULL.

PtDisableSurfaceById()

Searches the control surfaces belonging to the widget for the one
with an ID of surface_id.

Disabled surfaces are drawn, but they don't respond to events.
They do or don't consume events to which they're sensitive, depending on
the setting of their Pt_SURFACE_CONSUME_EVENTS flag.
If this bit is set, the surface effectively blocks events to which it's
sensitive.

The flags argument specifies additional action to take, and
may include the following values:

Pt_DAMAGE_SURFACE

Damage the surface if its state changes. This is useful if a surface
draws differently depending on its enabled/disabled state.