public IBlurHost AttachToCompositionTree(CompositionConnector connector, IntPtr hwnd)
 {
     using (_egl.PrimaryContext.MakeCurrent())
     {
         _surfaceInterop = connector.InitialiseWindowCompositionTree(hwnd, out _surface, out var blurHost);
         return(blurHost);
     }
 }
示例#2
0
 internal WinUICompositedWindow(EglContext syncContext,
                                ICompositor compositor,
                                object pumpLock,
                                ICompositionTarget compositionTarget,
                                ICompositionDrawingSurfaceInterop surfaceInterop,
                                IVisual contentVisual, IVisual blurVisual)
 {
     _compositor        = compositor.CloneReference();
     _syncContext       = syncContext;
     _pumpLock          = pumpLock;
     _blurVisual        = blurVisual.CloneReference();
     _compositionTarget = compositionTarget.CloneReference();
     _contentVisual     = contentVisual.CloneReference();
     _surfaceInterop    = surfaceInterop.CloneReference();
 }
 internal WinUICompositedWindow(EglContext syncContext,
                                ICompositor compositor,
                                object pumpLock,
                                ICompositionTarget compositionTarget,
                                ICompositionDrawingSurfaceInterop surfaceInterop,
                                IVisual contentVisual, IVisual blurVisual, IVisual micaVisual,
                                ICompositionRoundedRectangleGeometry roundedRectangleGeometry)
 {
     _compositor  = compositor.CloneReference();
     _syncContext = syncContext;
     _pumpLock    = pumpLock;
     _micaVisual  = micaVisual;
     _roundedRectangleGeometry = roundedRectangleGeometry;
     _blurVisual        = blurVisual.CloneReference();
     _compositionTarget = compositionTarget.CloneReference();
     _contentVisual     = contentVisual.CloneReference();
     _surfaceInterop    = surfaceInterop.CloneReference();
 }
            public CompositionRenderTarget(EglPlatformOpenGlInterface egl,
                                           Windows.UI.Composition.Visual compositionVisual,
                                           ICompositionDrawingSurfaceInterop interopSurface,
                                           IEglWindowGlPlatformSurfaceInfo info)
                : base(egl)
            {
                _egl               = egl;
                _surfaceInterop    = interopSurface;
                _info              = info;
                _currentSize       = info.Size;
                _compositionVisual = compositionVisual;

                using (_egl.PrimaryContext.MakeCurrent())
                {
                    _surfaceInterop.Resize(new POINT {
                        X = _info.Size.Width, Y = _info.Size.Height
                    });
                }

                _compositionVisual.Size = new System.Numerics.Vector2(_info.Size.Width, _info.Size.Height);
            }