alignment_convert.dart 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import 'package:fis_lib_report/report/interfaces/position_layout.dart';
  2. import 'package:flutter/widgets.dart';
  3. class AlignmentConvert {
  4. static TextAlignVertical verticalAlignmentConvert(VerticalLayout? value) {
  5. if (value == null) {
  6. return TextAlignVertical.center;
  7. }
  8. switch (value) {
  9. case VerticalLayout.Top:
  10. return TextAlignVertical.top;
  11. case VerticalLayout.Bottom:
  12. return TextAlignVertical.bottom;
  13. case VerticalLayout.Center:
  14. return TextAlignVertical.center;
  15. case VerticalLayout.Stretch:
  16. return TextAlignVertical.center;
  17. }
  18. }
  19. static TextAlign horizontalAlignmentConvert(HorizontalLayout? value) {
  20. if (value == null) {
  21. return TextAlign.center;
  22. } else {
  23. switch (value) {
  24. case HorizontalLayout.Left:
  25. return TextAlign.left;
  26. case HorizontalLayout.Center:
  27. return TextAlign.center;
  28. case HorizontalLayout.Right:
  29. return TextAlign.right;
  30. case HorizontalLayout.Stretch:
  31. return TextAlign.justify;
  32. }
  33. }
  34. }
  35. static MainAxisAlignment horizontalToMainConvert(HorizontalLayout? value) {
  36. if (value == null) {
  37. return MainAxisAlignment.start;
  38. } else {
  39. switch (value) {
  40. case HorizontalLayout.Left:
  41. return MainAxisAlignment.spaceAround;
  42. case HorizontalLayout.Center:
  43. return MainAxisAlignment.center;
  44. case HorizontalLayout.Right:
  45. return MainAxisAlignment.end;
  46. case HorizontalLayout.Stretch:
  47. return MainAxisAlignment.spaceEvenly;
  48. }
  49. }
  50. }
  51. static Alignment verticalLayoutConvert(VerticalLayout? value) {
  52. if (value == null) {
  53. return Alignment.center;
  54. }
  55. switch (value) {
  56. case VerticalLayout.Top:
  57. return Alignment.topCenter;
  58. case VerticalLayout.Bottom:
  59. return Alignment.bottomCenter;
  60. case VerticalLayout.Center:
  61. return Alignment.center;
  62. case VerticalLayout.Stretch:
  63. return Alignment.centerLeft;
  64. }
  65. }
  66. }