From: jpbruyere Date: Tue, 31 Jan 2017 14:59:12 +0000 (+0100) Subject: implement IDisposable for InterfaceControler class X-Git-Tag: v0.9.5-beta~255 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=0a849b1c2abec63eedc13eb473e2c477c8155a2a;p=jp%2Fcrow.git implement IDisposable for InterfaceControler class --- diff --git a/Tests/InterfaceControler.cs b/Tests/InterfaceControler.cs index 12ddf7d8..766a328d 100644 --- a/Tests/InterfaceControler.cs +++ b/Tests/InterfaceControler.cs @@ -43,7 +43,7 @@ namespace Crow get { return ifaceModelMat * modelview * projection; } } - public override void initGL(){ + public override void initGL(){ quad = new Crow.vaoMesh (0, 0, 0, 1, 1, 1, -1); //ifaceModelMat = Matrix4.CreateRotationX(MathHelper.PiOver2) * Matrix4.CreateTranslation(Vector3.UnitY); CrowInterface.ProcessResize(iRect); @@ -106,7 +106,7 @@ namespace Crow return vec; } } - public class InterfaceControler { + public class InterfaceControler : IDisposable { public Interface CrowInterface; public int texID; public vaoMesh quad; @@ -194,7 +194,7 @@ namespace Crow #endregion #region graphic context - public virtual void initGL(){ + public virtual void initGL(){ projection = OpenTK.Matrix4.CreateOrthographicOffCenter (-0.5f, 0.5f, -0.5f, 0.5f, 1, -1); quad = new Crow.vaoMesh (0, 0, 0, 1, 1, 1, -1); createContext (); @@ -244,6 +244,18 @@ namespace Crow #endif } #endregion + + #region IDisposable implementation + + public void Dispose () + { + if (GL.IsTexture(texID)) + GL.DeleteTexture (texID); + if (quad != null) + quad.Dispose (); + } + + #endregion } }