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

📄 wgui_datetime.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
    b->flags |= UI_SINGLE_LINE_INPUT_BOX_DISABLE_CURSOR_DRAW;
}


/*****************************************************************************
 * FUNCTION
 *  wgui_date_time_input_set_focus
 * DESCRIPTION
 *  set focus on input box pass as paaremter
 * PARAMETERS
 *  focus       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_date_time_input_set_focus(U8 focus)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    wgui_date_time_input_focus = focus;
    switch (wgui_date_time_input_focus)
    {
        case WGUI_DATE_TIME_INPUT_FOCUS_NONE:
            wgui_date_time_input_object_focus = NULL;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_DAY:
            wgui_date_time_input_object_focus = &wgui_date_input_day;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MONTH:
            wgui_date_time_input_object_focus = &wgui_date_input_month;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_YEAR:
            wgui_date_time_input_object_focus = &wgui_date_input_year;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_HOURS:
            wgui_date_time_input_object_focus = &wgui_time_input_hours;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MINUTES:
            wgui_date_time_input_object_focus = &wgui_time_input_minutes;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_SECONDS:
            wgui_date_time_input_object_focus = &wgui_time_input_seconds;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_AM_PM:
            wgui_date_time_input_object_focus = &wgui_time_input_AM_PM;
            break;
        default:
            wgui_date_time_input_object_focus = NULL;
            break;
    }
    wgui_date_time_input_set_object_focus(wgui_date_time_input_object_focus);
}


/*****************************************************************************
 * FUNCTION
 *  wgui_date_time_input_remove_focus
 * DESCRIPTION
 *  remove focus from  input box pass as paaremter
 * PARAMETERS
 *  focus       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_date_time_input_remove_focus(U8 focus)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    single_line_input_box *f = NULL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    switch (focus)
    {
        case WGUI_DATE_TIME_INPUT_FOCUS_NONE:
            f = NULL;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_DAY:
            f = &wgui_date_input_day;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MONTH:
            f = &wgui_date_input_month;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_YEAR:
            f = &wgui_date_input_year;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_HOURS:
            f = &wgui_time_input_hours;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MINUTES:
            f = &wgui_time_input_minutes;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_SECONDS:
            f = &wgui_time_input_seconds;
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_AM_PM:
            f = &wgui_time_input_AM_PM;
            break;
        default:
            f = NULL;
            break;
    }
    wgui_date_time_input_remove_object_focus(f);
}


/*****************************************************************************
 * FUNCTION
 *  wgui_date_time_input_set_previous_focus
 * DESCRIPTION
 *  set focus to previous position of current input box
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_date_time_input_set_previous_focus(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    wgui_date_time_input_remove_focus(wgui_date_time_input_focus);
    switch (wgui_date_time_input_focus)
    {
        case WGUI_DATE_TIME_INPUT_FOCUS_NONE:
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_DAY:
            wgui_date_time_input_set_focus(wgui_day_input_previous_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MONTH:
            wgui_date_time_input_set_focus(wgui_month_input_previous_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_YEAR:
            wgui_date_time_input_set_focus(wgui_year_input_previous_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_HOURS:
            wgui_date_time_input_set_focus(wgui_hours_input_previous_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MINUTES:
            wgui_date_time_input_set_focus(wgui_minutes_input_previous_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_SECONDS:
            wgui_date_time_input_set_focus(wgui_seconds_input_previous_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_AM_PM:
            wgui_date_time_input_set_focus(wgui_AM_PM_input_previous_focus);
            break;
        default:
            break;
    }
}


/*****************************************************************************
 * FUNCTION
 *  wgui_date_time_input_set_next_focus
 * DESCRIPTION
 *  set focus to next  position of current input box
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_date_time_input_set_next_focus(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    wgui_date_time_input_remove_focus(wgui_date_time_input_focus);
    switch (wgui_date_time_input_focus)
    {
        case WGUI_DATE_TIME_INPUT_FOCUS_NONE:
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_DAY:
            wgui_date_time_input_set_focus(wgui_day_input_next_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MONTH:
            wgui_date_time_input_set_focus(wgui_month_input_next_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_YEAR:
            wgui_date_time_input_set_focus(wgui_year_input_next_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_HOURS:
            wgui_date_time_input_set_focus(wgui_hours_input_next_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_MINUTES:
            wgui_date_time_input_set_focus(wgui_minutes_input_next_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_SECONDS:
            wgui_date_time_input_set_focus(wgui_seconds_input_next_focus);
            break;
        case WGUI_DATE_TIME_INPUT_FOCUS_AM_PM:
            wgui_date_time_input_set_focus(wgui_AM_PM_input_next_focus);
            break;
        default:
            break;
    }
}


/*****************************************************************************
 * FUNCTION
 *  wgui_date_time_input_get_previous_focus
 * DESCRIPTION
 *  return the previous focus input box
 * PARAMETERS
 *  void
 * RETURNS
 *  byte:- return the previous  focus input box ..day/month/year/hour/minute/second
 *****************************************************************************/
U8 wgui_date_time_input_get_previous_focus(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    switch (wgui_date_time_input_focus)
    {
        case WGUI_DATE_TIME_INPUT_FOCUS_NONE:
            return (WGUI_DATE_TIME_INPUT_FOCUS_NONE);
        case WGUI_DATE_TIME_INPUT_FOCUS_DAY:
            return (wgui_day_input_previous_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_MONTH:
            return (wgui_month_input_previous_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_YEAR:
            return (wgui_year_input_previous_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_HOURS:
            return (wgui_hours_input_previous_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_MINUTES:
            return (wgui_minutes_input_previous_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_SECONDS:
            return (wgui_seconds_input_previous_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_AM_PM:
            return (wgui_AM_PM_input_previous_focus);
        default:
            return (WGUI_DATE_TIME_INPUT_FOCUS_NONE);
    }
}


/*****************************************************************************
 * FUNCTION
 *  wgui_date_time_input_get_next_focus
 * DESCRIPTION
 *  return the next foucs input box
 * PARAMETERS
 *  void
 * RETURNS
 *  byte:- return the previous  focus input box ..day/month/year/hour/minute/second
 *****************************************************************************/
U8 wgui_date_time_input_get_next_focus(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    switch (wgui_date_time_input_focus)
    {
        case WGUI_DATE_TIME_INPUT_FOCUS_NONE:
            return (WGUI_DATE_TIME_INPUT_FOCUS_NONE);
        case WGUI_DATE_TIME_INPUT_FOCUS_DAY:
            return (wgui_day_input_next_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_MONTH:
            return (wgui_month_input_next_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_YEAR:
            return (wgui_year_input_next_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_HOURS:
            return (wgui_hours_input_next_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_MINUTES:
            return (wgui_minutes_input_next_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_SECONDS:
            return (wgui_seconds_input_next_focus);
        case WGUI_DATE_TIME_INPUT_FOCUS_AM_PM:
            return (wgui_AM_PM_input_next_focus);
        default:
            return (WGUI_DATE_TIME_INPUT_FOCUS_NONE);
    }
}


/*****************************************************************************
 * FUNCTION
 *  wgui_redraw_date_time_input
 * DESCRIPTION
 *  redraw dte/time input box depend on current focus input box
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_redraw_date_time_input(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 x1, y1, x2, y2;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (wgui_date_time_input_object_focus == NULL)
    {
        return;
    }
    gdi_layer_lock_frame_buffer();
    gui_show_single_line_input_box(wgui_date_time_input_object_focus);
    gdi_layer_unlock_frame_buffer();
    x1 = wgui_date_time_input_object_focus->x;
    y1 = wgui_date_time_input_object_focus->y;
    x2 = x1 + wgui_date_time_input_object_focus->width - 1;
    y2 = y1 + wgui_date_time_input_object_focus->height - 1;
    gdi_layer_blt_previous(x1, y1, x2, y2);
}


/*****************************************************************************
 * FUNCTION
 *  wgui_date_time_direct_input
 * DESCRIPTION
 *  input the character enter by user in date tiem input box
 * PARAMETERS
 *  c       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_date_time_direct_input(UI_character_type c)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*-----------------------------

⌨️ 快捷键说明

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