-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Drive Win32 composition effects from RenderTargetSceneInfo on the render thread #22114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -33,7 +33,10 @@ public interface IRenderTarget : IDisposable | |
| /// </summary> | ||
| PlatformRenderTargetState PlatformRenderTargetState => PlatformRenderTargetState.Ready; | ||
|
|
||
| public record struct RenderTargetSceneInfo(PixelSize Size, double Scaling, Size LogicalSize, CompositionTransparencyLevel TransparencyLevel) | ||
| // TopLevelSpecificSceneInfo is an opaque immutable object provided by the platform's | ||
| // ITopLevelImpl.TopLevelSpecificSceneInfo. | ||
| public record struct RenderTargetSceneInfo(PixelSize Size, double Scaling, Size LogicalSize, | ||
| CompositionTransparencyLevel TransparencyLevel, object? TopLevelSpecificSceneInfo = null) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So whole SceneInfo could be a record class, not an object, with platform specific overrides (if necessary)
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I assume
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| { | ||
| public RenderTargetSceneInfo(PixelSize size, double scaling, CompositionTransparencyLevel transparencyLevel) : this(size, scaling, size.ToSize(scaling), transparencyLevel) | ||
| { | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| using Avalonia.Platform; | ||
|
|
||
| namespace Avalonia.Win32; | ||
|
|
||
| /// <summary> | ||
| /// An immutable bag with Win32-specific per-frame scene information, published via | ||
| /// <see cref="ITopLevelImpl.TopLevelSpecificSceneInfo"/> and consumed by render targets | ||
| /// on the render thread. | ||
| /// </summary> | ||
| internal sealed record Win32TopLevelSceneInfo(PlatformThemeVariant ThemeVariant); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use xml docs here. As it's currently written, it both explains a specific property and doesn't do it properly.