PtWidgetClassFlags()

Retrieve a widget's class structure flags

Synopsis:

unsigned long PtWidgetClassFlags( 
                  PtWidget_t *widget );

Library:

ph

Description:

This macro retrieves widget's class structure flags:

Pt_CLEAN_RESOURCES (set, cleared, and used internally)
Indicates that all resources in a widget class's resource list are in a single range. This is used as an optimization allowing a widget's resources to be indexed as an array.
Pt_CONTAINER
The widget class is a container.
Pt_DISJOINT (e.g. PtWindow, PtMenu, PtRegion)
Indicates that widgets of this class own regions that aren't children of the regions of their widget parents. Any clipping set by the parent of a disjoint widget won't be applied to the disjoint widget. The regions of disjoint widgets are sensitive and opaque to expose events.
Pt_FORCE_UNREALIZE (set automatically when required)
The class Unrealization function (unrealize_f()) for this class and its superclasses will be called when this widget is unrealized.
Pt_INDEX_RESOURCES (set, cleared, and used internally)
Indicates the resources are clean and continuously sequential—the resources may be indexed instead of traversed.
Pt_NO_INHERITED_RESOURCES
Prevents the search for a resource from walking up through superclasses. Only the resources for this class are handled; all others are ignored. This doesn't prevent resources from being propagated to procreated widgets.

This is handy for allowing common resources such as Pt_ARG_COLOR to pass to procreated children without having to write a resource-redirection function.

Pt_OCCLUSIVE
Drawing routines skip all children of a widget derived from an occlusive class.
Pt_RECTANGULAR
Rectangular widgets are opaque when filled. Opaque widgets don't damage widgets below them when they are modified (unless their size or position is modified).
Pt_UNCLEAN_RESOURCES
Prevents the resources of a widget class from being indexed. This is necessary if the widget class only defines resources to override a superclass (i.e. the widget class doesn't define any new resources).

Classification:

Photon

Safety:
Interrupt handler No
Signal handler No
Thread No

See also:

PtWidgetClass(), PtWidgetFlags()