summaryrefslogtreecommitdiff
path: root/xfa/src/fwl/src/basewidget/include/fwl_monthcalendarimp.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fwl/src/basewidget/include/fwl_monthcalendarimp.h')
-rw-r--r--xfa/src/fwl/src/basewidget/include/fwl_monthcalendarimp.h496
1 files changed, 248 insertions, 248 deletions
diff --git a/xfa/src/fwl/src/basewidget/include/fwl_monthcalendarimp.h b/xfa/src/fwl/src/basewidget/include/fwl_monthcalendarimp.h
index 4a659eda9e..f39ca82e37 100644
--- a/xfa/src/fwl/src/basewidget/include/fwl_monthcalendarimp.h
+++ b/xfa/src/fwl/src/basewidget/include/fwl_monthcalendarimp.h
@@ -1,248 +1,248 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _FWL_MONTHCALENDAR_IMP_H
-#define _FWL_MONTHCALENDAR_IMP_H
-class CFWL_WidgetImp;
-class CFWL_WidgetImpProperties;
-class CFWL_WidgetImpDelegate;
-class IFWL_Widget;
-class IFDE_DateTime;
-class CFDE_DateTime;
-extern uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth);
-class CFWL_MonthCalendarImp;
-class CFWL_MonthCalendarImpDelegate;
-class CFWL_MonthCalendarImp : public CFWL_WidgetImp {
- public:
- CFWL_MonthCalendarImp(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
- ~CFWL_MonthCalendarImp();
- virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const;
- virtual FX_DWORD GetClassID() const;
- virtual FWL_ERR Initialize();
- virtual FWL_ERR Finalize();
- virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
- virtual FWL_ERR Update();
- virtual FWL_ERR DrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
- virtual int32_t CountSelect();
- virtual FX_BOOL GetSelect(int32_t& iYear,
- int32_t& iMonth,
- int32_t& iDay,
- int32_t nIndex = 0);
- virtual FX_BOOL SetSelect(int32_t iYear, int32_t iMonth, int32_t iDay);
-
- protected:
- void DrawBkground(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawHeadBK(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawLButton(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawRButton(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawCaption(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawSeperator(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawDatesInBK(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawWeek(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawWeekNumber(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawWeekNumberSep(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawToday(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawDatesIn(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawDatesOut(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawDatesInCircle(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void DrawTodayCircle(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- CFX_SizeF CalcSize(FX_BOOL bAutoSize = FALSE);
- void LayOut();
- void CalcHeadSize();
- void CalcTodaySize();
- void CalDateItem();
- void GetCapValue();
- int32_t CalWeekNumber(int32_t iYear, int32_t iMonth, int32_t iDay);
-
- FX_BOOL GetMinDate(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
- FX_BOOL SetMinDate(int32_t iYear, int32_t iMonth, int32_t iDay);
- FX_BOOL GetMaxDate(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
- FX_BOOL SetMaxDate(int32_t iYear, int32_t iMonth, int32_t iDay);
- FX_BOOL InitDate();
- void ClearDateItem();
- void ReSetDateItem();
- FX_BOOL NextMonth();
- FX_BOOL PrevMonth();
- void ChangeToMonth(int32_t iYear, int32_t iMonth);
- FX_BOOL RemoveSelDay(int32_t iDay, FX_BOOL bAll = FALSE);
- FX_BOOL AddSelDay(int32_t iDay);
- FX_BOOL JumpToToday();
- void GetHeadText(int32_t iYear, int32_t iMonth, CFX_WideString& wsHead);
- void GetTodayText(int32_t iYear,
- int32_t iMonth,
- int32_t iDay,
- CFX_WideString& wsToday);
- int32_t GetDayAtPoint(FX_FLOAT x, FX_FLOAT y);
- FX_BOOL GetDayRect(int32_t iDay, CFX_RectF& rtDay);
- typedef struct _DATE {
- _DATE() {
- iYear = 0;
- iMonth = 0;
- iDay = 0;
- }
- _DATE(int32_t year, int32_t month, int32_t day)
- : iYear(year), iMonth(month), iDay(day) {}
- FX_BOOL operator<(const _DATE& right) {
- if (iYear < right.iYear) {
- return TRUE;
- } else if (iYear == right.iYear) {
- if (iMonth < right.iMonth) {
- return TRUE;
- } else if (iMonth == right.iMonth) {
- return iDay < right.iDay;
- }
- }
- return FALSE;
- }
- FX_BOOL operator>(const _DATE& right) {
- if (iYear > right.iYear) {
- return TRUE;
- } else if (iYear == right.iYear) {
- if (iMonth > right.iMonth) {
- return TRUE;
- } else if (iMonth == right.iMonth) {
- return iDay > right.iDay;
- }
- }
- return FALSE;
- }
- int32_t iYear;
- int32_t iMonth;
- int32_t iDay;
-
- } DATE, *LPDATE;
- FX_BOOL m_bInit;
- CFX_RectF m_rtHead;
- CFX_RectF m_rtWeek;
- CFX_RectF m_rtLBtn;
- CFX_RectF m_rtRBtn;
- CFX_RectF m_rtDates;
- CFX_RectF m_rtHSep;
- CFX_RectF m_rtHeadText;
- CFX_RectF m_rtToday;
- CFX_RectF m_rtTodayFlag;
- CFX_RectF m_rtWeekNum;
- CFX_RectF m_rtWeekNumSep;
- CFX_RectF m_rtTemp;
- CFX_WideString m_wsHead;
- CFX_WideString m_wsToday;
- CFX_DateTime* m_pDateTime;
- CFX_PtrArray m_arrDates;
- int32_t m_iCurYear;
- int32_t m_iCurMonth;
- int32_t m_iYear;
- int32_t m_iMonth;
- int32_t m_iDay;
- int32_t m_iHovered;
- int32_t m_iLBtnPartStates;
- int32_t m_iRBtnPartStates;
- DATE m_dtMin;
- DATE m_dtMax;
- CFX_SizeF m_szHead;
- CFX_SizeF m_szCell;
- CFX_SizeF m_szToday;
- typedef CFX_ArrayTemplate<int32_t> CFWL_Int32Array;
- CFWL_Int32Array m_arrSelDays;
- int32_t m_iMaxSel;
- CFX_RectF m_rtClient;
- FX_FLOAT m_fHeadWid;
- FX_FLOAT m_fHeadHei;
- FX_FLOAT m_fHeadBtnWid;
- FX_FLOAT m_fHeadBtnHei;
- FX_FLOAT m_fHeadBtnHMargin;
- FX_FLOAT m_fHeadBtnVMargin;
- FX_FLOAT m_fHeadTextWid;
- FX_FLOAT m_fHeadTextHei;
- FX_FLOAT m_fHeadTextHMargin;
- FX_FLOAT m_fHeadTextVMargin;
- FX_FLOAT m_fHSepWid;
- FX_FLOAT m_fHSepHei;
-
- FX_FLOAT m_fWeekNumWid;
- FX_FLOAT m_fSepDOffset;
- FX_FLOAT m_fSepX;
- FX_FLOAT m_fSepY;
-
- FX_FLOAT m_fWeekNumHeigh;
- FX_FLOAT m_fWeekWid;
- FX_FLOAT m_fWeekHei;
- FX_FLOAT m_fDateCellWid;
- FX_FLOAT m_fDateCellHei;
-
- FX_FLOAT m_fTodayWid;
- FX_FLOAT m_fTodayHei;
- FX_FLOAT m_fTodayFlagWid;
-
- FX_FLOAT m_fMCWid;
- FX_FLOAT m_fMCHei;
- friend class CFWL_MonthCalendarImpDelegate;
-};
-typedef struct _DATEINFO {
- _DATEINFO(int32_t day,
- int32_t dayofweek,
- FX_DWORD dwSt,
- CFX_RectF rc,
- CFX_WideString& wsday)
- : iDay(day),
- iDayOfWeek(dayofweek),
- dwStates(dwSt),
- rect(rc),
- wsDay(wsday) {}
- int32_t iDay;
- int32_t iDayOfWeek;
- FX_DWORD dwStates;
- CFX_RectF rect;
- CFX_WideString wsDay;
-} DATEINFO, *LPDATEINFO;
-class CFWL_MonthCalendarImpDelegate : public CFWL_WidgetImpDelegate {
- public:
- CFWL_MonthCalendarImpDelegate(CFWL_MonthCalendarImp* pOwner);
- int32_t OnProcessMessage(CFWL_Message* pMessage) override;
- FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL) override;
-
- protected:
- void OnActivate(CFWL_Message* pMsg);
- void OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
- void OnLButtonDown(CFWL_MsgMouse* pMsg);
- void OnLButtonUp(CFWL_MsgMouse* pMsg);
- void OnMouseMove(CFWL_MsgMouse* pMsg);
- void OnMouseLeave(CFWL_MsgMouse* pMsg);
- CFWL_MonthCalendarImp* m_pOwner;
-};
-#endif
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef _FWL_MONTHCALENDAR_IMP_H
+#define _FWL_MONTHCALENDAR_IMP_H
+class CFWL_WidgetImp;
+class CFWL_WidgetImpProperties;
+class CFWL_WidgetImpDelegate;
+class IFWL_Widget;
+class IFDE_DateTime;
+class CFDE_DateTime;
+extern uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth);
+class CFWL_MonthCalendarImp;
+class CFWL_MonthCalendarImpDelegate;
+class CFWL_MonthCalendarImp : public CFWL_WidgetImp {
+ public:
+ CFWL_MonthCalendarImp(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+ ~CFWL_MonthCalendarImp();
+ virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const;
+ virtual FX_DWORD GetClassID() const;
+ virtual FWL_ERR Initialize();
+ virtual FWL_ERR Finalize();
+ virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
+ virtual FWL_ERR Update();
+ virtual FWL_ERR DrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL);
+ virtual int32_t CountSelect();
+ virtual FX_BOOL GetSelect(int32_t& iYear,
+ int32_t& iMonth,
+ int32_t& iDay,
+ int32_t nIndex = 0);
+ virtual FX_BOOL SetSelect(int32_t iYear, int32_t iMonth, int32_t iDay);
+
+ protected:
+ void DrawBkground(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawHeadBK(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawLButton(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawRButton(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawCaption(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawSeperator(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawDatesInBK(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawWeek(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawWeekNumber(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawWeekNumberSep(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawToday(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawDatesIn(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawDatesOut(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawDatesInCircle(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void DrawTodayCircle(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ CFX_SizeF CalcSize(FX_BOOL bAutoSize = FALSE);
+ void LayOut();
+ void CalcHeadSize();
+ void CalcTodaySize();
+ void CalDateItem();
+ void GetCapValue();
+ int32_t CalWeekNumber(int32_t iYear, int32_t iMonth, int32_t iDay);
+
+ FX_BOOL GetMinDate(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
+ FX_BOOL SetMinDate(int32_t iYear, int32_t iMonth, int32_t iDay);
+ FX_BOOL GetMaxDate(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
+ FX_BOOL SetMaxDate(int32_t iYear, int32_t iMonth, int32_t iDay);
+ FX_BOOL InitDate();
+ void ClearDateItem();
+ void ReSetDateItem();
+ FX_BOOL NextMonth();
+ FX_BOOL PrevMonth();
+ void ChangeToMonth(int32_t iYear, int32_t iMonth);
+ FX_BOOL RemoveSelDay(int32_t iDay, FX_BOOL bAll = FALSE);
+ FX_BOOL AddSelDay(int32_t iDay);
+ FX_BOOL JumpToToday();
+ void GetHeadText(int32_t iYear, int32_t iMonth, CFX_WideString& wsHead);
+ void GetTodayText(int32_t iYear,
+ int32_t iMonth,
+ int32_t iDay,
+ CFX_WideString& wsToday);
+ int32_t GetDayAtPoint(FX_FLOAT x, FX_FLOAT y);
+ FX_BOOL GetDayRect(int32_t iDay, CFX_RectF& rtDay);
+ typedef struct _DATE {
+ _DATE() {
+ iYear = 0;
+ iMonth = 0;
+ iDay = 0;
+ }
+ _DATE(int32_t year, int32_t month, int32_t day)
+ : iYear(year), iMonth(month), iDay(day) {}
+ FX_BOOL operator<(const _DATE& right) {
+ if (iYear < right.iYear) {
+ return TRUE;
+ } else if (iYear == right.iYear) {
+ if (iMonth < right.iMonth) {
+ return TRUE;
+ } else if (iMonth == right.iMonth) {
+ return iDay < right.iDay;
+ }
+ }
+ return FALSE;
+ }
+ FX_BOOL operator>(const _DATE& right) {
+ if (iYear > right.iYear) {
+ return TRUE;
+ } else if (iYear == right.iYear) {
+ if (iMonth > right.iMonth) {
+ return TRUE;
+ } else if (iMonth == right.iMonth) {
+ return iDay > right.iDay;
+ }
+ }
+ return FALSE;
+ }
+ int32_t iYear;
+ int32_t iMonth;
+ int32_t iDay;
+
+ } DATE, *LPDATE;
+ FX_BOOL m_bInit;
+ CFX_RectF m_rtHead;
+ CFX_RectF m_rtWeek;
+ CFX_RectF m_rtLBtn;
+ CFX_RectF m_rtRBtn;
+ CFX_RectF m_rtDates;
+ CFX_RectF m_rtHSep;
+ CFX_RectF m_rtHeadText;
+ CFX_RectF m_rtToday;
+ CFX_RectF m_rtTodayFlag;
+ CFX_RectF m_rtWeekNum;
+ CFX_RectF m_rtWeekNumSep;
+ CFX_RectF m_rtTemp;
+ CFX_WideString m_wsHead;
+ CFX_WideString m_wsToday;
+ CFX_DateTime* m_pDateTime;
+ CFX_PtrArray m_arrDates;
+ int32_t m_iCurYear;
+ int32_t m_iCurMonth;
+ int32_t m_iYear;
+ int32_t m_iMonth;
+ int32_t m_iDay;
+ int32_t m_iHovered;
+ int32_t m_iLBtnPartStates;
+ int32_t m_iRBtnPartStates;
+ DATE m_dtMin;
+ DATE m_dtMax;
+ CFX_SizeF m_szHead;
+ CFX_SizeF m_szCell;
+ CFX_SizeF m_szToday;
+ typedef CFX_ArrayTemplate<int32_t> CFWL_Int32Array;
+ CFWL_Int32Array m_arrSelDays;
+ int32_t m_iMaxSel;
+ CFX_RectF m_rtClient;
+ FX_FLOAT m_fHeadWid;
+ FX_FLOAT m_fHeadHei;
+ FX_FLOAT m_fHeadBtnWid;
+ FX_FLOAT m_fHeadBtnHei;
+ FX_FLOAT m_fHeadBtnHMargin;
+ FX_FLOAT m_fHeadBtnVMargin;
+ FX_FLOAT m_fHeadTextWid;
+ FX_FLOAT m_fHeadTextHei;
+ FX_FLOAT m_fHeadTextHMargin;
+ FX_FLOAT m_fHeadTextVMargin;
+ FX_FLOAT m_fHSepWid;
+ FX_FLOAT m_fHSepHei;
+
+ FX_FLOAT m_fWeekNumWid;
+ FX_FLOAT m_fSepDOffset;
+ FX_FLOAT m_fSepX;
+ FX_FLOAT m_fSepY;
+
+ FX_FLOAT m_fWeekNumHeigh;
+ FX_FLOAT m_fWeekWid;
+ FX_FLOAT m_fWeekHei;
+ FX_FLOAT m_fDateCellWid;
+ FX_FLOAT m_fDateCellHei;
+
+ FX_FLOAT m_fTodayWid;
+ FX_FLOAT m_fTodayHei;
+ FX_FLOAT m_fTodayFlagWid;
+
+ FX_FLOAT m_fMCWid;
+ FX_FLOAT m_fMCHei;
+ friend class CFWL_MonthCalendarImpDelegate;
+};
+typedef struct _DATEINFO {
+ _DATEINFO(int32_t day,
+ int32_t dayofweek,
+ FX_DWORD dwSt,
+ CFX_RectF rc,
+ CFX_WideString& wsday)
+ : iDay(day),
+ iDayOfWeek(dayofweek),
+ dwStates(dwSt),
+ rect(rc),
+ wsDay(wsday) {}
+ int32_t iDay;
+ int32_t iDayOfWeek;
+ FX_DWORD dwStates;
+ CFX_RectF rect;
+ CFX_WideString wsDay;
+} DATEINFO, *LPDATEINFO;
+class CFWL_MonthCalendarImpDelegate : public CFWL_WidgetImpDelegate {
+ public:
+ CFWL_MonthCalendarImpDelegate(CFWL_MonthCalendarImp* pOwner);
+ int32_t OnProcessMessage(CFWL_Message* pMessage) override;
+ FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
+
+ protected:
+ void OnActivate(CFWL_Message* pMsg);
+ void OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
+ void OnLButtonDown(CFWL_MsgMouse* pMsg);
+ void OnLButtonUp(CFWL_MsgMouse* pMsg);
+ void OnMouseMove(CFWL_MsgMouse* pMsg);
+ void OnMouseLeave(CFWL_MsgMouse* pMsg);
+ CFWL_MonthCalendarImp* m_pOwner;
+};
+#endif