static PRESULT hddfmt_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT16 title_id; POBJECT_HEAD nextObj; switch(event) { case EVN_PRE_OPEN: if(hddfmt_window_active) { hddfmt_window_active= TRUE; title_id = RS_STORAGE_FORMAT; OSD_SetContainerNextObj(&g_win_hddformat, (POBJECT_HEAD)&hddfmt_item_con1); } else { title_id = RS_HDD_NFORMATION; hddfmt_window_active = FALSE; OSD_SetContainerNextObj(&g_win_hddformat, NULL); } hddfmt_vol_init(); hddfmt_set_vol_string(&hddfmt_item_txtset1); wincom_open_title(pObj,title_id,0); break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: break; case EVN_POST_DRAW: win_hddfmt_draw_disk_infor(); break; case EVN_MSG_GOT: if(param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER) { storage_dev_mount_hint(1); hddfmt_vol_init(); if(storage_get_volume_count() == 0) { ret = PROC_LEAVE; } else if(hddfmt_window_active) { hddfmt_set_vol_string(&hddfmt_item_txtset1); OSD_TrackObject((POBJECT_HEAD)&g_win_hddformat, C_UPDATE_ALL); win_hddfmt_draw_disk_infor(); } } break; } return ret; }
static void win_atnsetm_load_tuner_configuration(void) { CONTAINER* tuner_item= &atnsetm_item1; CONTAINER* win =&g_win_antenna_set_motor; CONTAINER* lnb_item = &atnsetm_item2; MULTISEL* msel; POBJECT_HEAD pObj; UINT32 i,tuner_cnt; UINT8 action; static BOOL bFirstTime = 1; #ifdef SUPPORT_TWO_TUNER msel = anesetm_msels[TUNER_ID - 1]; tuner_cnt = get_tuner_cnt(); msel->nCount = tuner_cnt; if(antset_cur_tuner >= tuner_cnt) antset_cur_tuner = tuner_cnt - 1; msel->nSel = antset_cur_tuner; action = (tuner_cnt == 1)? C_ATTR_INACTIVE : C_ATTR_ACTIVE; OSD_SetAttr(tuner_item, action); pObj = OSD_GetContainerNextObj(tuner_item); while(pObj) { OSD_SetAttr(pObj , action); pObj = OSD_GetObjpNext(pObj); } if((C_ATTR_INACTIVE == action)&&(TUNER_ID == OSD_GetContainerFocus(win))) OSD_SetContainerFocus(win, LNB_ID); tuner_type_ids[0] = get_tuner_strid(0); tuner_type_ids[1] = get_tuner_strid(1); #else if(bFirstTime) { OSD_SetContainerNextObj(win,lnb_item); lnb_item->head.bUpID = tuner_item->head.bUpID; pObj = (POBJECT_HEAD)lnb_item; OSD_MoveObject(pObj,0, -(CON_H + CON_GAP), TRUE); while(pObj->pNext) { pObj = pObj->pNext; OSD_MoveObject(pObj,0, -(CON_H + CON_GAP), TRUE); } pObj->bDownID = lnb_item->head.bID; OSD_SetContainerFocus(win, LNB_ID); } bFirstTime = 0; #endif }
static void win_antcnt_load_setting(void) { CONTAINER* win = &g_win_antenna_connect; SYSTEM_DATA* sys_data; MULTISEL* msel; static BOOL bFirstTime = 1; sys_data = sys_data_get(); /* Antenna connect */ msel = antcnt_msels[0]; if(sys_data->antenna_connect_type >= msel->nCount) sys_data->antenna_connect_type = ANTENNA_CONNECT_SINGLE; msel->nSel = sys_data->antenna_connect_type; /* LNB1 */ msel = antcnt_msels[1]; if(sys_data->tuner_lnb_type[0] >= msel->nCount) sys_data->tuner_lnb_type[0] = LNB_FIXED; msel->nSel = sys_data->tuner_lnb_type[0]; /* LNB2 */ msel = antcnt_msels[2]; if(sys_data->tuner_lnb_type[1] >= msel->nCount) sys_data->tuner_lnb_type[1] = LNB_FIXED; msel->nSel = sys_data->tuner_lnb_type[1]; #ifdef SUPPORT_TWO_TUNER win_antcnt_update_lnb12_action(0); OSD_SetContainerFocus(win, ANTENNA_CONNECT_ID); #else if(bFirstTime) { POBJECT_HEAD pObj = (POBJECT_HEAD)&antcnt_item2; OSD_MoveObject(pObj,0, -(CON_H + CON_GAP), TRUE); pObj->bUpID = pObj->bDownID = pObj->bID; pObj->pNext = NULL; OSD_SetContainerNextObj(win, pObj); } OSD_SetContainerFocus(win, LNB1_TYPE_ID); bFirstTime = 0; #endif }
/* static void win_operator_IPPV_draw(GUI_RECT* pRect,UINT16 strid) { TEXT_FIELD* txt; UINT16 *string; //index: 0 for title, 1~9 for list item txt = &IPPVinfo_title; OSD_SetRect2(&txt->head.frame,pRect); if (txt->pString != NULL) { txt->pString = NULL; } OSD_SetTextFieldContent(txt, STRING_ID, (UINT32)strid); OSD_DrawObject((POBJECT_HEAD)txt, C_UPDATE_ALL); } void win_ippv_draw_title(void) { UINT8 i; for (i=0;i<6;i++) { win_operator_IPPV_draw(&win_ippv_title_rect[i], win_ippv_title_string[i]); } } */ static void ippv_txt_info_display(UINT16 info_idx,PCONTAINER pCon) { UINT8 i,j,date[11]; UINT16 top,index, curitem,count,strid=0; PTEXT_FIELD pTxt; OBJLIST *ol = &IPPVinfo_olist; PCONTAINER ppcon; curitem = OSD_GetObjListCurPoint(ol); count = OSD_GetObjListCount(ol); top = OSD_GetObjListTop(ol); index = top +info_idx -1; //for container index is 1,2,....9 ppcon = pCon; if (count == 0) { IPPVINFO_PRINT("@@@@ippv_txt_info_display: list count is 0!\n "); } else if (index<count) { for(i = 0;i < IPPVINFO_ITEM_TXT_CNT; i++) { pTxt= IPPVinfo_listtxt[i]; OSD_SetObjRoot(pTxt,ppcon); OSD_SetContainerFocus(ppcon,1); OSD_SetObjRect(pTxt, pTxt->head.frame.uLeft, ppcon->head.frame.uTop, pTxt->head.frame.uWidth, pTxt->head.frame.uHeight); if (i==0)//operator id { OSD_SetTextFieldContent(pTxt, STRING_NUMBER, (UINT32)current_operator_ID); OSD_SetContainerNextObj(ppcon, pTxt); } if (i==1)//slot id { OSD_SetTextFieldContent(pTxt, STRING_NUMBER, (UINT32)IPPV_program_info[index].m_bySlotID); } if (i==2)//prog id { OSD_SetTextFieldContent(pTxt, STRING_NUMBER, (UINT32)IPPV_program_info[index].m_dwProductID); } if (i==3)//booking status { switch(IPPV_program_info[index].m_byBookEdFlag) { case CDCA_IPPVSTATUS_BOOKING: // 1 for booking strid = 0; break; case 2: // 2 for expired????? (how to confirm??) strid = 0; break; case CDCA_IPPVSTATUS_VIEWED: // 3 for viewed strid = RS_IPPV_STATUS_VIEWED; break; } OSD_SetTextFieldContent(pTxt, STRING_ID, (UINT32)strid); } if (i==4)//tape { OSD_SetTextFieldContent(pTxt, STRING_ANSI, (UINT32)((IPPV_program_info[index].m_bCanTape)?"Yes":"No")); } if (i==5)//price { OSD_SetTextFieldContent(pTxt, STRING_NUMBER, (UINT32)IPPV_program_info[index].m_wPrice); } if (i==6)//expired time { YMD_calculate(IPPV_program_info[index].m_wExpiredDate, date); OSD_SetTextFieldContent(pTxt, STRING_ANSI, (UINT32)date); } } if ((curitem%9) == (info_idx-1)) OSD_TrackObject((POBJECT_HEAD)ppcon, C_UPDATE_ALL); else OSD_DrawObject((POBJECT_HEAD)ppcon, C_UPDATE_ALL); } else { for(i = 0;i < IPPVINFO_ITEM_TXT_CNT; i++) { pTxt= IPPVinfo_listtxt[i]; OSD_SetObjRoot(pTxt,ppcon); OSD_SetObjRect(pTxt, pTxt->head.frame.uLeft, ppcon->head.frame.uTop, pTxt->head.frame.uWidth, pTxt->head.frame.uHeight); if (3==i) OSD_SetTextFieldContent(pTxt, STRING_ID, (UINT32)0); else OSD_SetTextFieldContent(pTxt, STRING_ANSI, (UINT32)""); } } }