in_memory.dart 902 B

1234567891011121314151617181920212223242526272829303132333435
  1. import 'dart:async';
  2. import 'dart:math';
  3. import 'dart:ui';
  4. import 'package:flutter/material.dart';
  5. import 'package:the_paint/src/generated/client.pb.dart';
  6. import 'package:the_paint/src/square/square.dart';
  7. class InMemorySquereData extends SquereData {
  8. final StreamController<MonitorReply> streamChannel =
  9. StreamController<MonitorReply>();
  10. InMemorySquereData(super.point);
  11. @override
  12. Stream<MonitorReply> getSteam() {
  13. paint(Point(1, 1), Colors.blueGrey);
  14. return streamChannel.stream;
  15. }
  16. @override
  17. void paint(Point<int> point, Color color) {
  18. // print(point.toString());
  19. streamChannel.add(MonitorReply(points: [
  20. MonitorPoint(
  21. point: BPoint(x: point.x, y: point.y),
  22. color: BColor(
  23. rgba: color.red |
  24. color.green << 8 |
  25. color.blue << 16 |
  26. color.alpha << 24))
  27. ]));
  28. }
  29. }