Features

This package has other embedded inbuilt sub packages designed to make development easier and are used in my other libraries. See the likes of r_css, r_ui, r_store, r_auth etc...

Objects

  • Album : Read album documentation for more details.
  • Mat3D : More advanced immutable class to control Matrix 4.
  • Tranx : More effective and faster animation system that supports concatenation.
  • Shape : Advanced class to hold your path of a shape as an object and more cool stuffs.
  • Gson : An easy to work with mapping system where you can use symbols as key.

Extensions and Utils

  • Array : ~Iterable class - operator(*) and functions(at, atFirst and atLast).
  • Calendar : ~DateTime - Added functions (format).
  • Color: ~Color - functions(invert).
  • Geometry: functions(qp), ~Offset, ~Size, ~Rect.
  • Grammar: ~String - functions(toSuperCase, toSentenceCase, charseq)
  • ID: ~Symbol - functions(name, thread, and, to, startsWith, endsWith, contains...)
  • Timer: static - function(secs, mins, hrs, days, parse), ~Duration - getter(wait)

Getting started

Very easy... add r_core: ^<current_version> to your pubspec.yaml, import 'package:r_core/r_core.dart' and there you go 😎.

Usage


/// ## Note @Album
/// ...
class NoteAlbum extends Album {
  //.*
  NoteAlbum({
    String? title,
    String? content,
  }) : super({
          #title: title,
          #content: content,
        }) {
    //...loggers
    Album.prePrime(widgetPrimer);
  }

  String? get title => gson[#title];

  String? get content => gson[#content];

  bool get hasTitle => title?.isNotEmpty ?? false;

  Widget widgetPrimer(NoteAlbum album) async {
    //.*
    await Timer.secs(2.5).wait;
    return Tranx.create(vsync: vsync) &
        (fx) =>
        PaintingWidget((canvas, rect) {
          //...painting
          final paint = Paint()
            ..color = Colors.white.withAlpha(25)
            // animates from 0.1 to 4.0
            ..strokeWidth = fx(0.1, 4.0)
            ..strokeCap = StrokeCap.round
            ..strokeJoin = StrokeJoin.round
            ..isAntiAlias = true;

          final line = Line.ascend(rect);
          final arc = Arc.relative(line, qp.a(0.8));
          final acute = Acute.relative(line, -qp.a(0.9));
          final circle = Circle(rect.align(-qp.a(0.8, 0.7)), line.height);

          (-acute & circle & arc).fill(canvas, paint);
        });
  }
}

Additional information

About Rey

Fun loving - Just kidding kinda kid... Lol! Hit me up for your ready made mobile apps

Libraries

r_core