Giter VIP home page Giter VIP logo

Comments (8)

grokys avatar grokys commented on July 25, 2024

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.

amerkoleci avatar amerkoleci commented on July 25, 2024

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.

grokys avatar grokys commented on July 25, 2024

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.

amerkoleci avatar amerkoleci commented on July 25, 2024

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.

grokys avatar grokys commented on July 25, 2024

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.

amerkoleci avatar amerkoleci commented on July 25, 2024

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.

SuperJMN avatar SuperJMN commented on July 25, 2024

Hey, just for our information, I'm working on a ITreeReplicator that takes a PerspexObject and generates a replica of it :)

from avalonia.

grokys avatar grokys commented on July 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.