Developer

API Reference

IRootContainer_Invalidate()

Brew Release
Brew MP 1.0.2
See Also
- IRootContainer
- IWidget
- IContainer_Invalidate
- IWidget_Invalidate
Description
This function will invalidate all or part of a widget within a root 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 IRootContainer interface object that serves as the parent to the widget to invalidate.
  • pw
    []:
    Pointer to the IWidget object to be invalidated or NULL if the entire extent of the root container is to be the target for invalidation. When 'pw' is supplied, the widget to be invalidated may be passed either explicitly as a pointer to an IWidget, or implicitly as a constant that identifies a particular widget within the root 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 root 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 widget specified in 'pw'. 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 IRootContainer_Invalidate(IRootContainer *pif, IWidget *pw, const AEERect *prcInWidget, uint32 dwInvalFlags);
Return
None
Side Effect
None
Comment
Callers should set the ICIF_EXTENT flag of the 'dwInvalFlags' parameter when calling the function following a change to the 'pw' widget's extent.
Root Container will not schedule a draw when the ICIF_DEFER flag is present.
  • Follow