⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calenui.h

📁 ct952 source code use for Digital Frame Photo
💻 H
字号:
#ifndef __CALENUI_H__#define __CALENUI_H__

#include "rtcdrv.h"

//define the calendar mode
#define CALENDAR_MODE_SETTING                               0
#define CALENDAR_MODE_DISPLAY_CLOCK_AND_TIME                1
//define the mode of clock
#define CALENDAR_MODE_MENU                                  2
#define CALENDAR_MODE_DISPLAY_PERPETUAL_CALENDAR            3
#define CALENDAR_MODE_SET_DATE                              4

//define the distance between the date and time
#define CALENDAR_DATA_TIME_DISTANCE_H       20
#define CALENDAR_MENU_ENTRY_START		                    GDI_GENERAL_UI_PALETTE_INDEX_START#define CALENDAR_MENU_ENTRY_TITLE_BG_COLOR			        (CALENDAR_MENU_ENTRY_START)#define CALENDAR_MENU_ENTRY_LARGEFORM_BG_COLOR		        (CALENDAR_MENU_ENTRY_START+1)#define CALENDAR_MENU_ENTRY_COLOR_DARK			            (CALENDAR_MENU_ENTRY_START+2)#define CALENDAR_MENU_ENTRY_COLOR_HIGHLIGHT		            (CALENDAR_MENU_ENTRY_START+3)#define CALENDAR_MENU_ENTRY_TETRIS_BODY_COLOR		        (CALENDAR_MENU_ENTRY_START+4)#define CALENDAR_MENU_ENTRY_TITLE_BODY_HIGHLIGHT_COLOR		(CALENDAR_MENU_ENTRY_START+5)
#define CALENDAR_MENU_ENTRY_SUNDAY_COLOR                    (CALENDAR_MENU_ENTRY_START+6)
#define CALENDAR_MENU_ENTRY_SATURDAY_COLOR                  (CALENDAR_MENU_ENTRY_START+7)#define CALENDAR_MENU_ENTRY_LAST						    CALENDAR_MENU_ENTRY_TITLE_BODY_HIGHLIGHT_COLOR#define CALENDAR_MENU_VALUE_TITLE_BG_COLOR			        0x626395 //navy blue#define CALENDAR_MENU_VALUE_LARGEFORM_BG_COLOR              0xC1C2C3  //gray  #define CALENDAR_MENU_VALUE_COLOR_DARK			            0x202020 //black#define CALENDAR_MENU_VALUE_COLOR_HIGHLIGHT		            0xE8CF92 //light yellow#define CALENDAR_MENU_VALUE_TETRIS_BODY_COLOR		        0xA6A9C2 //light navy blue
#define CALENDAR_MENU_VALUE_SUNDAY_COLOR                    0xE10000    
#define CALENDAR_MENU_VALUE_SATURDAY_COLOR                  0xFFFF00#define CALENDAR_MENU_VALUE_TITLE_BODY_HIGHLIGHT_COLOR      0xCC0000   //red fhfeng 1011#define CALENDER_ITEM_WIDTH    60#define CALENDER_ITEM_HEIGHT   38//60#define CALENDER_ITEM_X_OFFSET 16#define CALENDER_ITEM_BORDER   2#define CALENDER_HEAD_HEIGHT_OF_YEAR	40#define CALENDER_HEAD_HEIGHT_OF_WEEKLY	30#define CALENDER_HEAD_HEIGHT	(CALENDER_HEAD_HEIGHT_OF_YEAR+CALENDER_HEAD_HEIGHT_OF_WEEKLY)#define CALENDER_BODY_HEIGHT	(CALENDER_ITEM_HEIGHT*6 + 2*CALENDER_ITEM_BORDER)#define CALENDER_TILE_HEIGHT	70#define CALENDER_X_OFFSET		16#define CAL_FIRSTYEAR	1900//1999#define CAL_LASTYEAR	2100//2031#define CAL_DEFAULT_YEAR  2006#define CAL_DEFAULT_MONTH   10#define CAL_DEFAULT_DATA    1#define CALENDER_BACKGROUND_BORDER   16#define YEAR_MONTH_CHANGE  0#define DATA_CHANGE 1
void CALENDAR_Entry(BYTE bMode);void CALENDAR_Recover(void);BYTE CALENDAR_ProcessKey(void);void CALENDAR_Exit(BYTE bClearBackground);void CALENDAR_Trigger(void);

BYTE Calendar_SolarCalendar(WORD u16Year, BYTE u8Month,BYTE u8Day);

void _Calendar_ConfigOSDRegion(void);
void _CALENDAR_Set_YYMMDD(void);
BYTE _CALENDAR_ShowTime(BYTE bImmediate);
void _CALENDAR_ShowTimeContent(PRTC_TM pRTCTime);
void _CALENDAR_ShowCalendar(BYTE bShowTime);

#ifdef SUPPORT_SET_DATE_BY_MENU
void _CALENDAR_ShowMenu(void);
void CALENDAR_SetDate(WORD wYear, BYTE bMonth, BYTE bDate);
void CALENDAR_CancelSetDate(void);
#endif //SUPPORT_SET_DATE_BY_MENU

//////////////////////////////////////////////////////////////////////////////////////////
#ifdef SUPPORT_SET_DATE_BY_MENU
//UI part
#include "setdate.h"
#include "dialog.h"

typedef enum tagCALENDAR_ID_LIST
{
    CALENDAR_MAIN_BEGIN=0,
    CALENDAR_MAIN_DISPLAY = CALENDAR_MAIN_BEGIN,
    CALENDAR_MAIN_SET_DATE,
    CALENDAR_MAIN_EXIT,
    CALENDAR_MAIN_END = CALENDAR_MAIN_EXIT,   
} CALENDAR_ID_LIST;

#define CALENDAR_MAIN_MENU_START_X                          (MAINMENU_CONTENT_REGION_START_X+60)
#define CALENDAR_MAIN_MENU_START_Y                          (MAINMENU_CONTENT_REGION_START_Y+40)

//define the maximum visible menu items.
#define CALENDAR_MAX_VISIBLE_MENU_ITEM_NUM                  5

//////////////////////////////////////////////////////////////////////////////////////////
#ifdef CALENDAR_MAIN_FILE
#include "OSDString\\strextrn.h"

MENU_ITEM _MENU_ITEM_CALENDAR[] = {
    {aCLOCKDisplay, NULL, MENU_ITEM_STATE_ENABLE, CALENDAR_MAIN_DISPLAY},
    {aSETDATESetDate, NULL, MENU_ITEM_STATE_ENABLE, CALENDAR_MAIN_SET_DATE},
    {aCLOCKExit, NULL, MENU_ITEM_STATE_ENABLE, CALENDAR_MAIN_EXIT},
};

MENU _MENU_CALENDAR = {MENU_TYPE_GENERAL, (CALENDAR_MAIN_END-CALENDAR_MAIN_BEGIN+1), CALENDAR_MAIN_MENU_START_X, CALENDAR_MAIN_MENU_START_Y, MENU_WIDTH_OPTIMIZED, MENU_ITEM_ALIGNMENT_LEFT, _MENU_ITEM_CALENDAR, 0, 0, MENU_ITEM_NO_CHECKED_ITEM};

#ifdef NL_SOLUTION
#define CALENDAR_SETDATE_TITLE_DATE_DISTANCE_V     40
#else
#define CALENDAR_SETDATE_TITLE_DATE_DISTANCE_V     20
#endif //NL_SOLUTION

SETDATE_DATE _CALENDAR_SET_DATE = {2007, 1, 1, ((SET_DATE_DIALOG_WIDTH-SETDATE_DISPLAY_WIDTH)>>1), CALENDAR_SETDATE_TITLE_DATE_DISTANCE_V};
SETDATE_DLG_ACTION _CALENDAR_SET_DATE_Action = {CALENDAR_SetDate, CALENDAR_CancelSetDate};

#endif //CALENDAR_MAIN_FILE
#endif //SUPPORT_SET_DATE_BY_MENU
//////////////////////////////////////////////////////////////////////////////////////////

#endif //__CALENUI_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -