Developer

API Reference

IConstraintContainer_Invalidate()

Brew Release
Brew MP 1.0.2
See Also
IConstraintContainer Interface IWidget Interface IContainer_Invalidate() IWidget_Invalidate()
Description
This function will invalidate all or part of a widget within a constraint container. The application identifies the container and widget, and may also specify a rectangle within that widget in order to invalidate a portion of the widget. By default, the entire extent of the widget will be invalidated.
Parameters
  • pif
    []:
    Pointer to the IConstraintContainer interface object that serves as the parent to the widget to invalidate.
  • pw
    []:
    Pointer to the IWidget object to be invalidated, or a constant that implies a particular widget within the constraint container. The constants used to identify a relative position for the widget to be invalidated, are defined as follows. WIDGET_ZTOPMOST - Requests that the widget at the top of the container's widget stack should be invalidated. WIDGET_ZBOTTOMMOST - Requests that the widget at the bottom of the container's widget stack should be invalidated. WIDGET_ZNORMAL - Requests that the widget placed at the container's most normal layout location be invalidated. The constraint container treats the WIDGET_ZTOPMOST position as the "normal" location.
  • prcInWidget
    []:
    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.
  • dwInvalFlags
    []:
    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 IConstraintContainer_Invalidate(IConstraintContainer* pif, IWidget* pw, const AEERect* prcInWidget, uint32 dwInvalFlags)
Return
None
Side Effect
Calling IConstraintContainer_Invalidate() with the ICIF_EXTENT flag on will cause the layout of the objects within the constraint container to change, using the widget's new extent.
Comment
Calling IConstraintContainer_Invalidate() will trigger the invalidation to travel up through 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