public CoreInitSizeEventArgs(GDI.SIZE newSize, double nativeAspectRatio, bool initial, bool suggestInvalidate) { _newSize = newSize; _nativeAspectRatio = nativeAspectRatio; _initial = initial; _suggestInvalidate = suggestInvalidate; }
private void InitializeMediaEngine() { MediaEngine = MediaEngineServiceProvider.GetMediaEngine(this); MediaEngine.MediaWindowDisposed += delegate(object sender, EventArgs args) { if (_mediaWindow != null) { _mediaWindow.MessageReceived -= new EventHandler <MessageReceivedEventArgs>(_mediaWindow_MessageReceived); _mediaWindow = null; } SetMediaWindowState(false); }; MediaEngine.InitSize += (sender, args) => { _rcSrc = args.NewVideSize; _nativeAspectRatio = args.NativeAspectRatio; if (args.Initial) { var matrix = this.GetTargetMatrix(); var newVideoSize = (Size)matrix.Transform((Vector) new Size(args.NewVideSize.cx, args.NewVideSize.cy)); OnInitSize(newVideoSize); } ResizeNormal(args.Initial); if (args.InvalidateSuggested) { InvalidateMediaWindow(); } }; }
private void InitializeMediaEngine() { _engine = MediaEngineServiceProvider.GetMediaEngine(this); _engine.MediaWindowDisposed += delegate(object sender, EventArgs args) { if (_mediaWindow != null) { _mediaWindow.MessageReceived -= new EventHandler <MessageReceivedEventArgs>(_mediaWindow_MessageReceived); } CreateMediaWindow(); }; _engine.InitSize += (sender, args) => { _rcSrc = args.NewVideSize; _nativeAspectRatio = args.NativeAspectRatio; if (args.Initial) { OnInitSize(new InitSizeEventArgs(new Size(args.NewVideSize.cx, args.NewVideSize.cy))); } ResizeNormal(args.Initial); if (args.InvalidateSuggested) { InvalidateMediaWindow(); } }; }
public override void GetNativeVideoSize(out int width, out int height, out int arWidth, out int arHeight) { GDI.SIZE size = new GDI.SIZE(), ratio = new GDI.SIZE(); _pMFVideoDisplayControl.GetNativeVideoSize(ref size, ref ratio); width = size.cx; height = size.cy; arWidth = ratio.cx; arHeight = ratio.cy; }
protected virtual void OnInitSize(bool initial, bool suggestInvalidate) { if (_filterGraph != null) { var rect = _filterGraph.SourceRect; var size = new GDI.SIZE { cx = rect.right - rect.left, cy = rect.bottom - rect.top }; var args = new CoreInitSizeEventArgs(size, _filterGraph.AspectRatio, initial, suggestInvalidate); args.Raise(this, ref InitSize); } }