public void Read(out Support.BitSet data) { System.Diagnostics.Debug.Assert(Reading); data = null; if (CoreObject.Pointer == IntPtr.Zero) { return; } unsafe { int bitCount = 0; XndSDK.XNDAttrib_Read(CoreObject, (IntPtr)(&bitCount), sizeof(int)); data = new Support.BitSet(); int byteCount = 0; XndSDK.XNDAttrib_Read(CoreObject, (IntPtr)(&byteCount), sizeof(int)); byte[] bitData = new byte[byteCount]; fixed(byte *p = &bitData[0]) { XndSDK.XNDAttrib_Read(CoreObject, (IntPtr)(p), sizeof(System.Byte) * byteCount); } data.Init((UInt32)bitCount, bitData); } }
public bool Read(IntPtr buffer, int length) { System.Diagnostics.Debug.Assert(Reading); if (CoreObject.Pointer == IntPtr.Zero) { return(false); } XndSDK.XNDAttrib_Read(CoreObject, buffer, length); return(true); }
public bool Read(out EngineNS.Color color) { System.Diagnostics.Debug.Assert(Reading); if (CoreObject.Pointer == IntPtr.Zero) { color = EngineNS.Color.White; return(false); } unsafe { Int32 val = 0; XndSDK.XNDAttrib_Read(CoreObject, (IntPtr)(&val), sizeof(Int32)); color = Color.FromArgb(val); } return(true); }
public bool Read(out System.Byte[] data, int length) { System.Diagnostics.Debug.Assert(Reading); data = new System.Byte[length]; if (CoreObject.Pointer == IntPtr.Zero) { return(false); } unsafe { fixed(void *pinData = &data[0]) { XndSDK.XNDAttrib_Read(CoreObject, (IntPtr)pinData, sizeof(System.Byte) * length); } } return(true); }