コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }