Skip to content

Instantly share code, notes, and snippets.

View roipeker's full-sized avatar
🏠
Working from home

Roi Peker roipeker

🏠
Working from home
View GitHub Profile
@roipeker
roipeker / bitmap2.dart
Created May 18, 2021 23:50
Trying to mimic AS3 API for BitmapData in Flutter, (pixel data manipulation), not included in GraphX.
/// GraphX DisplayObject.
import 'package:graphx/graphx.dart';
import 'package:graphx_basics/scenes/bitmap_data.dart';
class Bitmap2 extends DisplayObject {
BitmapData _bd;
set bitmapData(BitmapData value) => _bd = value;
BitmapData get bitmapData => _bd;
Bitmap2([BitmapData bd]) {
@roipeker
roipeker / demo.dart
Created March 26, 2021 22:20
Auto constrained height for PageView (same concept applies to ListView).
/// uses getx to notify changes.
final _pagesSizes = <double>[120, 150, 180, 210];
final count = 4.obs;
class DemoAutoSizePageView extends StatefulWidget {
@override
_DemoAutoSizePageViewState createState() => _DemoAutoSizePageViewState();
}
class _DemoAutoSizePageViewState extends State<DemoAutoSizePageView> {
@roipeker
roipeker / main.dart
Created March 9, 2021 01:41
Getx bottom navigation, subnav in home.
import 'package:flutter/material.dart';
import 'package:get/get.dart';
void main() {
runApp(MyApp());
}
class MyNavModel {
static final Map<String, MyNavModel> urls = {};
final IconData icon;
@roipeker
roipeker / lungs_demo.dart
Created February 26, 2021 02:38
GraphX: lungs animation demo
/// roipeker 2020
///
import 'package:flutter/material.dart';
import 'package:graphx/graphx.dart';
import 'scene.dart';
class LungsMain extends StatelessWidget {
@override
Widget build(BuildContext context) {
@roipeker
roipeker / api_errors.dart
Last active February 27, 2021 21:02
Dart generic api response.
/*
* Copyright (c) 2020. roipeker™ [Rodrigo López Peker]
* All rights reserved.
*/
import 'api_response.dart';
// ignore: avoid_classes_with_only_static_members
abstract class ApiErrors {
static const defaultError = 'No se puede procesar la data';
@roipeker
roipeker / digit_input.dart
Created February 10, 2021 12:09
PIN code sample with hidden TextField.
/// roipeker 2021.
import 'package:cryptericon/utils/common.dart';
class EditPhoneConfirmationView extends GetView<MyTextInputController> {
static const id = '/contact-edit/phone/confirmation';
@override
Widget build(BuildContext context) {
Get.put(MyTextInputController());
@roipeker
roipeker / main.dart
Last active April 15, 2021 08:57
GetX: button with loading state
/// LIVE DEMO: https://dartpad.dev/embed-flutter.html?theme=dark&id=2ac7575bcff374bd170a125b916c8b41
import 'dart:developer' as developer; import 'dart:async'; import 'dart:collection'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/scheduler.dart'; import 'dart:math' as math; import 'dart:ui' as ui; import 'dart:typed_data'; import 'dart:convert';
// ignore: avoid_web_libraries_in_flutter
import 'dart:html' as html;
import 'package:flutter/material.dart';
class ButtonController extends GetxController {
static const kColorOut = Color(0xff2C2C2C);
@roipeker
roipeker / main.dart
Last active February 1, 2021 19:39
graphx dartpad test
/// ---- graphx imports.
import 'dart:collection';
import 'dart:convert';
import 'dart:developer' as dev;
import 'dart:math' as math;
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
@roipeker
roipeker / dripping.dart
Last active February 11, 2021 16:37
GraphX: dripping serum (graphx v0.9.8)
/// roipeker 2021.
/// 10-02-21: updated for graphx: ^0.9.8 (flutter_svg was removed from dependencies)
///
/// pubspec dependencies
///
/// dependencies:
/// flutter:
/// sdk: flutter
/// graphx: ^0.9.8
@roipeker
roipeker / main.dart
Last active April 15, 2021 08:57
GetX navigation with minified library for dartpad.
import 'dart:developer' as developer; import 'dart:async'; import 'dart:collection'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/scheduler.dart'; import 'dart:math' as math; import 'dart:ui' as ui; import 'dart:typed_data'; import 'dart:convert';
// ignore: avoid_web_libraries_in_flutter
import 'dart:html' as html;
void main() {
runApp(SampleMultiNavColors());
}
class SampleMultiNavColors extends StatelessWidget {
@override