#region Using Statements using System; using System.Runtime.InteropServices; #endregion // Using Statements // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license namespace ANX.Framework.Graphics { public class OcclusionQuery : GraphicsResource, IGraphicsResource { private bool hasBegun; private bool completeCallPending; public OcclusionQuery(GraphicsDevice graphicsDevice) : base(graphicsDevice) { throw new NotImplementedException(); } public void Begin() { if (this.hasBegun) { throw new InvalidOperationException("Begin cannot be called again until End is called."); } if (this.completeCallPending) { throw new InvalidOperationException("Begin may not be called on this query object again before IsComplete is checked."); } this.hasBegun = true; this.completeCallPending = true; throw new NotImplementedException(); } public void End() { if (!this.hasBegun) { throw new InvalidOperationException("Begin must be called before End can be called."); } throw new NotImplementedException(); } public override void Dispose() { throw new NotImplementedException(); } protected override void Dispose([MarshalAs(UnmanagedType.U1)] bool disposeManaged) { throw new NotImplementedException(); } public bool IsComplete { get { this.completeCallPending = false; throw new NotImplementedException(); } } public int PixelCount { get { if (this.completeCallPending) { throw new InvalidOperationException("The status of the query data is unknown. Use the IsComplete property to determine if the data is available before attempting to retrieve it."); } throw new NotImplementedException(); } } } }