public unsafe void SetData(ByteColor[] data, Rectangle? rect) { Threading.EnsureUIThread (delegate { fixed(ByteColor *ptr = data) { SetData ((IntPtr)ptr, rect); } }); }
public void SetData(IntPtr data, Rectangle? rect) { Rectangle r; if (rect.HasValue) { r = rect.Value; } else { r = new Rectangle (0, 0, Width, Height); } Threading.EnsureUIThread (delegate { GL.glBindTexture (GL.GL_TEXTURE_2D, Id); GL.glTexSubImage2D ( GL.GL_TEXTURE_2D, 0, r.X, r.Y, r.Width, r.Height, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, data ); }); }