示例#1
0
        /// <summary>
        /// Create an OpenWF Composition element.
        /// </summary>
        /// <param name="device">
        /// A <see cref="WfcDevice"/> which the source is created on.
        /// </param>
        /// <param name="ctx">
        /// A <see cref="WfcContext"/> which the source is created on.
        /// </param>
        internal WfcElement(WfcDevice device, WfcContext ctx)
        {
            if (device == null)
            {
                throw new ArgumentNullException("device");
            }

            if ((_Handle = Wfc.CreateElement(device.Handle, ctx.Handle, null)) == Wfc.INVALID_HANDLE)
            {
                throw new InvalidOperationException(String.Format("unable to create OpenWF element"));
            }

            _Device = device;
        }
示例#2
0
        /// <summary>
        /// Create an OpenWF Composition source.
        /// </summary>
        /// <param name="device">
        /// A <see cref="WfcDevice"/> which the source is created on.
        /// </param>
        /// <param name="ctx">
        /// A <see cref="WfcContext"/> which the source is created on.
        /// </param>
        /// <param name="stream">
        /// A <see cref="NativeStreamType"/> that specifies the native source stream.
        /// </param>
        internal WfcSource(WfcDevice device, WfcContext ctx, NativeStreamType stream)
        {
            if (device == null)
            {
                throw new ArgumentNullException("device");
            }

            if ((_Handle = Wfc.CreateSourceFromStream(device.Handle, ctx.Handle, stream, null)) == Wfc.INVALID_HANDLE)
            {
                throw new InvalidOperationException(String.Format("unable to create OpenWF source"));
            }

            _Device = device;
        }
示例#3
0
        /// <summary>
        /// Create an OpenWF Composition (on-screen) context on the specified screen of a device.
        /// </summary>
        /// <param name="device">
        /// A <see cref="WfcDevice"/> which the context is created on.
        /// </param>
        /// <param name="screenNumber">
        /// A <see cref="Int32"/> that identifies the screen.
        /// </param>
        internal WfcContext(WfcDevice device, int screenNumber)
        {
            if (device == null)
            {
                throw new ArgumentNullException("device");
            }

            if ((_Handle = Wfc.Create(device.Handle, screenNumber, null)) == Wfc.INVALID_HANDLE)
            {
                throw new InvalidOperationException(String.Format("unable to create OpenWF context"));
            }

            _Device = device;

            ContextType = WFCContextType.ContextTypeOnScreen;
        }
示例#4
0
        public WfcWindow()
        {
            if (Wfc.IsAvailable == false)
            {
                throw new InvalidOperationException("OpenWF Compositor is not available");
            }

            _WfcDevice  = new WfcDevice();
            _WfcContext = _WfcDevice.CreateContext();
            WfcElement wfcElement = _WfcContext.CreateElement();

            WfcSource wfcSource = _WfcContext.CreateSource(0);                  // XXX

            wfcElement.Source = wfcSource;

            _WfcContext.InsertElement(wfcElement);
            _WfcContext.Commit();
        }
示例#5
0
 /// <summary>
 /// Create an OpenWF Composition (on-screen) context on the default screen of a device.
 /// </summary>
 /// <param name="device">
 /// A <see cref="WfcDevice"/> which the context is created on.
 /// </param>
 internal WfcContext(WfcDevice device) : this(device, 0)
 {
 }