Developer

API Reference

ICardContainer_Invalidate()

Brew Release
Brew MP 1.0.2
See Also
- IContainer_Invalidate
- ICardContainer
- IWidget_Invalidate
- IWidget
Description
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.
Parameters
  • p
    []:
    [in] Pointer to the ICardContainer interface object that serves as the parent to the widget to invalidate.
  • pw
    []:
    [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.
  • prc
    []:
    [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 rectangle.
  • f
    []:
    [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.
Prototype
   void ICardContainer_Invalidate(ICardContainer *p, IWidget *pw, const AEERect *prc, uint32 f)
Return
None
Side Effect
None
Comment
Calling ICardContainer_Invalidate() will trigger the invalidation to travel up through the container's hierarchy, first to its parent, then to its parent, etc. so that the invalidation rectangle may be applied to each object in the chain.
Callers should set the ICIF_EXTENT flag of the 'f' parameter when calling the function following a change to the widget's extent.
  • Follow