Code Monkey home page Code Monkey logo

matrix4_transform's People

Contributors

hugoheneault avatar marcglasberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

matrix4_transform's Issues

Matrix4TransformTween improvement

would it be possible to change Matrix4TransformTween in such a way it does not use broken Matrix4Tween.lerp method? now when matrix uses non trivial transformations the results are weird: "Since Matrix4Tween will not animate linearly as you'd expect, it's possible that the intermediary transformations will be "strange", although the start and end should be correct."

Is there a Flutter Web support? (It shows yes)

I want to use this great package on my web application too. Yet there is an error like this

Unable to find modules for some sources, this is usually the result of either a
bad import, a missing dependency in a package (or possibly a dev_dependency
needs to move to a real dependency), or a build failure (if importing a
generated file).

Please check the following imports:

`import 'package:matrix4_transform/matrix4_transform.dart';` 

matrix4_transform: 1.1.3 I have it on pubspec.yaml like this. What could be the reason since on the pub page, WEB support is shown? https://pub.dev/packages/matrix4_transform

SOLVED: It's my bad. I've just forgotten to run flutter clean then rebuilding. For Flutter Web, I've experienced that before after adding new packages. Sometimes the cached build causes that.

It works as expected. Thanks again.

Child gets distorted..

Hi
if I scale horizontally but keep the height constant, the child gets distorted. How to make the child resize automatically rather than scale with the parent?

problem with from contractor

Hi!
I want to transform a widget on onScaleUpdate event then I used Matrix4Transform like this:

GestureDetector(
  onScaleStart: (d) {
    dx = d.focalPoint.dx;
    dy = d.focalPoint.dy;
  },
  onScaleUpdate: (d) {
    setState(() {
      matrix = Matrix4Transform()
          .translate(x: d.focalPoint.dx - dx, y: d.focalPoint.dy - dy)
          .scale(d.scale)
          .rotate(d.rotation)
          .matrix4;
    });
  },
  child: Center(
    child: Transform(
      transform: matrix,
      alignment: FractionalOffset.center,
      child: Container(width: 100, height: 100, color: Colors.red),
    ),
  ),
)

It works fine, but the problem is, I want to keep last transform on Matrix4 object and use it on the next transform, then I've tried using from contractor like this:

onScaleUpdate: (d) {
    setState(() {
      matrix = Matrix4Transform.fom(matrix)
          .translate(x: d.focalPoint.dx - dx, y: d.focalPoint.dy - dy)
          .scale(d.scale)
          .rotate(d.rotation)
          .matrix4;
    });
  },

But it does not work how I expected, as you can see it's too sharp:
am I using it wrong? any suggestion?

ezgif com-video-to-gif(2)

Add an example with AnimatedContainer in ReadMe section.

Hi, dear Marc!

This package is a lifesaver, thank you! Normally, I needed to use an animation, a controller and all that boilerplate.

I was searching for a way to use the transform: property of the AnimatedContainer since it will save me from all that hustle. Found Matrix4Transform at the superb timing!

There isn't any issue actually but you can advertise this package by showing the animation power. And since it's chainable, I can create very complex animations.

AnimatedContainer(
  duration: animationDuration,
  curve: animationCurve,
  transform: Matrix4Transform()
    .translate(
       x: 0,
       y: !widget.isEditModeActive ? 0 : 40,
     ).matrix4,
  child: widget.child,
)

Skew support

It is currently hard and not intuitive to skew a widget with the out of box transformations. For instance I am having very hard time trying to transform a rectangle [] in to a lets say "railroad in perspective" /\ since it is easier with this package to use matrix4, I would be glad if skew is supported intuitively too:) thanks

problems in canvas

I can't get it working in canvas:

   canvas.drawRect(destRect, Paint()..color = Colors.white10);

    canvas.save();

    final matrix = Matrix4Transform()
        .scaleBy(
          x: letterAnimations.scale.value,
          y: letterAnimations.scale.value,
          origin: Offset(destRect.width / 2, destRect.height / 2),
        )
        .matrix4;

    canvas.transform(matrix.storage);

    canvas.drawRect(destRect, Paint()..color = Colors.white10);

    canvas.restore();

I expect those rects to overlap

Screenshot from 2023-11-20 01-12-26

Support null safety

The library 'package:matrix4_transform/matrix4_transform.dart' is legacy, and should not be imported into a null safe library.
Try migrating the imported library.

Error: This project cannot run with sound null safety, because one or more project dependencies do not
support null safety:

  • package:matrix4_transform

dependencies:
matrix4_transform: ^1.1.6

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.