Comments (8)
This is something @SuperJMN is working on right now I believe.
However, could you give a use-case to help us understand what you need?
from avalonia.
Wpf has the concept of Freezable and Animatable, Brush derives from this so the user can Clone a brush and CloneCurrentValue (which clones instance and copies properties value).
from avalonia.
I think it's unlikely that Perpsex will have Freezable - it's more likely we'll go with immutable objects, though that hasn't been decided for definite.
However, I still don't know why you need cloning. Could you give a use-case? I.e. What are you trying to do?
from avalonia.
Wpf brush linear gradient and radial gradient can set the mapping mode (absolute or relative), during rendering (to Direct2D) I need to remap thoose values to bounds, thus I need to clone the brush and remap some values, I can with no problem hardcode the clone method but was wondering if you were going to implement this.
from avalonia.
Ok, thanks. Yes I need to work out how that situation will be handled. Do you see any problems with making gradient brushes mutable?
from avalonia.
Nope, basically I check whether the brush is relative to bounds and map start/end point in linear gradient brush, the mapping method is this:
public static Point MapPoint(Rect bounds, Point p)
{
return new Point(bounds.Left + p.X * bounds.Width, bounds.Top + p.Y * bounds.Height);
}
Same goes to radial gradient, you map center and center origin.
from avalonia.
Hey, just for our information, I'm working on a ITreeReplicator that takes a PerspexObject and generates a replica of it :)
from avalonia.
Closing this as I don't think it makes sense and would be hard when considering that the order in which properties are set makes a difference. Please re-open if you really need it.
from avalonia.
Related Issues (20)
- ILauncher is not working in browser HOT 1
- Avalonia.Browser 11.0.11 UP 11.1.0-beta2 ERROR HOT 3
- Name table parsing is incorrect HOT 5
- Returning UnsetValue in IValueConverter.ConvertBack is reported as a binding error
- Clipboard does not copy/paste objects when complied with .Net8 HOT 7
- Unpredictable behavior with KeyFrames using the same KeyTime
- GetRealizedTreeContainers doesn't return all the TreeViewItem HOT 5
- Avalonia.Browser 11.1.0-beta2 test error
- ToggleSwitch : knob transitions should not remove when dragging is false.
- DrawingContext has a mess in state management in 11.1.0-rc2. HOT 1
- `AvaloniaRuntimeXamlLoader.Load` fails if `x:Class` contains private members
- `ContextMenu.PlacementTarget` is always `null` HOT 1
- `VirtualizingStackPanel` scrolls more than expected when receiving a `Reset` event.
- Missing methods for DrawingContext HOT 2
- Request to have Visual Tree as default in Avalonia DevTools HOT 1
- Acrylic Blur on windows 11 - while screen sharing.
- Null Tooltip displays a blank tooltip
- Avalonia should not call into the Runtime after the main thread has exited HOT 5
- Mouse-wheel scrolling does not work when cursor is on scroll bar
- `TextLeadingPrefixTrimming` with `Run`s trims incorrectly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from avalonia.