MenstrualCyclePainter constructor
MenstrualCyclePainter({
- required int totalCycleDays,
- int selectedDay = 0,
- String menstruationName = "Menstruation",
- required int menstruationDayCount,
- Color menstruationColor = defaultMenstruationColor,
- Color menstruationBackgroundColor = defaultMenstruationColorBg,
- Color menstruationDayTextColor = defaultBlackColor,
- Color menstruationTextColor = defaultMenstruationColor,
- String follicularPhaseName = "Follicular phase",
- required int follicularDayCount,
- Color follicularPhaseDayTextColor = defaultBlackColor,
- Color follicularPhaseColor = defaultFollicularColor,
- Color follicularBackgroundColor = defaultFollicularColorBg,
- Color follicularTextColor = defaultFollicularColor,
- String ovulationName = "Ovulation",
- required int ovulationDayCount,
- Color ovulationDayTextColor = defaultBlackColor,
- Color ovulationColor = defaultOvulationColor,
- Color ovulationBackgroundColor = defaultOvulationColorBg,
- Color ovulationTextColor = defaultOvulationColor,
- String lutealPhaseName = "Luteal phase",
- Color lutealPhaseColor = defaultLutealPhaseColor,
- Color lutealPhaseBackgroundColor = defaultLutealPhaseColorBg,
- Color lutealPhaseTextColor = defaultLutealPhaseColor,
- Color lutealPhaseDayTextColor = defaultBlackColor,
- Image? imageAssets,
- double imgSize = 30,
- Color centralCircleBackgroundColor = defaultCentralCircleBackgroundColor,
- double centralCircleSize = 25,
- String dayTitle = "Day",
- double dayTitleFontSize = 5,
- double dayFontSize = 12,
- double selectedDayFontSize = 18,
- double selectedDayCircleSize = 18,
- Color dayTextColor = defaultBlackColor,
- Color selectedDayBackgroundColor = Colors.white,
- Color selectedDayTextColor = defaultBlackColor,
- Color selectedDayCircleBorderColor = Colors.transparent,
- double insidePhasesTextSize = 8,
- bool isShowDayTitle = true,
- double circleDaySize = 13,
- FontWeight dayFontWeight = FontWeight.normal,
- MenstrualCycleTheme theme = MenstrualCycleTheme.basic,
- PhaseTextBoundaries phaseTextBoundaries = PhaseTextBoundaries.inside,
- double arcStrokeWidth = 30,
- double outsidePhasesTextSize = 12,
- int outsideTextCharSpace = 3,
- int outsideTextSpaceFromArc = 30,
- Color centralCircleBorderColor = Colors.transparent,
- int centralCircleBorderSize = 1,
- bool isRemoveBackgroundPhaseColor = false,
- MenstrualCycleViewType viewType = MenstrualCycleViewType.none,
- String title = "",
- Color titleTextColor = Colors.black,
- double titleTextSize = 20,
- FontWeight titleFontWeight = FontWeight.bold,
- String message = "",
- Color messageTextColor = Colors.black45,
- double messageTextSize = 10,
- FontWeight messageFontWeight = FontWeight.normal,
- 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});