public CoreInitSizeEventArgs(GDI.SIZE newSize, double nativeAspectRatio, bool initial, bool suggestInvalidate)
 {
     _newSize           = newSize;
     _nativeAspectRatio = nativeAspectRatio;
     _initial           = initial;
     _suggestInvalidate = suggestInvalidate;
 }
Ejemplo n.º 2
0
        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();
                }
            };
        }
Ejemplo n.º 3
0
        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();
                }
            };
        }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 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);
     }
 }