Benedikt Schroeder
527d8376d7
Combine draw and fill rectangle drawing operation
6 years ago
Steven Kirk
f2c4bf4d6a
Update test to ensure we're looking at the correct node.
7 years ago
Steven Kirk
e6790fe1d1
Add check for correct VisualNode.Parent.
Check that `VisualNode.Parent` is correct when adding a child. Causes a failing test for #3095 .
7 years ago
Steven Kirk
534852af75
Create VisualNode for invisible controls.
If we don't do this, then a `VisualNode` can appear twice in its parent `ChildrenCollection` when an earlier sibling is made invisible.
Fixes #3115
7 years ago
Steven Kirk
f6525de3c8
Added failing test for #3115 .
7 years ago
Steven Kirk
5e9f3067ce
Fix off-by-N error in VisualNode.TrimChildren.
And added unit test.
7 years ago
Steven Kirk
25e0ed5365
Revert "Handle reparenting controls in SceneBuilder."
This reverts commit db8751d711 .
The change was incorrect, it causes #3019 .
7 years ago
Steven Kirk
db8751d711
Handle reparenting controls in SceneBuilder.
Renamed `VisualNode.SortChildren` -> `UpdateChildren` and make it remove nodes for controls that are no longer children.
7 years ago
Steven Kirk
249e9940da
Added failing tests for #2982 .
Crash in renderer when reparenting a control.
7 years ago
Steven Kirk
cdb486fe23
Fix NRE in VisualNode.SortChildren.
`_children` may be null. In addition if there are < 2 children, there's no sorting to be done.
7 years ago
Steven Kirk
a39c804e72
Added failing test for #2381 .
7 years ago
Steven Kirk
028d42c7b2
Add additional failing test for #2053 .
7 years ago
Benedikt Schroeder
c0dd75bcce
Refactoring
Add interpolation to TileBrush
8 years ago
Benedikt Schroeder
f6c9aa88b9
Naming fixes
8 years ago
Benedikt Schroeder
4d525aac6c
Code style
8 years ago
Jeremy Koritzinsky
87a91e186c
Clean up usage of global ILayoutManager from after this PR was originally created.
8 years ago
Steven Kirk
2d1ab0a106
Only update clip bounds when ClipToBounds = true.
Fixes #1436
8 years ago
Steven Kirk
87d7f65eb8
Added failing test for #1420 .
8 years ago
Jeremy Koritzinsky
8817910549
Add ref-counting for the scene instance in DeferredRenderer to ensure that we don't dispose a scene while it is being rendered.
Also rename Scene.Clone to Scene.CloneScene to prevent confusion between IRef<Scene>.Clone and Scene.Clone.
8 years ago
Jeremy Koritzinsky
74f8930277
Fixed bug in TrimDrawOperations that wasn't disposing draw operations correctly.
8 years ago
Jeremy Koritzinsky
7e174a79e0
Refactored refcounting and added tests for refcount tracking in the DeferredRenderer and friends.
8 years ago
Jeremy Koritzinsky
8b97174735
Fix tests to correctly access the item of the ref-counted instance.
8 years ago
Jeremy Koritzinsky
952f89883d
Fix build errors in SceneGraph and DeferredRenderer tests.
8 years ago
Steven Kirk
9609d93f3b
Don't create render layers for non-parent controls.
Only create a new render layer when a control has both an animating opacity _and_ children.
8 years ago
Steven Kirk
68bdbca899
Only create render layers when Opacity is animating.
Previously we were creating a new render layer for all controls with `Opacity != 1`. This was causing the `Calendar` page in ControlCatalog to render _really_ slowly. Instead, only create a new render layer when `Opacity` is being animated.
Also don't even render controls where `Opacity == 0`.
8 years ago
Steven Kirk
5cc5b91930
Fix xunit warnings.
8 years ago
Steven Kirk
d1eb0512bb
Added failing test for #1171 .
9 years ago
Steven Kirk
5fd6f5ac6d
Snap bounding boxes to pixels.
9 years ago
Steven Kirk
7de42e02e1
Clear scene for invisible root visuals.
When a root visual is hidden, clear `DeferredRenderer._scene` and completely rebuild it if it is shown again.
Fixes #1096
9 years ago
Steven Kirk
0f81420ee2
Don't remove root layer when hiding root.
9 years ago
Steven Kirk
059b937237
Set dirty rect when control removed/hidden.
And added unit tests. This bug resulted in a glitch on the Carousel page
in ControlCatalog when the images were scrolled.
9 years ago
Steven Kirk
5e4f5a6160
Handle geometry clips on child layers.
9 years ago
Steven Kirk
bfd8c04149
Make geometry clips work.
Still problems with hit-testing and geometry clips aren't propogated to
new layers.
9 years ago
Steven Kirk
d1e322c94b
Added failing test.
RenderTransforms aren't being applied correctly after initial scene
build.
9 years ago
Steven Kirk
c39fd38622
Make OpacityMask work in deferred renderer.
9 years ago
Steven Kirk
69bca2cf89
Got VisualBrushes working again.
9 years ago
Steven Kirk
0a36466021
Run render tests with deferred renderer.
Make render tests run all tests with both the deferred and immediate
renderer.
9 years ago
Steven Kirk
6d3ca92a4c
WIP: Getting resizing working.
9 years ago
Steven Kirk
ec2998728e
Store layers in Scene.
Layers are now calculated by SceneBuilder and stored in Scene. This
means we are no longer accessing `visual.Opacity` from the render thread
(and `VerifyAccess` calls have been placed in AvaloniaObject.GetValue
and friends to ensure this cannot happen). ControlCatalog is now
rendering mostly fine.
9 years ago
Steven Kirk
97ea14d58c
More work on deferred renderer.
Getting opacity layers working.
9 years ago
Steven Kirk
d34c279ba1
WIP: Adding render layers.
9 years ago
Steven Kirk
1f985abaa6
Refactored VisualNode.
It now has two collections: Children and DrawOperations.
9 years ago
Steven Kirk
6b6474bc8d
Fix bounds clipping.
9 years ago
Steven Kirk
43c95346b6
Fix non-compiling tests.
9 years ago
Steven Kirk
52c3daea11
Initial implementation of dirty rect drawing.
9 years ago
Steven Kirk
3c189cbe82
Make SceneBuilder update dirty rects.
10 years ago
Steven Kirk
934e18c8ba
Initial impl of incremental update to SceneGraph.
10 years ago
Steven Kirk
86216d9420
Use scene geometry for hit-testing.
This means we now correctly hit test circles etc.
10 years ago
Steven Kirk
d91d1829ac
Initial implementation of scenegraph hit testing.
Based solely on control bounds as before.
10 years ago
Steven Kirk
ada15eba00
Initial implementation of low-level scene graph.
Whole tree is currently being updated and rendered still though and lots doesn't even build.
10 years ago