/// <summary> /// Paint this node and all of its descendents. /// </summary> /// <param name="paintContext">The paint context to use for painting this node.</param> /// <remarks> /// <b>Notes to Inheritors:</b> Most subclasses do not need to override this method, /// they should override <c>paint</c> or <c>paintAfterChildren</c> instead. /// </remarks> public virtual void FullPaint(PPaintContext paintContext) { if (Visible && FullIntersects(paintContext.LocalClip)) { paintContext.PushMatrix(matrix); //paintContext.PushTransparency(transparency); if (!Occluded) { Paint(paintContext); } int count = ChildrenCount; for (int i = 0; i < count; i++) { children[i].FullPaint(paintContext); } PaintAfterChildren(paintContext); //paintContext.popTransparency(transparency); paintContext.PopMatrix(); } }
/// <summary> /// Paint the camera's view through the view transform. /// </summary> /// <param name="paintContext">The paint context to use for painting this camera.</param> protected virtual void PaintTransformedView(PPaintContext paintContext) { paintContext.PushClip(new Region(Bounds)); paintContext.PushMatrix(viewMatrix); PaintCameraView(paintContext); PaintDebugInfo(paintContext); paintContext.PopMatrix(); paintContext.PopClip(); }