Author: rloach
Date: 2007-01-14 09:59:47 -0500 (Sun, 14 Jan 2007)
New Revision: 70984

Added:
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs
Removed:
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs
Modified:
   trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs
   
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs
   
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs
   
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs
   trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs
Log:
More stubbing, removed some deprecated classes, updated GameComponent.

Deleted: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs      
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DDspSettings.cs      
2007-01-14 14:59:47 UTC (rev 70984)
@@ -1,195 +0,0 @@
-#region License
-/*
-MIT License
-Copyright � 2006 The Mono.Xna Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-using System;
-
-namespace Microsoft.Xna.Framework.Audio
-{
-    
-    public class Audio3DDspSettings : IDisposable
-    {
-
-        public Audio3DDspSettings()
-        {
-            throw new NotImplementedException();
-        }
-
-
-        public int DestinationChannelCount
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float DopplerFactor
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float EmitterToListenerAngle
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float EmitterToListenerDistance
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float EmitterVelocityComponent
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float ListenerVelocityComponent
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float LpfDirectCoefficient
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float LpfReverbCoefficient
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public float ReverbLevel
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-        public int SourceChannelCount
-        {
-            get
-            {
-                throw new NotImplementedException();
-            }
-            set
-            {
-                throw new NotImplementedException();
-            }
-        }
-
-
-        public  void Dispose()
-        {
-            throw new NotImplementedException();
-        }
-
-        protected virtual void Dispose(bool __p1)
-        {
-            throw new NotImplementedException();
-        }
-
-        public float[] GetDelayTimes()
-        {
-            throw new NotImplementedException();
-        }
-
-        public float[] GetMatrixCoefficients()
-        {
-            throw new NotImplementedException();
-        }
-
-        public void SetDelayTimes(float[] delayTimes)
-        {
-            throw new NotImplementedException();
-        }
-
-        public void SetMatrixCoefficients(float[] matrixCoefficients)
-        {
-            throw new NotImplementedException();
-        }
-
- 
-    }
-}

Deleted: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs  
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DEmitter.cs  
2007-01-14 14:59:47 UTC (rev 70984)
@@ -1,65 +0,0 @@
-#region License
-/*
-MIT License
-Copyright � 2006 The Mono.Xna Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-using Microsoft.Xna.Framework;
-using System;
-
-namespace Microsoft.Xna.Framework.Audio
-{
-
-    [Serializable]
-    public struct Audio3DEmitter
-    {
-
-
-        public static bool operator !=(Audio3DEmitter left, Audio3DEmitter 
right) { throw new NotImplementedException(); }
-
-        public static bool operator ==(Audio3DEmitter left, Audio3DEmitter 
right) { throw new NotImplementedException(); }
-
-
-        public int ChannelCount { get { throw new NotImplementedException(); } 
set { throw new NotImplementedException(); } }
-
-        public float ChannelRadius { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
-
-        public float DopplerScaler { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
-
-        public Vector3 Forward { get { throw new NotImplementedException(); } 
set { throw new NotImplementedException(); } }
-
-        public Vector3 Position { get { throw new NotImplementedException(); } 
set { throw new NotImplementedException(); } }
-
-        public Vector3 Up { get { throw new NotImplementedException(); } set { 
throw new NotImplementedException(); } }
-
-        public Vector3 Velocity { get { throw new NotImplementedException(); } 
set { throw new NotImplementedException(); } }
-
-
-        public override bool Equals(object obj) { throw new 
NotImplementedException(); }
-
-        public override int GetHashCode() { throw new 
NotImplementedException(); }
-
-        public override string ToString() { throw new 
NotImplementedException(); }
-    }
-}

Deleted: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs 
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Audio3DListener.cs 
2007-01-14 14:59:47 UTC (rev 70984)
@@ -1,59 +0,0 @@
-#region License
-/*
-MIT License
-Copyright � 2006 The Mono.Xna Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-using Microsoft.Xna.Framework;
-using System;
-
-namespace Microsoft.Xna.Framework.Audio
-{
-    
-    [Serializable]
-    public struct Audio3DListener
-    {
-
-        
-        public static bool operator !=(Audio3DListener left, Audio3DListener 
right){ throw new NotImplementedException(); }
-        
-        public static bool operator ==(Audio3DListener left, Audio3DListener 
right){ throw new NotImplementedException(); }
-
-        
-        public Vector3 Forward { get{ throw new NotImplementedException(); } 
set{ throw new NotImplementedException(); } }
-        
-        public Vector3 Position { get{ throw new NotImplementedException(); } 
set{ throw new NotImplementedException(); } }
-        
-        public Vector3 Up { get{ throw new NotImplementedException(); } set{ 
throw new NotImplementedException(); } }
-        
-        public Vector3 Velocity { get{ throw new NotImplementedException(); } 
set{ throw new NotImplementedException(); } }
-
-        
-        public override bool Equals(object obj){ throw new 
NotImplementedException(); }
-        
-        public override  int GetHashCode(){ throw new 
NotImplementedException(); }
-        
-        public override  string ToString(){ throw new 
NotImplementedException(); }
-    }
-}

Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs   2007-01-14 
14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Audio/Enums.cs   2007-01-14 
14:59:47 UTC (rev 70984)
@@ -4,18 +4,6 @@
 
 namespace Microsoft.Xna.Framework.Audio
 {
-    public enum AudioSpeakers
-    {
-        Left = 1,
-        Right = 2,
-        Stereo = 3,
-        Center = 4,
-        LowFrequencyEffect = 8,
-        LeftSurround = 16,
-        RightSurround = 32,
-        Surround5Dot1 = 63,
-    }
-
     public enum AudioStopOptions
     {
         AsAuthored = 0,

Modified: 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs
===================================================================
--- 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs
    2007-01-14 14:46:33 UTC (rev 70983)
+++ 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerAttribute.cs
    2007-01-14 14:59:47 UTC (rev 70984)
@@ -29,6 +29,7 @@
 
 namespace Microsoft.Xna.Framework.Content
 {
+    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
     public sealed class ContentSerializerAttribute : Attribute
     {
 

Modified: 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs
===================================================================
--- 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs
  2007-01-14 14:46:33 UTC (rev 70983)
+++ 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerCollectionItemNameAttribute.cs
  2007-01-14 14:59:47 UTC (rev 70984)
@@ -29,6 +29,7 @@
 
 namespace Microsoft.Xna.Framework.Content
 {
+    [AttributeUsage(AttributeTargets.Class)]
     public sealed class ContentSerializerCollectionItemNameAttribute : 
Attribute
     {
 

Modified: 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs
===================================================================
--- 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs
      2007-01-14 14:46:33 UTC (rev 70983)
+++ 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Content/ContentSerializerIgnoreAttribute.cs
      2007-01-14 14:59:47 UTC (rev 70984)
@@ -30,7 +30,7 @@
 
 namespace Microsoft.Xna.Framework.Content
 {
-
+    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
     public sealed class ContentSerializerIgnoreAttribute : Attribute
     {
 

Added: 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs
===================================================================
--- 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs    
    2007-01-14 14:46:33 UTC (rev 70983)
+++ 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicDirectionalLight.cs    
    2007-01-14 14:59:47 UTC (rev 70984)
@@ -0,0 +1,62 @@
+#region License
+/*
+MIT License
+Copyright � 2006 The Mono.Xna Team
+http://www.taoframework.com
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+#endregion License
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Microsoft.Xna.Framework.Graphics
+{
+    /// <summary>
+    /// Provides methods for manipulating the directional lights used by the 
BasicEffect class.
+    /// </summary>
+    public sealed class BasicDirectionalLight
+    {
+        /// <summary>
+        /// Gets or sets the diffuse color of this light.
+        /// </summary>
+        /// <returns>The diffuse color of this light.</returns>
+        public Vector3 DiffuseColor { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        /// <summary>
+        /// Gets or sets light direciton.
+        /// </summary>
+        /// <returns>Gets or sets the light direciton. This value must be a 
unit vector.</returns>
+        public Vector3 Direction { get { throw new NotImplementedException(); 
} set { throw new NotImplementedException(); } }
+
+        /// <summary>Enables this light.</summary>
+        /// <returns>true to enable this light; false otherwise.
+        /// </returns>
+        public bool Enabled { get { throw new NotImplementedException(); } set 
{ throw new NotImplementedException(); } }
+
+        /// <summary>
+        /// Gets or sets the specular color of the light.
+        /// </summary>
+        /// <returns>The specular color of the light.</returns>
+        public Vector3 SpecularColor { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+    }
+}
\ No newline at end of file

Added: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs  
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/BasicEffect.cs  
2007-01-14 14:59:47 UTC (rev 70984)
@@ -0,0 +1,102 @@
+#region License
+/*
+MIT License
+Copyright � 2006 The Mono.Xna Team
+http://www.taoframework.com
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+#endregion License
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Microsoft.Xna.Framework.Graphics
+{
+    /// <summary>
+    /// Represents shader model 1.1 Effect that has optional support for 
vertex colors, texturing, and lighting.
+    /// </summary>
+    public class BasicEffect : Effect
+    {
+        protected BasicEffect(GraphicsDevice device, BasicEffect clone)
+            : base(device, clone)
+        {
+            throw new NotImplementedException();
+        }
+
+        public BasicEffect(GraphicsDevice device, EffectPool effectPool)
+            : base(device, new byte[]{0}, CompilerOptions.None, effectPool)
+
+        {
+            throw new NotImplementedException();
+        }
+
+        public override Effect Clone(GraphicsDevice device)
+        {
+            throw new NotImplementedException();
+        }
+
+        public void EnableDefaultLighting()
+        {
+            throw new NotImplementedException();
+        }
+
+        public float Alpha { get { throw new NotImplementedException(); } set 
{ throw new NotImplementedException(); } }
+
+        public Vector3 AmbientLightColor { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public Vector3 DiffuseColor { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public BasicDirectionalLight DirectionalLight0 { get { throw new 
NotImplementedException(); } }
+
+        public BasicDirectionalLight DirectionalLight1 { get { throw new 
NotImplementedException(); } }
+
+        public BasicDirectionalLight DirectionalLight2 { get { throw new 
NotImplementedException(); } }
+
+        public Vector3 EmissiveColor { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public Vector3 FogColor { get { throw new NotImplementedException(); } 
set { throw new NotImplementedException(); } }
+
+        public bool FogEnabled { get { throw new NotImplementedException(); } 
set { throw new NotImplementedException(); } }
+
+        public float FogEnd { get { throw new NotImplementedException(); } set 
{ throw new NotImplementedException(); } }
+
+        public float FogStart { get { throw new NotImplementedException(); } 
set { throw new NotImplementedException(); } }
+
+        public bool LightingEnabled { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public Matrix Projection { get { throw new NotImplementedException(); 
} set { throw new NotImplementedException(); } }
+
+        public Vector3 SpecularColor { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public float SpecularPower { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public Texture2D Texture { get { throw new NotImplementedException(); 
} set { throw new NotImplementedException(); } }
+
+        public bool TextureEnabled { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public bool VertexColorEnabled { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public Matrix View { get { throw new NotImplementedException(); } set 
{ throw new NotImplementedException(); } }
+
+        public Matrix World { get { throw new NotImplementedException(); } set 
{ throw new NotImplementedException(); } }
+    }
+}

Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs      
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameter.cs      
2007-01-14 14:59:47 UTC (rev 70984)
@@ -31,9 +31,6 @@
 
 namespace Microsoft.Xna.Framework.Graphics
 {
-    // TODO: Remove this when Texture3D is actually stubbed!
-    public class Texture3D { }
-
     public enum EffectParameterType
     {
         Void = 0,

Added: 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs 
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/EffectParameterBlock.cs 
2007-01-14 14:59:47 UTC (rev 70984)
@@ -0,0 +1,86 @@
+#region License
+/*
+MIT License
+Copyright � 2006 The Mono.Xna Team
+http://www.taoframework.com
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+#endregion License
+
+using System;
+
+namespace Microsoft.Xna.Framework.Graphics
+{
+    /// <summary>
+    /// Represents an EffectParameter state block.
+    /// </summary>
+    public class EffectParameterBlock : IDisposable
+    {
+        /// <summary>
+        /// Initializes a new instance of the EffectParameterBlock class.
+        /// </summary>
+        /// <param name="parent">The Effect used to generate the 
EffectParameterBlock.</param>
+        public EffectParameterBlock(Effect parent)
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        /// Applies the parameter changes in the EffectParameterBlock to the 
current effect state.
+        /// </summary>
+        public void Apply()
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        /// Begins capturing parameter state changes from the parent Effect.
+        /// </summary>
+        public void Begin()
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        /// Immediately releases the unmanaged resources used by this object.
+        /// </summary>
+        public void Dispose()
+        {
+            throw new NotImplementedException();
+        }
+        /// <summary>
+        /// Releases the unmanaged resources used by the EffectParameterBlock 
and optionally releases the managed resources.
+        /// </summary>
+        /// <param name="">true to release both managed and unmanaged 
resources; false to release only unmanaged resources.</param>
+        protected virtual void Dispose(bool disposing)
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        /// Stops capturing state changes from the parent Effect.
+        /// </summary>
+        public void End()
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs 
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerState.cs 
2007-01-14 14:59:47 UTC (rev 70984)
@@ -54,6 +54,11 @@
 
         public TextureFilter MipFilter { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
 
-        public float MipMapLevelOfDetailBias { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+        public float MipMapLevelOfDetailBias { get { throw new 
NotImplementedException(); } set { throw new NotImplementedException(); } }
+
+        public override string ToString()
+        {
+            return base.ToString();
+        }
     }
 }

Modified: 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs
===================================================================
--- 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs   
    2007-01-14 14:46:33 UTC (rev 70983)
+++ 
trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/SamplerStateCollection.cs   
    2007-01-14 14:59:47 UTC (rev 70984)
@@ -1,4 +1,4 @@
-#region License
+#region License
 /*
 MIT License
 Copyright � 2006 The Mono.Xna Team
@@ -24,16 +24,21 @@
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
-*/
-#endregion License
-
-using System;
-
-namespace Microsoft.Xna.Framework.Graphics
-{
-    /// <summary>Collection of SamplerState objects.</summary>
-    public sealed class SamplerStateCollection
-    {
-        public SamplerState this[int index] { get { throw new 
NotImplementedException(); } }
-    }
-}
+*/
+#endregion License
+
+using System;
+
+namespace Microsoft.Xna.Framework.Graphics
+{
+    /// <summary>Collection of SamplerState objects.</summary>
+    public sealed class SamplerStateCollection
+    {
+        /// <summary>
+        /// Gets a specific SamplerState object using an index value.
+        /// </summary>
+        /// <param name="index">Index of the object to retrieve.</param>
+        /// <returns>The SamplerState object at the requested index.</returns>
+        public SamplerState this[int index] { get { throw new 
NotImplementedException(); } }
+    }
+}
\ No newline at end of file

Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs       
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/ShaderConstant.cs       
2007-01-14 14:59:47 UTC (rev 70984)
@@ -26,12 +26,44 @@
 #endregion License
 
 using System;
-using System.Collections.Generic;
-using System.Text;
 
 namespace Microsoft.Xna.Framework.Graphics
 {
-    public class ShaderConstant
+    /// <summary>
+    /// Describes a shader constant.
+    /// </summary>
+    public sealed class ShaderConstant
     {
+        public void SetValue(GraphicsDevice graphicsDevice, Matrix[] value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Matrix value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Quaternion[] 
value) { throw new NotImplementedException(); }
+
+        public void SetValue(GraphicsDevice graphicsDevice, Quaternion value) 
{ throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Vector2[] value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Vector4 value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Vector3[] value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Vector2 value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Vector4[] value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, Vector3 value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, float[] value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, bool value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, int[] value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, int value) { throw 
new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, bool[] value) { 
throw new NotImplementedException(); }
+        public void SetValue(GraphicsDevice graphicsDevice, float value) { 
throw new NotImplementedException(); }
+        public void SetValueTranspose(GraphicsDevice graphicsDevice, Matrix[] 
value) { throw new NotImplementedException(); }
+        public void SetValueTranspose(GraphicsDevice graphicsDevice, Matrix 
value) { throw new NotImplementedException(); }
+
+        public int ColumnCount { get { throw new NotImplementedException(); } }
+        public int ElementCount { get { throw new NotImplementedException(); } 
}
+        public string Name { get { throw new NotImplementedException(); } }
+        public EffectParameterClass ParameterClass { get { throw new 
NotImplementedException(); } }
+        public EffectParameterType ParameterType { get { throw new 
NotImplementedException(); } }
+        public int RegisterCount { get { throw new NotImplementedException(); 
} }
+        public int RegisterIndex { get { throw new NotImplementedException(); 
} }
+        public ShaderRegisterSet RegisterSet { get { throw new 
NotImplementedException(); } }
+        public int RowCount { get { throw new NotImplementedException(); } }
+        public int SamplerIndex { get { throw new NotImplementedException(); } 
}
+        public int StructureMemberCount { get { throw new 
NotImplementedException(); } }
     }
-}
+}
\ No newline at end of file

Added: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs    
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Graphics/Texture3D.cs    
2007-01-14 14:59:47 UTC (rev 70984)
@@ -0,0 +1,75 @@
+#region License
+/*
+MIT License
+Copyright � 2006 The Mono.Xna Team
+http://www.taoframework.com
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+#endregion License
+
+using System;
+using System.IO;
+
+namespace Microsoft.Xna.Framework.Graphics
+{
+    public class Texture3D : Texture
+    {
+        public Texture3D(GraphicsDevice graphicsDevice, int width, int height, 
int depth, int numberLevels, ResourceUsage usage, SurfaceFormat format)
+        {
+            throw new NotImplementedException();
+        }
+
+        protected override void Dispose(bool disposing) { throw new 
NotImplementedException(); }
+
+        public override bool Equals(object obj) { throw new 
NotImplementedException(); }
+
+        public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream 
textureStream) { throw new NotImplementedException(); }
+        public static Texture3D FromFile(GraphicsDevice graphicsDevice, string 
filename) { throw new NotImplementedException(); }
+        public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream 
textureStream, TextureCreationParameters creationParameters) { throw new 
NotImplementedException(); }
+        public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream 
textureStream, int numberBytes) { throw new NotImplementedException(); }
+        public static Texture3D FromFile(GraphicsDevice graphicsDevice, string 
filename, TextureCreationParameters creationParameters) { throw new 
NotImplementedException(); }
+        public static Texture3D FromFile(GraphicsDevice graphicsDevice, Stream 
textureStream, int numberBytes, TextureCreationParameters creationParameters) { 
throw new NotImplementedException(); }
+        public static Texture3D FromFile(GraphicsDevice graphicsDevice, string 
filename, int width, int height, int depth) { throw new 
NotImplementedException(); }
+
+        // TODO: Get T ValueType working
+        //public void GetData<T>(T[] data) where T : ValueType { throw new 
NotImplementedException(); }
+        //public void GetData<T>(T[] data, int startIndex, int elementCount) 
where T : ValueType { throw new NotImplementedException(); }
+        //public void GetData<T>(int level, int left, int top, int right, int 
bottom, int front, int back, T[] data, int startIndex, int elementCount) where 
T : ValueType { throw new NotImplementedException(); }
+
+        public override int GetHashCode() { throw new 
NotImplementedException(); }
+
+        public static bool operator ==(Texture3D left, Texture3D right) { 
throw new NotImplementedException(); }
+        public static bool operator !=(Texture3D left, Texture3D right) { 
throw new NotImplementedException(); }
+
+        //public void SetData<T>(T[] data) where T : ValueType { throw new 
NotImplementedException(); }
+        //public void SetData<T>(T[] data, int startIndex, int elementCount, 
SetDataOptions options) where T : ValueType { throw new 
NotImplementedException(); }
+        //public void SetData<T>(int level, int left, int top, int right, int 
bottom, int front, int back, T[] data, int startIndex, int elementCount, 
SetDataOptions options) where T : ValueType { throw new 
NotImplementedException(); }
+
+        public override string ToString() { throw new 
NotImplementedException(); }
+
+        public int Depth { get { throw new NotImplementedException(); } }
+        public SurfaceFormat Format { get { throw new 
NotImplementedException(); } }
+        public int Height { get { throw new NotImplementedException(); } }
+        public ResourceManagementMode ResourceManagementMode { get { throw new 
NotImplementedException(); } }
+        public ResourceUsage ResourceUsage { get { throw new 
NotImplementedException(); } }
+        public int Width { get { throw new NotImplementedException(); } }
+    }
+}
\ No newline at end of file

Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs   2007-01-14 
14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework/Input/Enums.cs   2007-01-14 
14:59:47 UTC (rev 70984)
@@ -31,46 +31,48 @@
 namespace Microsoft.Xna.Framework.Input
 {
     /// <summary>
-    /// 
+    /// Identifies the state of a mouse button or Xbox 360 Controller button.
     /// </summary>
     public enum ButtonState
     {
-        Pressed=1,
-        Released=0
+        Pressed = 1,
+        Released = 0
     }
 
     /// <summary>
-    /// 
+    /// Describes the type of a given Xbox 360 controller.
     /// </summary>
     public enum GamePadType
     {
         //FIXME: Write test to make sure these numbers don;t change
-        ArcadeStick=3,
-        DancePad=5,
-        FlightStick=4,
-        GamePad=1,
-        Unknown=0,
-        Wheel=2
+        ArcadeStick = 3,
+        DancePad = 5,
+        FlightStick = 4,
+        GamePad = 1,
+        Unknown = 0,
+        Wheel = 2
     }
 
     /// <summary>
-    /// 
+    /// Identifies the state of a keyboard key.
     /// </summary>
     public enum KeyState
     {
+        /// <summary>The key is released.</summary>
         Up,
+        /// <summary>The key is pressed.</summary>
         Down
     }
 
     /// <summary>
-    /// 
+    /// Specifies a type of dead zone processing to apply to Xbox 360 
controller analog sticks when calling GamePad.GetState.
     /// </summary>
     public enum GamePadDeadZone
     {
         //FIXME: Write test to make sure these don't change
-        Circular=2,
-        IndependentAxes=1,
-        None=0
+        Circular = 2,
+        IndependentAxes = 1,
+        None = 0
     }
     /// <summary>
     /// Identifies a particular key on a keyboard.
@@ -78,37 +80,6 @@
     public enum Keys
     {
         None = 0,
-        Back = 8,
-        Tab = Key.Tab,
-        Enter = Key.Return,
-        CapsLock = Key.CapsLock,
-        Escape = Key.Escape,
-        Space = Key.Space,
-        PageUp = Key.PageUp,
-        PageDown = Key.PageDown,
-        End = Key.End,
-        Home = Key.Home,
-        Left = Key.LeftArrow,
-        Up = Key.UpArrow,
-        Right = Key.RightArrow,
-        Down = Key.DownArrow,
-        Select = 41,
-        Print = 42,
-        Execute = 43,
-        PrintScreen = Key.Print,
-        Insert = Key.Insert,
-        Delete = Key.Delete,
-        Help = Key.Help,
-        D0 = 48,
-        D1 = 49,
-        D2 = 50,
-        D3 = 51,
-        D4 = 52,
-        D5 = 53,
-        D6 = 54,
-        D7 = 55,
-        D8 = 56,
-        D9 = 57,
         A = Key.A,
         B = Key.B,
         C = Key.C,
@@ -135,26 +106,42 @@
         X = Key.X,
         Y = Key.Y,
         Z = Key.Z,
-        LeftWindows = Key.LeftWindows,
-        RightWindows = Key.RightWindows,
-        Apps = 93,
-        Sleep = 95,
-        NumPad0 = Key.Keypad0,
-        NumPad1 = Key.Keypad1,
-        NumPad2 = Key.Keypad2,
-        NumPad3 = Key.Keypad3,
-        NumPad4 = Key.Keypad4,
-        NumPad5 = Key.Keypad5,
-        NumPad6 = Key.Keypad6,
-        NumPad7 = Key.Keypad7,
-        NumPad8 = Key.Keypad8,
-        NumPad9 = Key.Keypad9,
-        Multiply = Key.KeypadMultiply,
-        Add = Key.KeypadPlus,
-        Separator = 108,
-        Subtract = Key.Minus,
+        Add = Key.Plus,
+        Apps = Key.World0,
+        Attn = Key.World1,
+        Back = Key.World2,
+        BrowserBack = Key.World3,
+        BrowserFavorites = Key.World4,
+        BrowserForward = Key.World5,
+        BrowserHome = Key.World6,
+        BrowserRefresh = Key.World7,
+        BrowserSearch = Key.World8,
+        BrowserStop = Key.World9,
+        CapsLock = Key.CapsLock,
+        Crsel = Key.World10,
+
+        D0 = Key.World11,
+        D1 = Key.World12,
+        D2 = Key.World13,
+        D3 = Key.World14,
+        D4 = Key.World15,
+        D5 = Key.World16,
+        D6 = Key.World17,
+        D7 = Key.World18,
+        D8 = Key.World19,
+        D9 = Key.World20,
+
         Decimal = Key.Period,
-        Divide = Key.KeypadDivide,
+        Delete = Key.Delete,
+        Divide = Key.Slash,
+        Down = Key.DownArrow,
+        End = Key.End,
+        Enter = Key.Return,
+        EraseEof = Key.World21,
+        Escape = Key.Escape,
+        Execute = Key.World22,
+        Exsel = Key.World23,
+
         F1 = Key.F1,
         F2 = Key.F2,
         F3 = Key.F3,
@@ -170,62 +157,90 @@
         F13 = Key.F13,
         F14 = Key.F14,
         F15 = Key.F15,
-        F16 = 127,
-        F17 = 128,
-        F18 = 129,
-        F19 = 130,
-        F20 = 131,
-        F21 = 132,
-        F22 = 133,
-        F23 = 134,
-        F24 = 135,
-        NumLock = Key.NumLock,
-        Scroll = Key.ScrollLock,
+        F16 = Key.F15 + 1,
+        F17 = Key.F15 + 2,
+        F18 = Key.F15 + 3,
+        F19 = Key.F15 + 4,
+        F20 = Key.F15 + 5,
+        F21 = Key.F15 + 6,
+        F22 = Key.F15 + 7,
+        F23 = Key.F15 + 8,
+        F24 = Key.F15 + 9,
+        Help = Key.Help,
+
+        Home = Key.Home,
+        Insert = Key.Insert,
+
+        LaunchApplication1 = Key.World24,
+        LaunchApplication2 = Key.World25,
+        LaunchMail = Key.World26,
+
+        Left = Key.LeftArrow,
+        LeftAlt = Key.LeftAlt,
+        LeftControl = Key.LeftControl,
         LeftShift = Key.LeftShift,
+        LeftWindows = Key.LeftWindows,
+
+        MediaNextTrack = Key.World27,
+        MediaPlayPause = Key.World28,
+        MediaPreviousTrack = Key.World29,
+        MediaStop = Key.World30,
+
+        Multiply = Key.KeypadMultiply,
+        NumLock = Key.Keypad0,
+        NumPad0 = Key.Keypad1,
+        NumPad1 = Key.Keypad1,
+        NumPad2 = Key.Keypad2,
+        NumPad3 = Key.Keypad3,
+        NumPad4 = Key.Keypad4,
+        NumPad5 = Key.Keypad5,
+        NumPad6 = Key.Keypad6,
+        NumPad7 = Key.Keypad7,
+        NumPad8 = Key.Keypad8,
+        NumPad9 = Key.Keypad9,
+
+        Oem8 = Key.World31,
+        OemBackslash = Key.World32,
+        OemClear = Key.World33,
+        OemCloseBrackets = Key.World34,
+        OemComma = Key.World35,
+        OemMinus = Key.World36,
+        OemOpenBrackets = Key.World37,
+        OemPeriod = Key.World38,
+        OemPipe = Key.World39,
+        OemPlus = Key.World40,
+        OemQuestion = Key.World41,
+        OemQuotes = Key.World42,
+        OemSemicolon = Key.World43,
+        OemTilde = Key.World44,
+
+        Pa1 = Key.World45,
+        PageDown = Key.PageDown,
+        PageUp = Key.PageUp,
+
+        Play = Key.World46,
+        Print = Key.Print,
+        PrintScreen = Key.Print,
+        ProcessKey = Key.World47,
+
+        Right = Key.RightArrow,
+        RightAlt = Key.RightAlt,
+        RightControl = Key.RightControl,
         RightShift = Key.RightShift,
-        LeftControl = Key.LeftControl,
-        RightControl = Key.RightControl,
-        LeftAlt = Key.LeftAlt,
-        RightAlt = Key.RightAlt,
-        BrowserBack = 166,
-        BrowserForward = 167,
-        BrowserRefresh = 168,
-        BrowserStop = 169,
-        BrowserSearch = 170,
-        BrowserFavorites = 171,
-        BrowserHome = 172,
-        VolumeMute = 173,
-        VolumeDown = 174,
-        VolumeUp = 175,
-        MediaNextTrack = 176,
-        MediaPreviousTrack = 177,
-        MediaStop = 178,
-        MediaPlayPause = 179,
-        LaunchMail = 180,
-        SelectMedia = 181,
-        LaunchApplication1 = 182,
-        LaunchApplication2 = 183,
-        OemSemicolon = 186,
-        OemPlus = 187,
-        OemComma = 188,
-        OemMinus = 189,
-        OemPeriod = 190,
-        OemQuestion = 191,
-        OemTilde = 192,
-        OemOpenBrackets = 219,
-        OemPipe = 220,
-        OemCloseBrackets = 221,
-        OemQuotes = 222,
-        Oem8 = 223,
-        OemBackslash = 226,
-        ProcessKey = 229,
-        Attn = 246,
-        Crsel = 247,
-        Exsel = 248,
-        EraseEof = 249,
-        Play = 250,
-        Zoom = 251,
-        Pa1 = 253,
-        OemClear = 254,
+        RightWindows = Key.RightWindows,
+
+        Scroll = Key.ScrollLock,
+        Select = Key.World48,
+        SelectMedia = Key.World49,
+        Separator = Key.World50,
+        Sleep = Key.World51,
+        Space = Key.Space,
+        Subtract = Key.Minus,
+        Tab = Key.Tab,
+        Up = Key.UpArrow,
+        VolumeDown = Key.World52,
+        VolumeMute = Key.World53,
+        VolumeUp = Key.World54,
+        Zoom = Key.World55,
     }
-}
+}
\ No newline at end of file

Modified: 
trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs    
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/DrawableGameComponent.cs    
2007-01-14 14:59:47 UTC (rev 70984)
@@ -35,7 +35,7 @@
        {
                #region Public Constructors
 
-               public DrawableGameComponent(Game game)
+               public DrawableGameComponent(Game game) : base(game)
                {
                        throw new NotImplementedException();
                }

Modified: trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs
===================================================================
--- trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs    
2007-01-14 14:46:33 UTC (rev 70983)
+++ trunk/Mono.Xna/src/Microsoft.Xna.Framework.Game/GameComponent.cs    
2007-01-14 14:59:47 UTC (rev 70984)
@@ -38,8 +38,10 @@
     {
 
         /// <summary>Initializes a new instance of this class.</summary>
-        public GameComponent()
+        public GameComponent(Game game)
         {
+              this.enabled = true;
+              this.game = game;
         }
 
         /// <summary>Immediately releases the unmanaged resources used by this 
object.</summary>
@@ -58,22 +60,16 @@
         {
             if (disposing)
             {
-                if (this.Game != null)
+                lock (this)
                 {
-                    //  this.Game.GameComponents.Remove(this);
+                    if (this.Game != null)
+                        this.Game.Components.Remove(this);
+                    if (this.Disposed != null)
+                        this.Disposed(this, EventArgs.Empty);
                 }
-                if (this.Disposed != null)
-                {
-                    this.Disposed(this, EventArgs.Empty);
-                }
             }
         }
 
-        /// <summary>Called when the GameComponent needs to be drawn. Override 
this method with component-specific draw code.</summary>
-        public virtual void Draw()
-        {
-        }
-
         /// <summary>
         /// Allows a GameComponent to attempt to free resources and perform 
other cleanup operations before garbage collection reclaims the GameComponent.
         /// </summary>
@@ -82,89 +78,96 @@
             this.Dispose(false);
         }
 
-        /// <summary>Called when the Game associated with a GameComponent 
changes.</summary>
-        /// <param name="previousGame">The previous Game the GameComponent was 
associated with.</param>
-        protected virtual void OnGameChanging(Game previousGame)
+        protected virtual void OnEnabledChanged(object sender, EventArgs args)
         {
+            if (this.EnabledChanged != null)
+                this.EnabledChanged(this, EventArgs.Empty);
         }
 
-        /// <summary>Called after game initialization but before the first 
frame of the game.</summary>
-        public virtual void Start()
+        protected virtual void OnUpdateOrderChanged(object sender, EventArgs 
args)
         {
+            if (this.UpdateOrderChanged != null)
+                this.UpdateOrderChanged(this, EventArgs.Empty);
         }
 
-        /// <summary>Called when the GameComponent needs to be updated.  
Override this method with component-specific update code.</summary>
-        public virtual void Update()
-        {
-        }
-
         /// <summary>
         /// Gets and sets the Game associated with this GameComponent.
         /// </summary>
         /// <returns>
         /// The Game associated with this GameComponent.
         /// </returns>
-        
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), 
Browsable(false)]
         public Game Game
         {
             get
             {
-                return m_Game;
+                return game;
             }
-            internal set
-            {
-                Game previousGame = m_Game;
-                m_Game = value;
-                OnGameChanging(previousGame);
-            }
         }
 
-        /// <summary>Gets or sets the System.ComponentModel.ISite associated 
with the GameComponent.</summary>
-        /// <returns>
-        /// The System.ComponentModel.ISite associated with the GameComponent.
-        /// </returns>
-        [Browsable(false), 
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
-        public ISite Site
-        {
-            get
-            {
-                return m_Site;
-            }
-            set
-            {
-                m_Site = value;
-            }
-        }
-
         /// <summary>Raised when the GameComponent is disposed.</summary>
-        [Browsable(false)]
-        public event EventHandler Disposed;
-        private Game m_Game;
-        private ISite m_Site;
+        private Game game;
+        private bool enabled;
+        private int updateOrder;
 
-
+        /// <summary>
+        /// Called when the GameComponent needs to be initialized.  Override 
to query for required services and load any non-graphics resources
+        /// </summary>
         public virtual void Initialize()
         {
-            throw new Exception("The method or operation is not implemented.");
+            // Nothing, this function is to be overriden.
         }
 
+        /// <summary>
+        /// Indicates whether GameComponent.Update should be called when 
Game.Update is called.
+        /// </summary>
+        /// <returns>true if GameComponent.Update should be called; false 
otherwise</returns>
         public bool Enabled
         {
-            get { throw new Exception("The method or operation is not 
implemented."); }
+            get
+            {
+                return enabled;
+            }
+            set
+            {
+                if (enabled != value)
+                {
+                    enabled = value;
+                    OnEnabledChanged(this, EventArgs.Empty);
+                }
+            }
         }
 
+        /// <summary>
+        /// Indicates the order the GameComponent should be updated in 
relative to other GameComponent instances.  Lower values are update first.
+        /// </summary>
+        /// <returns>The order the GameComponent should be updated 
in.</returns>
         public int UpdateOrder
         {
-            get { throw new Exception("The method or operation is not 
implemented."); }
+            get
+            {
+                return updateOrder;
+            }
+            set
+            {
+                if (updateOrder != value)
+                {
+                    updateOrder = value;
+                    OnUpdateOrderChanged(this, EventArgs.Empty);
+                }
+            }
         }
 
+        /// <summary>
+        /// Called when the GameComponent needs to be updated.  Override this 
method with component-specific update code.
+        /// </summary>
+        /// <param name="gameTime">Time elapsed since the last call to 
Microsoft.Xna.Framework.GameComponent.Update(Microsoft.Xna.Framework.GameTime)</param>
         public void Update(GameTime gameTime)
         {
-            throw new Exception("The method or operation is not implemented.");
+            // Nothing, this method is to be overriden.
         }
 
         public event EventHandler EnabledChanged;
-
         public event EventHandler UpdateOrderChanged;
+        public event EventHandler Disposed;
     }
 }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to