From 5b97ddde7aa51bddf1c98d77754ca546c38554bc Mon Sep 17 00:00:00 2001 From: Glatzemann Date: Fri, 4 Nov 2011 20:22:32 +0000 Subject: [PATCH] some work on GraphicsDevice methods --- ANX.Framework/ANX.Framework.csproj | 3 + ANX.Framework/Graphics/GraphicsDevice.cs | 133 ++++++++++++++++++ .../Graphics/ResourceCreatedEventArgs.cs | 68 +++++++++ .../Graphics/ResourceDestroyedEventArgs.cs | 75 ++++++++++ ANX.Framework/Graphics/TextureCollection.cs | 63 +++++++++ 5 files changed, 342 insertions(+) create mode 100644 ANX.Framework/Graphics/ResourceCreatedEventArgs.cs create mode 100644 ANX.Framework/Graphics/ResourceDestroyedEventArgs.cs create mode 100644 ANX.Framework/Graphics/TextureCollection.cs diff --git a/ANX.Framework/ANX.Framework.csproj b/ANX.Framework/ANX.Framework.csproj index 876996a1..fe279973 100644 --- a/ANX.Framework/ANX.Framework.csproj +++ b/ANX.Framework/ANX.Framework.csproj @@ -199,6 +199,9 @@ + + + diff --git a/ANX.Framework/Graphics/GraphicsDevice.cs b/ANX.Framework/Graphics/GraphicsDevice.cs index fee4636c..fa5538b8 100644 --- a/ANX.Framework/Graphics/GraphicsDevice.cs +++ b/ANX.Framework/Graphics/GraphicsDevice.cs @@ -59,6 +59,7 @@ namespace ANX.Framework.Graphics { public class GraphicsDevice : IDisposable { + #region Private Members private INativeGraphicsDevice nativeDevice; private IndexBuffer indexBuffer; private SamplerStateCollection samplerStateCollection; @@ -69,6 +70,18 @@ namespace ANX.Framework.Graphics private GraphicsAdapter currentAdapter; private PresentationParameters currentPresentationParameters; + #endregion // Private Members + + #region Events + public event EventHandler Disposing; + public event EventHandler ResourceDestroyed; + public event EventHandler ResourceCreated; + public event EventHandler DeviceLost; + public event EventHandler DeviceReset; + public event EventHandler DeviceResetting; + + #endregion // Events + public GraphicsDevice(GraphicsAdapter adapter, GraphicsProfile graphicsProfile, PresentationParameters presentationParameters) { this.currentAdapter = adapter; @@ -282,5 +295,125 @@ namespace ANX.Framework.Graphics return this.samplerStateCollection; } } + + public bool IsDisposed + { + get + { + throw new NotImplementedException(); + } + } + + public Rectangle ScissorRectangle + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + public DisplayMode DisplayMode + { + get + { + throw new NotImplementedException(); + } + } + + public GraphicsDeviceStatus GraphicsDeviceStatus + { + get + { + throw new NotImplementedException(); + } + } + + public GraphicsProfile GraphicsProfile + { + get + { + throw new NotImplementedException(); + } + } + + public GraphicsAdapter Adapter + { + get + { + throw new NotImplementedException(); + } + } + + public PresentationParameters PresentationParameters + { + get + { + throw new NotImplementedException(); + } + } + + public int ReferenceStencil + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + public int MultiSampleMask + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + public Color BlendFactor + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + public TextureCollection VertexTextures + { + get + { + throw new NotImplementedException(); + } + } + + public TextureCollection Textures + { + get + { + throw new NotImplementedException(); + } + } + + public SamplerStateCollection VertexSamplerStates + { + get + { + throw new NotImplementedException(); + } + } } } diff --git a/ANX.Framework/Graphics/ResourceCreatedEventArgs.cs b/ANX.Framework/Graphics/ResourceCreatedEventArgs.cs new file mode 100644 index 00000000..ee6ad158 --- /dev/null +++ b/ANX.Framework/Graphics/ResourceCreatedEventArgs.cs @@ -0,0 +1,68 @@ +#region Using Statements +using System; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.Framework.Graphics +{ + public sealed class ResourceCreatedEventArgs : EventArgs + { + public ResourceCreatedEventArgs(object resource) + { + this.Resource = resource; + } + + public object Resource + { + get; + set; + } + } +} diff --git a/ANX.Framework/Graphics/ResourceDestroyedEventArgs.cs b/ANX.Framework/Graphics/ResourceDestroyedEventArgs.cs new file mode 100644 index 00000000..772019df --- /dev/null +++ b/ANX.Framework/Graphics/ResourceDestroyedEventArgs.cs @@ -0,0 +1,75 @@ +#region Using Statements +using System; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.Framework.Graphics +{ + public sealed class ResourceDestroyedEventArgs : EventArgs + { + public ResourceDestroyedEventArgs(string name, object tag) + { + this.Tag = tag; + this.Name = name; + } + + public string Name + { + get; + set; + } + + public object Tag + { + get; + set; + } + } +} diff --git a/ANX.Framework/Graphics/TextureCollection.cs b/ANX.Framework/Graphics/TextureCollection.cs new file mode 100644 index 00000000..42312716 --- /dev/null +++ b/ANX.Framework/Graphics/TextureCollection.cs @@ -0,0 +1,63 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; +using ANX.Framework.Graphics; + +#endregion // Using Statements + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.Framework.Graphics +{ + public class TextureCollection + { + } +}