Example #1
0
		/// <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();
			}
		}
Example #2
0
		/// <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();
		}