public bool Write(IntPtr data, int length) { System.Diagnostics.Debug.Assert(Writing); if (CoreObject.Pointer == IntPtr.Zero) { return(false); } XndSDK.XNDAttrib_Write(CoreObject, data, length); return(true); }
public bool Write(EngineNS.Color color) { System.Diagnostics.Debug.Assert(Writing); if (CoreObject.Pointer == IntPtr.Zero) { return(false); } unsafe { Int32 val = color.ToArgb(); XndSDK.XNDAttrib_Write(CoreObject, (IntPtr)(&val), sizeof(Int32)); } return(true); }
public void Write(Support.BitSet data) { System.Diagnostics.Debug.Assert(Writing); if (CoreObject.Pointer == IntPtr.Zero) { return; } unsafe { var bitCount = data.BitCount; XndSDK.XNDAttrib_Write(CoreObject, (IntPtr)(&bitCount), sizeof(int)); byte[] bitData = data.Data; int byteCount = bitData.Length; XndSDK.XNDAttrib_Write(CoreObject, (IntPtr)(&byteCount), sizeof(int)); fixed(byte *p = &bitData[0]) { XndSDK.XNDAttrib_Write(CoreObject, (IntPtr)(p), sizeof(System.Byte) * byteCount); } } }