Brew MP 1.0.2
This function will invalidate all or part of a widget within a card container -- but only
if the specified widget is visible. For a card container, only the topmost visible widget
may be invalidated, since every widget managed by the card container is considered a "card",
stacked one atop another). Attempting to invalidate a widget that is beneath the topmost
visible widget will yield no change to the invalidation region of the display. By default,
ICardContainer_Invalidate() will invalidate the entire extent of the widget. However, if the
caller wishes to invalidate only a portion of this widget (for example, a widget that displays
many visual attributes, any of which could change independent of the others), a specific
rectangle may be identified to limit the invalidation region within the widget.
[in] Pointer to the ICardContainer interface object that serves as the parent to the widget
[in] Pointer to the IWidget object to be invalidated. Invalidating any widget beside the
topmost visible widget within the card container will have no effect.
[in] Pointer to the rectangle that defines the area to be invalidated. This rectangle is
expressed relative to the coordinates of the specified widget. When this parameter
is NULL, the interface will use the full extent of the 'pw' widget as the invalidation
[in] A set of flags that control the calculation of the invalidation rectangle.
The defined validation flags are -
ICIF_EXTENT - When this flag is ON, it is an indication that the widget has
changed its extent.
ICIF_REDRAW - When this flag is ON, it is an indication that the widget has
changed its contents, but its preferred extent is still the same.
The widget simply wants to be redrawn.
ICIF_DEFER - When this flag is ON, it indicates that the widget's layout is
disabled, but it is still passing an invalidate up to
notify its ancestors that an invalidate occurred but no action
was taken as layout was disabled. When RootContainer receives
an invalidate with the ICIF_DEFER flag appended, it will not cause
a draw to be scheduled.