line.dart 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import 'package:fis_lib_report/converts/pt_to_px_converter.dart';
  2. import 'package:fis_lib_report/pages/helpler.dart';
  3. import 'package:fis_lib_report/report/line.dart';
  4. import 'package:fis_lib_report/report/rt_thickness.dart';
  5. import 'package:flutter/cupertino.dart';
  6. import 'package:flutter/material.dart';
  7. class RLine extends StatefulWidget {
  8. final Line line;
  9. RLine(this.line);
  10. @override
  11. State<StatefulWidget> createState() {
  12. return _LineState();
  13. }
  14. }
  15. class _LineState extends State<RLine> {
  16. _LineState();
  17. @override
  18. initState() {
  19. super.initState();
  20. }
  21. @override
  22. Widget build(BuildContext context) {
  23. ///TODO(Loki):设置虚线or实线
  24. final borderStyle = widget.line.borderStyle;
  25. final stroke = widget.line.stroke!;
  26. final a = stroke.a!;
  27. final r = stroke.r!;
  28. final g = stroke.g!;
  29. final b = stroke.b!;
  30. final margin = widget.line.margin ?? RTThickness.uniform(0);
  31. return Container(
  32. height: 10, //TODO(Loki):这里的Height在Json中没有
  33. alignment: Alignment.center,
  34. margin: EdgeInsets.only(
  35. top: margin.top!,
  36. bottom: margin.bottom!,
  37. right: margin.left!,
  38. left: margin.left!),
  39. width: PtToPxConverter.ptToPx(widget.line.width),
  40. child: Divider(
  41. height: widget.line.thickness,
  42. thickness: widget.line.thickness,
  43. color: Color.fromARGB(a, r, g, b),
  44. ),
  45. );
  46. }
  47. }