2012-08-09 09:45:04 +00:00
#region Using Statements
2011-11-07 19:21:23 +00:00
using System ;
2012-01-16 15:03:28 +00:00
using System.Runtime.InteropServices ;
2011-11-07 19:21:23 +00:00
#endregion // Using Statements
2012-08-09 09:45:04 +00:00
// 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
2011-11-07 19:21:23 +00:00
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 ( ) ;
}
2012-01-16 15:03:28 +00:00
protected override void Dispose ( [ MarshalAs ( UnmanagedType . U1 ) ] bool disposeManaged )
2011-11-07 19:21:23 +00:00
{
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 ( ) ;
}
}
}
}