Developer

API Reference

IXYContainer_Invalidate()

Brew Release
Brew MP 1.0.2
See Also
- IXYContainer Interface
- IWidget Interface
- IContainer_Invalidate()
- IWidget_Invalidate()
Description
This function will invalidate all or part of a widget within an XY 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 IXYContainer 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 XY 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 XY container treats the WIDGET_ZTOPMOST position as the "normal" location.
  • prc
    []:
    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
    []:
    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.
Interface
Prototype
   void IXYContainer_Invalidate(IXYContainer *pif, IWidget *pw, const AEERect *prc, uint32 f);
Return
None
Side Effect
None
Comment
Calling IXYContainer_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