3.1.1.3.2 Window Nodes
This protocol supports the creation of a specialized visual resource called window node and a special bitmap resource called GDIbitmap used to render surfaces created and rendered with related protocols. These are:
[MS-RDPEDC] for external surface creation (logical surfaces).
[MS-RDPEGDI] and [MS-RDPBCGR] for logical surface rendering.
Each window node is a special visual that can be part of the scene graph. Each visual can render two GDIBitmap resources that we label the spriteImage and the logicalSurfaceImage. The window node's spriteImage has to be rendered first, followed by the logicalSurfaceImage. The window node MAY have clips for both bitmaps. The spriteClip is used with the spriteImage and the dxClip is used with the logicalSurfaceImage. The window node also has the following other attributes:
rcWindow: Bounding rectangle for the window node.
rcContent: Bounding rectangle for the window node contents (render data from visual and bitmaps).
Source modification flags as described in section 2.2.2.21.
A MilWindowMargins attribute that specifies the margins of the window node's image that has to be drawn with per-pixel transparency. The rest of the image is drawn fully opaque.
A composed-once flag, indicating that the window node has to be marked as a composed-once visual. A visual marked for composed-once accumulates rendering instructions like a normal visual, but the instructions are executed only once at the next available composition pass, and then they are discarded. This construct is useful for emulating direct writes to the screen in a composed desktop environment.
A protected content flag indicating that the contents of this window node have to be filled with a black rectangle when rendering for the purpose of fulfilling a capture or read-back request.
Clip margins: When set, this clip is an inset from rcWindow used to clip content when rendering.