#region License /* FNA - XNA4 Reimplementation for Desktop Platforms * Copyright 2009-2016 Ethan Lee and the MonoGame Team * * Released under the Microsoft Public License. * See LICENSE for details. */ #endregion #region Using Statements using System; using System.Runtime.InteropServices; #endregion namespace Microsoft.Xna.Framework.Graphics { public class DynamicVertexBuffer : VertexBuffer { #region Public Properties public bool IsContentLost { get { return false; } } #endregion #region ContentLost Event #pragma warning disable 0067 // We never lose data, but lol XNA4 compliance -flibit public event EventHandler ContentLost; #pragma warning restore 0067 #endregion #region Public Constructors public DynamicVertexBuffer( GraphicsDevice graphicsDevice, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage bufferUsage ) : base( graphicsDevice, vertexDeclaration, vertexCount, bufferUsage, true ) { } public DynamicVertexBuffer( GraphicsDevice graphicsDevice, Type type, int vertexCount, BufferUsage bufferUsage ) : base( graphicsDevice, VertexDeclaration.FromType(type), vertexCount, bufferUsage, true ) { } #endregion #region Public SetData Methods public void SetData( int offsetInBytes, T[] data, int startIndex, int elementCount, int vertexStride, SetDataOptions options ) where T : struct { base.SetDataInternal( offsetInBytes, data, startIndex, elementCount, vertexStride, options ); } public void SetData( T[] data, int startIndex, int elementCount, SetDataOptions options ) where T : struct { base.SetDataInternal( 0, data, startIndex, elementCount, Marshal.SizeOf(typeof(T)), options ); } #endregion } }