/// <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; }
/// <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; }
/// <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; }
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(); }
/// <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) { }