/********************************************************************** * 函数名称: ShowSavePage * 功能描述: 显示"Save页面" * 输入参数: ptPageLayout - 内含多个图标的文件名和显示区域 * 输出参数: 无 * 返 回 值: 无 ***********************************************************************/ static void ShowSavePage(PT_PageLayout ptPageLayout) { PT_VideoMem ptVideoMem; int iError; PT_Layout atLayout = ptPageLayout->atLayout; /* 1. 获得显存 */ ptVideoMem = GetVideoMem(ID("save"), 1); if (ptVideoMem == NULL) { DBG_PRINTF("can't get video mem for Save page!\n"); return; } /* 2. 描画数据 */ /* 如果还没有计算过各图标的坐标 */ if (atLayout[0].iTopLeftX == 0) { CalcSavePageLayout(ptPageLayout); } iError = GeneratePage(ptPageLayout, ptVideoMem); /* 3. 刷到设备上去 */ FlushVideoMemToDev(ptVideoMem); /* 4. 解放显存 */ PutVideoMem(ptVideoMem); }
/********************************************************************** * 函数名称: ShowIntervalPage * 功能描述: 显示"interval页面" * 输入参数: ptPageLayout - 内含多个图标的文件名和显示区域 * 输出参数: 无 * 返 回 值: 无 * 修改日期 版本号 修改人 修改内容 * ----------------------------------------------- * 2013/02/08 V1.0 韦东山 创建 ***********************************************************************/ static void ShowIntervalPage(PT_PageLayout ptPageLayout) { PT_VideoMem ptVideoMem; int iError; PT_Layout atLayout = ptPageLayout->atLayout; /* 1. 获得显存 */ ptVideoMem = GetVideoMem(ID("interval"), 1); if (ptVideoMem == NULL) { DBG_PRINTF("can't get video mem for interval page!\n"); return; } /* 2. 描画数据 */ /* 如果还没有计算过各图标的坐标 */ if (atLayout[0].iTopLeftX == 0) { CalcIntervalPageLayout(ptPageLayout); } iError = GeneratePage(ptPageLayout, ptVideoMem); iError = GenerateIntervalPageSpecialIcon(g_iIntervalSecond, ptVideoMem); if (iError) { DBG_PRINTF("GenerateIntervalPageSpecialIcon error!\n"); } /* 3. 刷到设备上去 */ FlushVideoMemToDev(ptVideoMem); /* 4. 解放显存 */ PutVideoMem(ptVideoMem); }
static void ShowMainPage(struct PageLayout *ptPageLayout) { int iError = 0; struct VideoMem *ptMainPageVM; struct DisLayout *atDisLayout; atDisLayout = ptPageLayout->atDisLayout; /* 获得一块内存以显示 main 页面 */ ptMainPageVM = GetVideoMem(GetID("main"), 1); if(NULL == ptMainPageVM){ DebugPrint(DEBUG_ERR"Get main-page video memory error\n"); return; } /* 把三个图标画上去 */ if(atDisLayout[0].iTopLeftX == 0){ CalcMainPageLayout(ptPageLayout); } iError = GeneratePage(ptPageLayout, ptMainPageVM); FlushVideoMemToDev(ptMainPageVM); /* 释放用完的内存,以供别的程序使用 */ ReleaseVideoMem(ptMainPageVM); }