Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TwCapability"/> class.
        /// </summary>
        /// <param name="cap">The cap.</param>
        /// <param name="range">The range.</param>
        public TwCapability(TwCap cap, _TwRange range)
        {
            this.Cap     = cap;
            this.ConType = TwOn.Range;
            this.Handle  = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwRange)));
            IntPtr _pTwRange = Twain32.GlobalLock(Handle);

            Marshal.StructureToPtr(range, _pTwRange, true);
            Twain32.GlobalUnlock(Handle);
        }
Example #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TwCapability"/> class.
        /// </summary>
        /// <param name="cap">The cap.</param>
        /// <param name="enumeration">The enumeration.</param>
        /// <param name="enumerationValue">The enumeration value.</param>
        public TwCapability(TwCap cap, _TwEnumeration enumeration, object[] enumerationValue)
        {
            this.Cap     = cap;
            this.ConType = TwOn.Enum;
            this.Handle  = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwEnumeration)) + (Marshal.SizeOf(enumerationValue[0]) * enumerationValue.Length));
            IntPtr _pTwEnumeration = Twain32.GlobalLock(Handle);

            Marshal.StructureToPtr(enumeration, _pTwEnumeration, true);
            for (int i = 0, _ptr = _pTwEnumeration.ToInt32() + Marshal.SizeOf(typeof(_TwEnumeration)); i < enumerationValue.Length; i++, _ptr += Marshal.SizeOf(enumerationValue[0]))
            {
                Marshal.StructureToPtr(enumerationValue[i], (IntPtr)_ptr, true);
            }
            Twain32.GlobalUnlock(Handle);
        }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TwCapability"/> class.
        /// </summary>
        /// <param name="cap">The cap.</param>
        /// <param name="array">The array.</param>
        /// <param name="arrayValue">The array value.</param>
        public TwCapability(TwCap cap, _TwArray array, object[] arrayValue)
        {
            this.Cap     = cap;
            this.ConType = TwOn.Array;
            this.Handle  = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwArray)) + (Marshal.SizeOf(arrayValue[0]) * arrayValue.Length));
            IntPtr _pTwArray = Twain32.GlobalLock(Handle);

            Marshal.StructureToPtr(array, _pTwArray, true);
            for (int i = 0, _ptr = _pTwArray.ToInt32() + Marshal.SizeOf(typeof(_TwArray)); i < arrayValue.Length; i++, _ptr += Marshal.SizeOf(arrayValue[0]))
            {
                Marshal.StructureToPtr(arrayValue[i], (IntPtr)_ptr, true);
            }
            Twain32.GlobalUnlock(Handle);
        }
Example #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TwCapability"/> class.
        /// </summary>
        /// <param name="cap">The cap.</param>
        /// <param name="value">The value.</param>
        /// <param name="type">The type.</param>
        public TwCapability(TwCap cap, int value, TwType type)
        {
            this.Cap     = cap;
            this.ConType = TwOn.One;
            _TwOneValue _value = new _TwOneValue()
            {
                ItemType = type,
                Item     = value
            };

            this.Handle = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwOneValue)));
            IntPtr _pTwOneValue = Twain32.GlobalLock(Handle);

            Marshal.StructureToPtr(_value, _pTwOneValue, true);
            Twain32.GlobalUnlock(Handle);
        }