3.3.5.13.1 MILCMD_RENDERDATA
The target resource for this message must be TYPE_RENDERDATA. The client must set the drawing command buffer from the message renderData field to the targeted resource. Drawing instructions are enumerated as follows:
MILCMD_DRAW_BITMAP: When the client processes a MILCMD_DRAW_BITMAP render data instruction, it MUST draw the specified hBitmap resource at its native size.
MILCMD_DRAW_GLASS: When the client processes a MILCMD_DRAW_GLASS render data instruction, it MUST execute a Gaussian blur effect of the existing render target pixels in the areas specified by the four geometry resources.
MILCMD_DRAW_MESH2D: When the client processes a MILCMD_DRAW_MESH2D render data instruction, it MUST draw the mesh geometry specified by the hMesh parameter by using hImageSource as the source texture.
MILCMD_DRAW_OCCLUSIONRECTANGLE: The client can ignore any MILCMD_DRAW_OCCLUSIONRECTANGLE render data instructions.
MILCMD_DRAW_VISUAL: When the client processes a MILCMD_DRAW_VISUAL render data instruction, it MUST draw the visual tree as specified by the hVisual parameter.
MILCMD_DRAW_RECTANGLE: When the client processes a MILCMD_DRAW_RECTANGLE render data instruction, it MUST fill the rectangle shape specified by the rectangle parameter with the hBrush specified in the command.
MILCMD_DRAW_RECTANGLE_ANIMATE: When the client processes a MILCMD_DRAW_RECTANGLE_ANIMATE render data instruction, it MUST fill the shape specified by the hRectangleAnimations resource. If hRectangleAnimations is null, then the shape MUST be specified by the rectangle parameter. The rectangle shape MUST be filled with the hBrush specified in the instruction.
MILCMD_DRAW_GEOMETRY: When the client processes a MILCMD_DRAW_GEOMETRY render data instruction, it MUST fill the current shape specified by the hGeometry parameter with the hBrush specified in the instruction.
MILCMD_DRAW_IMAGE: When the client processes a MILCMD_DRAW_IMAGE render data instruction, it MUST draw the image specified by the hImageSource parameter into the rectangle specified by the rectangle parameter.
MILCMD_DRAW_IMAGE_ANIMATE: When the client processes a MILCMD_DRAW_IMAGE_ANIMATE render data instruction, it MUST draw the image specified by the hImageSource parameter into the rectangle shape specified by the hRectangleAnimations resource. If hRectangleAnimations is null, then the shape MUST be specified by the rectangle parameter.
MILCMD_DRAW_GLYPH_RUN: When the client processes a MILCMD_DRAW_GLYPH_RUN render data instruction, it MUST draw the glyphs specified in the hGlyphRun resource with the brush specified by the hForegroundBrush parameter.
MILCMD_DRAW_SCENE3D: When the client processes a MILCMD_DRAW_SCENE3D render data instruction, it MUST draw the 3-D scene as described by the TYPE_SCENE3D hScene3D resource.
MILCMD_PUSH_CLIP: When the client processes a MILCMD_PUSH_CLIP render data instruction, it MUST ensure that all future drawing is clipped by the specified hClipGeometry resource. When the matching MILCMD_POP render data instruction is processed, the drawing MUST no longer be clipped.
MILCMD_PUSH_OPACITY: When the client processes a MILCMD_PUSH_OPACITY render data instruction, it MUST ensure that all future drawing is collected into an intermediate render target resource. When the matching MILCMD_POP render data instruction is processed, the intermediate render target must be blended with a fixed alpha value as specified by the opacity parameter
MILCMD_PUSH_OPACITY_ANIMATE: When the client processes a MILCMD_PUSH_OPACITY_ANIMATE render data instruction, it MUST ensure that all future drawing is collected into an intermediate render target resource. When the matching MILCMD_POP render data instruction is processed, the intermediate render target must be blended with a fixed alpha value as specified by the hOpacityAnimations resource. If hOpacityAnimations is null, then the opacity is specified by the opacity parameter.
MILCMD_PUSH_TRANSFORM: When the client processes a MILCMD_PUSH_TRANSFORM render data instruction, it MUST ensure that all future drawing is transformed by the hTransform resource. When the matching MILCMD_POP render data instruction is processed, the drawing MUST no longer be transformed.
MILCMD_POP: When the client processes a MILCMD_POP render data instruction, it MUST end the previous MILCMD_PUSH_CLIP, MILCMD_PUSH_OPACITY, MILCMD_PUSH_OPACITY_ANIMATE, or MILCMD_PUSH_TRANSFORM instruction. The changes to rendering that were affected by the previous push instruction MUST be undone and all state restored.