Browse Source

fix visual tree so that content resizes with the window.

tmp-winuicomp_with_manual_fbo
Dan Walmsley 6 years ago
parent
commit
7720d8f906
  1. 3
      src/Windows/Avalonia.Win32/Composition/CompositionEglGlPlatformSurface.cs
  2. 11
      src/Windows/Avalonia.Win32/Composition/CompositionHost.cs

3
src/Windows/Avalonia.Win32/Composition/CompositionEglGlPlatformSurface.cs

@ -58,7 +58,8 @@ namespace Avalonia.Win32
_compositionVisual.Size = new System.Numerics.Vector2(_info.Size.Width, _info.Size.Height);
}
public override bool IsCorrupted => false;
public override bool IsCorrupted => _info.Size != _initialSize;
public override IGlPlatformSurfaceRenderingSession BeginDraw()
{
var offset = new POINT();

11
src/Windows/Avalonia.Win32/Composition/CompositionHost.cs

@ -95,11 +95,10 @@ namespace Avalonia.Win32
var visual = _compositor.CreateSpriteVisual();
visual.Brush = brush;
visual.Offset = new System.Numerics.Vector3(0, 0, 0);
visual.RelativeSizeAdjustment = new System.Numerics.Vector2(1, 1);
var container = _compositor.CreateContainerVisual();
container.RelativeSizeAdjustment = new System.Numerics.Vector2(1, 1);
target.Root = container;
var blur = CreateBlur();
@ -108,13 +107,11 @@ namespace Avalonia.Win32
container.Children.InsertAtTop(blur);
var visuals = target.Root.As<ContainerVisual>().Children;
visuals.InsertAtTop(visual);
container.Children.InsertAtTop(visual);
visual.CompositeMode = CompositionCompositeMode.SourceOver;
surfaceVisual = visual;
surfaceVisual = container;
return surfaceInterop;
}

Loading…
Cancel
Save