Steven Kirk
6be3acb46c
Make ValueStore typed.
Major refactor of the Avalonia core to make the styled property store typed.
6 years ago
Steven Kirk
e126874c80
Handle cross-root reparenting.
When updating the scene for a window, moving a control to a different root should be the same as just removing the control.
6 years ago
Benedikt Schroeder
872cef0176
Introduce abstract font manager
6 years ago
Benedikt Schroeder
9d105c7dbb
Introduce a static FontManager that uses a platform implementation under the hood.
6 years ago
Benedikt Schroeder
83bfb8ec70
Initial implementation of a font manager
6 years ago
Steven Kirk
d1ad46d07e
Ensure child node has correct parent.
When updating the scene, if a control has been reparented then a new `VisualNode` needs to be created to prevent #3095 . Check that an existing node has the correct parent and if it doesn't, deindex it and create a new node.
Fixes #3095
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
5e9f3067ce
Fix off-by-N error in VisualNode.TrimChildren.
And added unit test.
7 years ago
Dariusz Komosinski
a2c6bc1b7c
Remove usage of AddClassHandler that returns new lambda per invocation.
7 years ago
Dariusz Komosinski
58af056440
Streamline object.Equals implementation.
7 years ago
Dariusz Komosinski
cb663f98b1
Add missing IEquatable interfaces to structs. Standardize parsing error messages. Fix two instances of boxing in hash code.
7 years ago
Dariusz Komosinski
5814bd7163
Remove direct logging functions.
7 years ago
Dariusz Komosinski
01a404836e
Reduce allocations caused by logging.
7 years ago
Andrey Kunchev
f4c7f63ae7
remove wrong logic for path assume line by default if command is missing
7 years ago
Andrey Kunchev
a675cd2e68
when close figure set current point back to start, fixes partially #3053
7 years ago
Steven Kirk
c569f4b474
Handle reparenting controls in SceneBuilder.
Attempt #2 after db8751d711 caused issue #3019 .
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
Dariusz Komosinski
c755334dde
Review feedback.
7 years ago
Dariusz Komosinski
671361c805
Remove extra lambda allocations from render loop.
7 years ago
Dariusz Komosinski
c37b911fe5
Seal unlock classes.
7 years ago
Dariusz Komosinski
edd6fd626f
Make sure that unlock API is still safe.
7 years ago
Dariusz Komosinski
a9da85e4ae
Avoid per-frame allocations in renderer lock.
7 years ago
Dariusz Komosinski
394b8f77b7
Get rid of allocations in Rect.TransformToAABB.
7 years ago
Josua Jäger
ba873bf339
use field directly instead of property
Co-Authored-By: Benedikt Schroeder <Gillibald@users.noreply.github.com>
7 years ago
JaggerJo
b475acab1e
- add tests
- add instance methods for normalize & negate
- make length squared simpler
7 years ago
JaggerJo
22ac34d89b
add
- Zero
- One
- UnitX
- UnitY
7 years ago
Josua Jäger
7d96244e3c
add squared length
7 years ago
Nikita Tsukanov
07ed194c9d
Review comments
7 years ago
Steven Kirk
0dce4cfc6f
Set capacity seeing as we know it.
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
e82d67f664
Prevent NRE in VisualNode.HitTest.
Not sure how this is happening but judging by #2758 , it can happen. Defensively check for a null `Item` to prevent this.
Fixes #2758 .
7 years ago
Nikita Tsukanov
3e786dbadb
PixelVector and stuff
7 years ago
Steven Kirk
0e7f4cac81
Ensure control is invalidated on ZIndex change.
7 years ago
Steven Kirk
bc5a101faf
Render changes to child order/zindex.
Fixes #2714 .
7 years ago
Steven Kirk
32d7938c7c
Added failing tests for #2714 .
7 years ago
Steven Kirk
b8c4c0e873
Fix failing tests.
7 years ago
Steven Kirk
1a34920a79
Don't implement equality for mutable pens.
See https://github.com/AvaloniaUI/Avalonia/pull/2747#issuecomment-513210645
7 years ago
JaggerJo
ce92286112
add basic operations as static methods and use them in the declared operators.
- Dot
- Cross
- Normalize
- Divide
- Multiply
- Add
- Subtract
- Negate
7 years ago
Steven Kirk
52c3b6de59
Use ValueTuple to calculate hash.
7 years ago
Dariusz Komosinski
e4ee2c3a6a
Clear _inner collection in RenderLayers.Clear
7 years ago
Steven Kirk
c5aca41691
Use custom SequenceEqual.
LINQ version is slower and this is potentially a hot path.
7 years ago
Steven Kirk
e235efe388
Implement DashStyle equality.
7 years ago
Steven Kirk
2523e7a290
Remove IMutablePen.
It's not really needed. Mutable pens will always be `Pen`s.
7 years ago
Steven Kirk
2af5a03c2d
Make DashStyle mutable.
7 years ago
Steven Kirk
3c1dfcfcf5
Added equality test.
And fix bug in `DashStyle`.
7 years ago
Steven Kirk
afa594cd48
Implemented equality for Pens.
7 years ago
Steven Kirk
21093cac31
Make sure immutable pen has immutable brush.
7 years ago
Steven Kirk
cad119ebfb
Invalidate Pen when properties change.
7 years ago