HTML_PAINTER_INFO structure

Passes information from a rendering behavior to MSHTML regarding the behavior's needs, functionality, and how it is to be rendered.

Syntax

typedef struct _HTML_PAINTER_INFO {
  LONG lFlags;
  LONG lZOrder;
  IID  iidDrawObject;
  RECT rcExpand;
} HTML_PAINTER_INFO;

Members

  • lFlags
    Set of HTML_PAINTER flags indicating a rendering behavior's needs and functionality.

  • lZOrder
    HTML_PAINT_ZORDER enumeration value indicating the order in which the behavior is to be rendered relative to the element and document content.

  • iidDrawObject
    IID for the DirectDraw version that this behavior needs for drawing. If DirectDraw is not used for rendering (for example, GDI is used), iidDrawObject is NULL.

  • rcExpand
    RECT structure used by the rendering behavior to request an additional border around the element so that it can draw outside the element.

Remarks

MSHTML reads this structure by calling IHTMLPainter::GetPainterInfo. This occurs prior to the first call to IHTMLPainter::Draw and whenever IHTMLPaintSite::InvalidatePainterInfo is called.

The RECT rcExpand is not actually used as a rectangle for this structure. Instead, each of its members (top, bottom, left, and right) request that MSHTML allow the behavior to draw outside the element to which it is attached by the amounts given on each side. For instance, if the element is 25 pixels high and 40 pixels wide and rcExpand.top = 10, rcExpand.bottom = 30, and rcExpand.left = rcExpand.right = 20, the rectangle that the rendering behavior will have to draw in will be 65 pixels high (10 + 25 + 30) and 80 pixels wide (20 + 40 + 20). The rcExpand member enables the rendering behavior to draw outside the element; for example, to render blur effects or drop shadows. Any drawing done by the behavior in this expanded area is transparent.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows 2000 Server

Header

Mshtml.h

IDL

Mshtml.idl