MenstrualCyclePainter constructor

MenstrualCyclePainter({
  1. required int totalCycleDays,
  2. int selectedDay = 0,
  3. String menstruationName = "Menstruation",
  4. required int menstruationDayCount,
  5. Color menstruationColor = defaultMenstruationColor,
  6. Color menstruationBackgroundColor = defaultMenstruationColorBg,
  7. Color menstruationDayTextColor = defaultBlackColor,
  8. Color menstruationTextColor = defaultMenstruationColor,
  9. String follicularPhaseName = "Follicular phase",
  10. required int follicularDayCount,
  11. Color follicularPhaseDayTextColor = defaultBlackColor,
  12. Color follicularPhaseColor = defaultFollicularColor,
  13. Color follicularBackgroundColor = defaultFollicularColorBg,
  14. Color follicularTextColor = defaultFollicularColor,
  15. String ovulationName = "Ovulation",
  16. required int ovulationDayCount,
  17. Color ovulationDayTextColor = defaultBlackColor,
  18. Color ovulationColor = defaultOvulationColor,
  19. Color ovulationBackgroundColor = defaultOvulationColorBg,
  20. Color ovulationTextColor = defaultOvulationColor,
  21. String lutealPhaseName = "Luteal phase",
  22. Color lutealPhaseColor = defaultLutealPhaseColor,
  23. Color lutealPhaseBackgroundColor = defaultLutealPhaseColorBg,
  24. Color lutealPhaseTextColor = defaultLutealPhaseColor,
  25. Color lutealPhaseDayTextColor = defaultBlackColor,
  26. Image? imageAssets,
  27. double imgSize = 30,
  28. Color centralCircleBackgroundColor = defaultCentralCircleBackgroundColor,
  29. double centralCircleSize = 25,
  30. String dayTitle = "Day",
  31. double dayTitleFontSize = 5,
  32. double dayFontSize = 12,
  33. double selectedDayFontSize = 18,
  34. double selectedDayCircleSize = 18,
  35. Color dayTextColor = defaultBlackColor,
  36. Color selectedDayBackgroundColor = Colors.white,
  37. Color selectedDayTextColor = defaultBlackColor,
  38. Color selectedDayCircleBorderColor = Colors.transparent,
  39. double insidePhasesTextSize = 8,
  40. bool isShowDayTitle = true,
  41. double circleDaySize = 13,
  42. FontWeight dayFontWeight = FontWeight.normal,
  43. MenstrualCycleTheme theme = MenstrualCycleTheme.basic,
  44. PhaseTextBoundaries phaseTextBoundaries = PhaseTextBoundaries.inside,
  45. double arcStrokeWidth = 30,
  46. double outsidePhasesTextSize = 12,
  47. int outsideTextCharSpace = 3,
  48. int outsideTextSpaceFromArc = 30,
  49. Color centralCircleBorderColor = Colors.transparent,
  50. int centralCircleBorderSize = 1,
  51. bool isRemoveBackgroundPhaseColor = false,
  52. MenstrualCycleViewType viewType = MenstrualCycleViewType.none,
  53. String title = "",
  54. Color titleTextColor = Colors.black,
  55. double titleTextSize = 20,
  56. FontWeight titleFontWeight = FontWeight.bold,
  57. String message = "",
  58. Color messageTextColor = Colors.black45,
  59. double messageTextSize = 10,
  60. FontWeight messageFontWeight = FontWeight.normal,
  61. int spaceBtnTitleMessage = 20,
})

Implementation

MenstrualCyclePainter(
    {required this.totalCycleDays,
    this.selectedDay = 0,
    // Menstruation Params
    this.menstruationName = "Menstruation",
    required this.menstruationDayCount,
    this.menstruationColor = defaultMenstruationColor,
    this.menstruationBackgroundColor = defaultMenstruationColorBg,
    this.menstruationDayTextColor = defaultBlackColor,
    this.menstruationTextColor = defaultMenstruationColor,

    // Follicular Phase Params
    this.follicularPhaseName = "Follicular phase",
    required this.follicularDayCount,
    this.follicularPhaseDayTextColor = defaultBlackColor,
    this.follicularPhaseColor = defaultFollicularColor,
    this.follicularBackgroundColor = defaultFollicularColorBg,
    this.follicularTextColor = defaultFollicularColor,

    // ovulation Phase Params
    this.ovulationName = "Ovulation",
    required this.ovulationDayCount,
    this.ovulationDayTextColor = defaultBlackColor,
    this.ovulationColor = defaultOvulationColor,
    this.ovulationBackgroundColor = defaultOvulationColorBg,
    this.ovulationTextColor = defaultOvulationColor,

    // luteal Phase Params
    this.lutealPhaseName = "Luteal phase",
    this.lutealPhaseColor = defaultLutealPhaseColor,
    this.lutealPhaseBackgroundColor = defaultLutealPhaseColorBg,
    this.lutealPhaseTextColor = defaultLutealPhaseColor,
    this.lutealPhaseDayTextColor = defaultBlackColor,

    // Central Circle
    this.imageAssets,
    this.imgSize = 30,
    this.centralCircleBackgroundColor = defaultCentralCircleBackgroundColor,
    this.centralCircleSize = 25,

    // Day Params
    this.dayTitle = "Day",
    this.dayTitleFontSize = 5,
    this.dayFontSize = 12,
    this.selectedDayFontSize = 18,
    this.selectedDayCircleSize = 18,
    this.dayTextColor = defaultBlackColor,
    this.selectedDayBackgroundColor = Colors.white,
    this.selectedDayTextColor = defaultBlackColor,
    this.selectedDayCircleBorderColor = Colors.transparent,
    this.insidePhasesTextSize = 8,
    this.isShowDayTitle = true,
    this.circleDaySize = 13, //Only when Theme is MenstrualCycleTheme.circle
    this.dayFontWeight = FontWeight.normal,
    this.theme = MenstrualCycleTheme.basic,
    this.phaseTextBoundaries = PhaseTextBoundaries.inside,
    this.arcStrokeWidth = 30,
    this.outsidePhasesTextSize = 12,
    this.outsideTextCharSpace = 3,
    this.outsideTextSpaceFromArc = 30,
    this.centralCircleBorderColor = Colors.transparent,
    this.centralCircleBorderSize = 1,
    this.isRemoveBackgroundPhaseColor = false,
    this.viewType = MenstrualCycleViewType.none,
    this.title = "",
    this.titleTextColor = Colors.black,
    this.titleTextSize = 20,
    this.titleFontWeight = FontWeight.bold,
    this.message = "",
    this.messageTextColor = Colors.black45,
    this.messageTextSize = 10,
    this.messageFontWeight = FontWeight.normal,
    this.spaceBtnTitleMessage = 20});