static void ci_info_list_display() { OBJLIST* ol; CONTAINER* item; TEXT_FIELD* txt; UINT16 top,cnt,page,index, i; ol = &olst_ci_info; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); for( i = 0; i < page; i++) { index = top + i; item = (PCONTAINER)ci_info_list_items[i]; txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(index < cnt) { OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)ci_info.menu.entry_ls_txt[index]); } else { OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)""); } } }
void win_satfav_set_display(void) { UINT32 i; UINT16 top,cnt,page,idx; OBJLIST* ol = &satfav_item_list; BITMAP* bmp; TEXT_FIELD* txt; CONTAINER* item; UINT32 valid_idx; UINT16 unistr[50]; UINT8 group_type,group_idx,av_flag; av_flag = sys_data_get_cur_chan_mode(); cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); for(i=0;i<page;i++) { item = (CONTAINER*)satfav_items[i]; idx = top + i; group_idx = (UINT8)(idx); if(sat_fav_list_flag == 1) { group_idx += sys_data_get_sate_group_num(av_flag); group_idx ++; } if(idx< cnt) valid_idx = 1; else valid_idx = 0; if(valid_idx) get_chan_group_name((UINT8*)unistr,group_idx,&group_type); /*IDX */ txt = (TEXT_FIELD*)OSD_GetContainerNextObj(item);//bmp->head.pNext; if(valid_idx) OSD_SetTextFieldContent(txt,STRING_NUMBER, idx + 1); else OSD_SetTextFieldContent(txt,STRING_ANSI,(UINT32)""); /*Name*/ txt = (TEXT_FIELD*)OSD_GetObjpNext(txt);//txt->head.pNext; if(valid_idx) { OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)unistr); } else OSD_SetTextFieldContent(txt,STRING_ANSI,(UINT32)""); } }
void win_multifeed_set_display(void) { TEXT_FIELD *txt; OBJLIST* ol; UINT16 i,cnt,top_idx,cur_idx,dep; P_NODE p_node; UINT16 channel; UINT8 name[32]; channel = sys_data_get_cur_group_cur_mode_channel(); get_prog_at(channel,&p_node); ol = &multifeed_ol; cnt = OSD_GetObjListCount(ol); dep = OSD_GetObjListPage(ol); top_idx = OSD_GetObjListTop(ol); for(i=0;i<dep;i++) { cur_idx = top_idx + i; txt = text_items[i]; if(cur_idx < cnt ) { multifeed_get_feed_name(p_node.prog_id, cur_idx, name); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)name); } else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } }
void win_multifeed_load(void) { OBJLIST* ol; P_NODE p_node; UINT16 channel,cnt,sel,top_idx,cur_idx,dep; struct MULTIFEED_INFO multifeed_info; INT32 ret; ol = &multifeed_ol; channel = sys_data_get_cur_group_cur_mode_channel(); get_prog_at(channel,&p_node); MEMSET(&multifeed_info, 0, sizeof(struct MULTIFEED_INFO)); ret = multifeed_get_info(p_node.prog_id, &multifeed_info); sel = 0xFFFF; cnt = multifeed_info.num; if(multifeed_info.idx < cnt) sel= multifeed_info.idx; dep = OSD_GetObjListPage(ol); cur_idx = 0; top_idx = 0; if(sel<multifeed_info.num) cur_idx = sel; top_idx = cur_idx / dep * dep; OSD_SetObjListCount(ol, cnt); OSD_SetObjListSingleSelect(ol, sel); OSD_SetObjListTop(ol, top_idx); OSD_SetObjListCurPoint(ol, cur_idx); OSD_SetObjListNewPoint(ol, cur_idx); }
void win_satfav_load_groupcount(void) { UINT8 av_flag; OBJLIST *ol; UINT16 group_cnt,group_idx; UINT8 group_type, group_pos; UINT16 channel,select,page; UINT16 title_id; TEXT_FIELD* txt; ol = &satfav_item_list; select = INVALID_POS_NUM; av_flag = sys_data_get_cur_chan_mode(); group_idx = sys_data_get_cur_group_index(); sys_data_get_cur_mode_group_infor( group_idx, &group_type,&group_pos, &channel); if(sat_fav_list_flag == 0) /* SAT */ { group_cnt = sys_data_get_sate_group_num(av_flag); group_cnt ++; if(group_type == FAV_GROUP_TYPE) group_idx = 0; else select = group_idx; } else /* FAV */ { group_cnt = sys_data_get_fav_group_num(av_flag); if(group_type != FAV_GROUP_TYPE) group_idx = 0; else { group_idx -= sys_data_get_sate_group_num(av_flag); group_idx --; select = group_idx; } } page = OSD_GetObjListPage(ol); OSD_SetObjListCount(ol, group_cnt); OSD_SetObjListCurPoint(ol, group_idx); OSD_SetObjListNewPoint(ol, group_idx); OSD_SetObjListTop(ol,group_idx / page*page); OSD_SetObjListSingleSelect(ol, select); title_id = (sat_fav_list_flag == 0)? RS_INFO_SATELLITE : RS_FAVORITE; txt = &satfav_title; OSD_SetTextFieldContent(txt, STRING_ID,title_id); }
static void win_purse_set_display(void) { UINT32 i,j,n; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx,ew_flag; CONTAINER* item; TEXT_FIELD* txt; UINT8 purse_str[30]; UINT16 icon_id; BITMAP* bmp; SYSTEM_DATA* sys_data; UINT8 hl_idx; sys_data = sys_data_get(); ol = &purse_olist; cnt = purse_cnt; // cnt = OSD_GetObjListCount(ol); OSD_SetObjListCount(ol, cnt); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { item = (CONTAINER*)purselist_items[i]; index = top + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; /* Name*/ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(valid_idx) OSD_SetTextFieldContent(txt, STRING_ANSI,ap_purse[top+i].name); else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /* Balance*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(purse_str, "%d", ap_purse[top+i].balance); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)purse_str); } else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } }
static void catch_up_list_display(void) { CONTAINER* con; TEXT_FIELD* text; OBJLIST* ol; UINT16 i,top,cnt,page,index,curitem,valid_idx; struct catch_up_list_node_s *catch_up_list_node; char name[50] = {0}; char time[50] = {0}; ol = &ol_catch_up; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { con = (CONTAINER *)catch_up_items[i]; index = top + i; if(index < cnt) valid_idx = 1; else valid_idx = 0; /* IDX */ text = (TEXT_FIELD*)OSD_GetContainerNextObj(con); if(valid_idx) OSD_SetTextFieldContent(text, STRING_NUMBER, index+ 1); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); /* Name**/ text = (TEXT_FIELD*)OSD_GetObjpNext(text); if(valid_idx) { catch_up_list_node = catch_up_query(index); OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)(catch_up_list_node->data)); memset(name, 0x0, sizeof(name)); memset(time, 0x0, sizeof(time)); catch_up_get_prog_name_time(catch_up_list_node->data, name, time); libc_printf("name = %s, time = %s\n", name, time); } else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); } }
static PRESULT win_findprog_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT cbRet = PROC_PASS; UINT32 i,wTop,prog_idx,nStrLen,k; UINT16 channel,str_len; UINT16 unistr[50]; char prog_pre[20]; P_NODE p_node; OBJLIST* ol = (OBJLIST*)pObj; UINT16 dep,cnt; dep = OSD_GetObjListPage(ol); cnt = OSD_GetObjListCount(ol); if(event==EVN_PRE_DRAW) { wTop = OSD_GetObjListTop(ol); for(i=0;i<dep && (i+wTop)<cnt;i++) { prog_idx = i + wTop; get_find_prog_by_pos(prog_idx,&p_node); sprintf(prog_pre,"%04d %s",prog_idx + 1,(p_node.ca_mode==0)? "" : "$"); nStrLen = ComAscStr2Uni(prog_pre, unistr); ComUniStrCopy(&unistr[nStrLen], (UINT16*)p_node.service_name); win_comlist_set_str(i + wTop, NULL, (char*)unistr,0); } } else if(event==EVN_POST_CHANGE) { cbRet = PROC_LEAVE; select_channel_idx = win_comlist_get_selitem(); get_find_prog_by_pos(select_channel_idx,&p_node); select_channel_idx = get_prog_pos(p_node.prog_id); clear_node_find_flag(); //UIChChgPlayProg(0, select_channel_idx); api_play_channel(p_node.prog_id, TRUE, TRUE, TRUE); } return cbRet; }
static void news_list_display(void) { CONTAINER* con; TEXT_FIELD* text; OBJLIST* ol; UINT16 i,top,cnt,page,index,curitem,valid_idx; struct news_node_s *news_node; ol = &ol_news_list; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { con = (CONTAINER *)news_list_items[i]; index = top + i; if(index < cnt) valid_idx = 1; else valid_idx = 0; /* IDX */ text = (TEXT_FIELD*)OSD_GetContainerNextObj(con); if(valid_idx) OSD_SetTextFieldContent(text, STRING_NUMBER, index+ 1); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); /* Name**/ text = (TEXT_FIELD*)OSD_GetObjpNext(text); if(valid_idx) { news_node = news_query(1, index); OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)(news_node->data)); } else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); } }
static void win_favgrplst_set_display(void) { CONTAINER* con; TEXT_FIELD* text; OBJLIST* ol; UINT16 i,top,cnt,page,index,curitem,valid_idx; SYSTEM_DATA* sys_data = sys_data_get(); ol = &favgrplist_olist; char ee[30]; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { con = (CONTAINER*)favgrplist_items[i]; index = top + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; /* IDX */ text = (TEXT_FIELD*)OSD_GetContainerNextObj(con); if(valid_idx) OSD_SetTextFieldContent(text, STRING_NUMBER, index+ 1); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); /* Name**/ text = (TEXT_FIELD*)OSD_GetObjpNext(text); ComUniStrToAsc(sys_data->favgrp_names[index],ee); libc_printf("\n88888888===%s\n",ee); if(valid_idx) OSD_SetTextFieldContent(text, STRING_UNICODE, (UINT32)sys_data->favgrp_names[index]); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); } }
static void weathercitylst_set_display(void) { CONTAINER* con; TEXT_FIELD* text; OBJLIST* ol; UINT16 i,top,cnt,page,index,curitem,valid_idx; SYSTEM_DATA* sys_data = sys_data_get(); ol = &weather_city_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { con = (CONTAINER *)weathercitylst_items[i]; index = top + i; if(index < cnt) valid_idx = 1; else valid_idx = 0; /* IDX */ text = (TEXT_FIELD*)OSD_GetContainerNextObj(con); if(valid_idx) OSD_SetTextFieldContent(text, STRING_NUMBER, index+ 1); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); /* Name**/ text = (TEXT_FIELD*)OSD_GetObjpNext(text); if(valid_idx) { //libc_printf("\n^^^^^^^^555555==%s==%d\n",sys_data->weather_city_name[index],index); OSD_SetTextFieldContent(text, STRING_UNICODE, (UINT32)sys_data->weather_city_name[index]); } else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); } }
INT32 favgrp_check_input_name(UINT16* uni_name) { char ansi_name[30]; UINT16 unicode_tmp[FAV_GRP_NAME_LEN]; OBJLIST* ol; UINT16 i,top,cnt,page,index,curitem,valid_idx; UINT8 back_saved; if (ComUniStrLen(uni_name) == 0) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL,NULL, RS_MSG_NAME_EMPTY); win_compopup_open_ext(&back_saved); return -2; } SYSTEM_DATA* sys_data = sys_data_get(); ol = &favgrplist_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); memset((void *)unicode_tmp,0x0,sizeof(unicode_tmp)); memcpy((void *)unicode_tmp,(void *)uni_name,(sizeof(unicode_tmp[0]) * (FAV_GRP_NAME_LEN - 1)) ); ComUniStrToAsc((UINT8*)unicode_tmp,ansi_name); for(i=0;i<MAX_FAVGROUP_NUM;i++) { if(i==curitem) continue; if(STRCMP(ansi_name,sys_data->favgrp_names[i]) == 0) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL,NULL, RS_DISPLAY_NAME_EXIST); win_compopup_open_ext(&back_saved); return -1; } } return 0; }
static void map_city_list_display(void) { CONTAINER* con; TEXT_FIELD* text; OBJLIST* ol; UINT16 i,top,cnt,page,index,curitem,valid_idx; SYSTEM_DATA *p_sys_data = sys_data_get(); ol = &ol_map_city; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { con = (CONTAINER *)map_city_items[i]; index = top + i; if(index < cnt) valid_idx = 1; else valid_idx = 0; /* IDX */ text = (TEXT_FIELD*)OSD_GetContainerNextObj(con); if(valid_idx) OSD_SetTextFieldContent(text, STRING_NUMBER, index+ 1); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); /* Name**/ text = (TEXT_FIELD*)OSD_GetObjpNext(text); if(valid_idx) OSD_SetTextFieldContent(text, STRING_UNICODE, (UINT32)p_sys_data->map_city_name[index]); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); } }
static void win_camail_set_display(void) { UINT32 i,j,n; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx,ew_flag; CONTAINER* item; TEXT_FIELD* txt; //char str[30]; UINT8 name[10], msg[300]; UINT16 icon_id; BITMAP* bmp; SYSTEM_DATA* sys_data; UINT8 hl_idx; sys_data = sys_data_get(); ol = &mail_olist; cnt = 16;//OSD_GetObjListCount(ol); OSD_SetObjListCount(ol, cnt); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { item = (CONTAINER*)maillist_items[i]; index = top + i; if(index< cnt) { /* name */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); sprintf(name,"%d", index+1); OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)name); /* msg */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); MEMSET(msg,0,300); //if(conax_get_msg_info(msg, index)==SUCCESS) conax_get_msg_info(msg, index); msg[32+50] = 0; //else // msg[32] = 0; OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)&msg[32]); } else { /* name */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /* msg */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } } }
static void ci_info_display() { OBJLIST* ol; UINT16 cnt, page; UINT8 i; CONTAINER* item = NULL; TEXT_FIELD* txt = NULL; //1. CI Title OSD_SetTextFieldContent(&txt_ci_info_title, STRING_UNICODE, (UINT32)ci_info.menu.title_str); //2. sub title ci_info_subtitle_content[0].text.pString = ci_info.menu.subtitle_str; //3. bottom OSD_SetTextFieldContent(&txt_ci_info_bottom, STRING_UNICODE, (UINT32)ci_info.menu.bottom_str); //4. fill the list ol = &olst_ci_info; page = OSD_GetObjListPage(ol); cnt = ci_info.menu.entry_cnt; OSD_SetObjListCount(ol, cnt); if(cnt <= page) OSD_SetAttr(&sb_ci_info, C_ATTR_HIDDEN); else OSD_SetAttr(&sb_ci_info, C_ATTR_ACTIVE); OSD_SetObjListTop(ol, 0); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); for( i = 0; i < page; i++) { item = (PCONTAINER)ci_info_list_items[i]; txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(ci_info.menu.is_selectable) { if(api_is_sd_color_mode()) { // OSD_SetColor(item, CON_SH_IDX_SD, CON_HL_IDX_SD, CON_SL_IDX_SD, CON_GRY_IDX_SD); OSD_SetColor(item, CON_SH_IDX, CON_HL_IDX, CON_SL_IDX, CON_GRY_IDX); // OSD_SetColor(txt, TXT_SH_IDX_SD,TXT_HL_IDX_SD,TXT_SL_IDX_SD,TXT_GRY_IDX_SD); OSD_SetColor(txt, TXT_SH_IDX,TXT_HL_IDX,TXT_SL_IDX,TXT_GRY_IDX); } else { #if 0 OSD_SetColor(item, CON_SH_IDX, CON_HL_IDX, CON_SL_IDX, CON_GRY_IDX); OSD_SetColor(txt, TXT_SH_IDX,TXT_HL_IDX,TXT_SL_IDX,TXT_GRY_IDX); #endif } } else { if(api_is_sd_color_mode()) { OSD_SetColor(item, CON_SH_IDX_SD, CON_SH_IDX_SD, CON_SL_IDX_SD, CON_GRY_IDX_SD); OSD_SetColor(txt, TXT_SH_IDX_SD,TXT_SH_IDX_SD,TXT_SL_IDX_SD,TXT_GRY_IDX_SD); } else { #if 0 OSD_SetColor(item, CON_SH_IDX, CON_SH_IDX, CON_SL_IDX, CON_GRY_IDX); OSD_SetColor(txt, TXT_SH_IDX,TXT_SH_IDX,TXT_SL_IDX,TXT_GRY_IDX); #endif } } } OSD_TrackObject( (POBJECT_HEAD)&g_win_ci_info, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); }
static void win_wifilist_update_wifi_ap_list_display(BOOL refresh_ap_list) { UINT16 top,cnt,page,index,curitem; UINT32 i,n; UINT32 valid_idx; OBJLIST* ol; CONTAINER* item; TEXT_FIELD* txt; ol = &wifilist_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); DEBUG_PRINTF("win_wifilist_update_wifi_ap_list_display()\n"); DEBUG_PRINTF("-cnt=%d\n", cnt); DEBUG_PRINTF("-page=%d\n", page); DEBUG_PRINTF("-top=%d\n", top); DEBUG_PRINTF("-curitem=%d\n", curitem); DEBUG_PRINTF("-select=%d\n", OSD_GetObjListSingleSelect(ol)); // update ap_list selected item info (cursor, highlight positions) ap_list_item_sel = curitem; ap_list_top = top; ap_list_pos = ap_list_item_sel-ap_list_top; for(i=0;i<page;i++) { item = (CONTAINER*)wifilist_items[i]; index = top + i; if(index< cnt) { valid_idx = 1; } else { valid_idx = 0; } /* AP IDX */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); #if 1 if(valid_idx) { OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1)); } else { OSD_SetTextFieldContent(txt,STRING_ANSI,(UINT32)""); } #else OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1)); #endif /* AP Name*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { if(strlen(AP_List[index].ssid)) { OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)AP_List[index].ssid); } else { #ifdef ENABLE_HIDDEN_SSID_WIFI_AP_SCAN_LIST OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)"*Hidden AP*"); #else OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)""); #endif } } else { OSD_SetTextFieldContent(txt,STRING_ANSI,(UINT32)""); } /* AP EncrytMode*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)wifi_encrypt_str[AP_List[index].encryptMode]); } else { OSD_SetTextFieldContent(txt,STRING_ANSI,(UINT32)""); } /* Status*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); #if 1 if(valid_idx) { OSD_SetTextFieldContent(txt, STRING_NUM_PERCENT, api_wifi_convert_signal_quality_to_percentage(AP_List[index].quality)); } else { OSD_SetTextFieldContent(txt,STRING_ANSI,(UINT32)""); } #endif } if(refresh_ap_list) { OSD_TrackObject((POBJECT_HEAD)&wifilist_olist, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } }
static void win_nagra2_set_display(void) { UINT32 i,j,n; CAS_KEYINFO *Pm = NULL; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx; CONTAINER* item1,*item2; TEXT_FIELD* txt; char str[100], str1[16],str2[8],str3[100]; UINT16 icon_id; UINT8 hl_idx; char ch1,ch2; ol = &nagra2_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page/2;i++) { if(top%2) { item1 = (CONTAINER*)nagra2_items[i*2+1]; } else { item1 = (CONTAINER*)nagra2_items[i*2]; } index = top/2 + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; if(valid_idx) { if(top%2) { Pm = (CAS_KEYINFO *) softcam_get_keydata((u8) CAS_ID_NAGRA2,(top/2+i+1)); } else { Pm = (CAS_KEYINFO *) softcam_get_keydata((u8) CAS_ID_NAGRA2,(top/2+i)); } } if(Pm==NULL) { valid_idx=0; } /* viaccess2 IDX */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item1); if(valid_idx) { if(top%2) { OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1+1)); } else { OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1)); } } else { OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } /* patch chan Name*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)Pm ->ChanName); else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); //soc_printf("%d chan name is %d \n",index + 1,Pm->KeyData); /* patch ident*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(str,"%08x",Pm ->Ident); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* patch num*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { ch1 = (Pm ->KeyNum)>>8;//is ch1 '0'~'9' 'a'~z A~Z ch2 = (Pm ->KeyNum)&0xFF; sprintf(str,"%c%c",(ch1>0)?ch1:' ',(ch2>0)?ch2:' '); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); #if 1 /* patch keydata*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { memset(str,0,sizeof(str)); sprintf(str,"%02x ",Pm->KeyData[0]); if((Pm->Lenth < 65)) { for(j=1;j<8;j++) { sprintf(str1,"%02x ",Pm->KeyData[j]); strcat(str,str1); } } } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); #endif }
static void mail_disp() { UINT32 i, valid_idx; UINT32 MJD_Date; UINT16 UTC_Date[3]; UINT8 K; UINT8 asc_str[100]; UINT16 top, cnt, page, index, strid,iconID; UINT16 mail_title[40+1], date[20]; UINT8 str[6];//-----yuanlin BOOL del_flag; OBJLIST *ol; CONTAINER *item; TEXT_FIELD *txt; BITMAP *bmp; ol = &mail_ol; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); for (i = 0; i < page; i++) { item = (CONTAINER*)mail_ol_ListField[i]; index = top + i; del_flag = FALSE; valid_idx = (index < cnt) ? 1 : 0; if (valid_idx) { del_flag = mail_get_del_flag(index); } /* IDX */ txt = (TEXT_FIELD*)OSD_GetContainerNextObj(item); if (valid_idx) { sprintf(str, "%02d", index + 1); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); } else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /*mail title*/ txt = (TEXT_FIELD*)OSD_GetObjpNext(txt); if (valid_idx) { convert_gb2312_to_unicode(email_head[index].title, 40+1, mail_title, 40+1); OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)mail_title); } else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); wincom_scroll_textfield_stop(txt); /* time */ txt = (TEXT_FIELD*)OSD_GetObjpNext(txt); if (valid_idx) { #if 1 MEMSET(len_display_str, 0, sizeof(len_display_str)); MJD_Date = email_head[index].create_Time[0]*256 + email_head[index].create_Time[1]; UTC_Date[0] = ( MJD_Date-15078.2 )/365.25;//MJD算法计算发行年份 UTC_Date[1] = ( MJD_Date-14956.1-(UINT32)(UTC_Date[0]*365.25))/30.6001;//月份 UTC_Date[2] = MJD_Date-14956-(UINT32)(UTC_Date[0]*365.25)-(UINT32)(UTC_Date[1]*30.6001);//日期 if( (UTC_Date[1]==15) || (UTC_Date[1]==14) ) K=1; else K=0; UTC_Date[0] += K; UTC_Date[1] = UTC_Date[1]-1-K*12; UTC_Date[0] += 1900;//Year since 1900 sprintf(asc_str, "%02d%02d-%02d-%02d",(UINT8)(UTC_Date[0]/100),(UINT8)(UTC_Date[0]%100),UTC_Date[1],UTC_Date[2]); ComAscStr2Uni(asc_str, len_display_str); OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)len_display_str); #else convert_sysdate_to_uni(email_head[index].create_Time, date); date[16] = '\0'; OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)date); #endif } else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /* Delete */ bmp = (BITMAP*)OSD_GetObjpNext(txt); iconID = (del_flag) ?IM_TV_DEL: 0; OSD_SetBitmapContent(bmp, iconID); } }
static void win_satlist_set_display(void) { UINT32 i,j,n,lnb_cnt; S_NODE s_node; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx,sat_longitude,ew_flag; CONTAINER* item; TEXT_FIELD* txt; char str[30]; UINT16 icon_id; BITMAP* bmp; SYSTEM_DATA* sys_data; UINT8 hl_idx; sys_data = sys_data_get(); #ifdef SUPPORT_TWO_TUNER if(sys_data->antenna_connect_type == ANTENNA_CONNECT_DUAL_DIFF) lnb_cnt = 2; else lnb_cnt = 1; #endif ol = &satlist_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { item = (CONTAINER*)satlist_items[i]; index = top + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; if(valid_idx) get_sat_at(index,VIEW_ALL,&s_node); /* Sat IDX */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(valid_idx) OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1)); else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /* Sat Name*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) #ifdef DB_USE_UNICODE_STRING OSD_SetTextFieldContent(txt, STRING_UNICODE,(UINT32)s_node.sat_name); #else OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32),s_node.sat_name); #endif else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); /* Sat Orbit*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sat_longitude = s_node.sat_orbit; if(sat_longitude>1800) { sat_longitude = 3600 - sat_longitude; ew_flag = 0; } else ew_flag = 1; sprintf(str,"%s %d.%d",ew_flag? "E" : "W", sat_longitude/10, sat_longitude%10); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); } else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); #ifdef SUPPORT_TWO_TUNER for(j=0;j<lnb_cnt;j++) { icon_id = 0; if(valid_idx) { if((j==0 && s_node.tuner1_valid) || (j==1 && s_node.tuner2_valid)) { #ifndef SUPPORT_SELECT_SAME_SAT if(s_node.tuner1_valid && s_node.tuner2_valid) { s_node.tuner2_valid = 0; modify_sat(s_node.sat_id, &s_node); } #endif /* #if0 */ icon_id = IM_TV_FAVORITE; } } bmp = sat_lnb_sel_bmps[i][j]; OSD_SetBitmapContent(bmp, icon_id); hl_idx = BMP_HL_IDX; if(index == curitem) { if(OSD_GetFocusObject((POBJECT_HEAD)item) == (POBJECT_HEAD)bmp) hl_idx = BMP_HLEDIT_IDX; } bmp->head.style.bHLIdx = hl_idx; } #endif }
static void win_conax_set_display(void) { UINT32 i,j,n; CAS_KEYINFO *Pm = NULL; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx; CONTAINER* item1,*item2; TEXT_FIELD* txt; char str[100], str1[16],str2[8],str3[100]; UINT16 icon_id; UINT8 hl_idx; char ch1,ch2; ol = &conax_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); i = 0; //for(i=0;i<page/8;i++) { if(top%8) { item1 = (CONTAINER*)conax_items[top%8+1]; } else { item1 = (CONTAINER*)conax_items[i*8]; } index = top/8 + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; if(valid_idx) { if(top%8) { Pm = (CAS_KEYINFO *) softcam_get_keydata((u8) CAS_ID_CONAX,(top/8+i+1)); } else { Pm = (CAS_KEYINFO *) softcam_get_keydata((u8) CAS_ID_CONAX,(top/8+i)); } } if(Pm==NULL) { valid_idx=0; } /* conax IDX */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item1); if(valid_idx) { if(top%8) { OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1+1)); } else { OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1)); } } else { OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } /* conax chan Name*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)Pm ->ChanName); else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); //soc_printf("%d chan name is %d \n",index + 1,Pm->KeyData); /* conax ident*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(str,"%08x",Pm ->Ident); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* conax E M*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { //ch1 = (Pm ->KeyNum)>>8;//is ch1 '0'~'9' 'a'~z A~Z ch2 = (Pm ->KeyNum)&0xFF; sprintf(str,"%c%c",'0',(ch2>0)?ch2:' '); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); #if 1 /* conax keydata*/ // for(i=0;i<8;i++) // { txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { memset(str,0,sizeof(str)); sprintf(str,"%02x ",Pm->KeyData[0]); if((Pm->Lenth < 65)) { for(j=1;j<8;j++) { sprintf(str1,"%02x ",Pm->KeyData[j]); strcat(str,str1); } } } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); // } #endif } #if 1 for(i=1;i<8;i++) { // if(top%8) { item2 = (CONTAINER*)conax_items[i]; } // else { // item2 = (CONTAINER*)conax_items[i*8+1]; } index = top/8 + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; if(valid_idx) { Pm = (CAS_KEYINFO *) softcam_get_keydata((u8) CAS_ID_CONAX,(top/8)); } if(Pm==NULL) { valid_idx=0; } txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item2); sprintf(str,""); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); if(valid_idx) { memset(str3,0,sizeof(str3)); sprintf(str3,"%02x ",Pm->KeyData[8*i]); if((Pm->Lenth < 65)) { for(j=1;j<8;j++) { sprintf(str2,"%02x ",Pm->KeyData[j+8*i]); strcat(str3,str2); } } } else { sprintf(str3,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str3); } #endif }
static void win_biss_set_display(void) { UINT32 i,j,n; BISS_KEYINFO *Pm = NULL; OBJLIST* ol; UINT16 top,cnt,page,index,curitem; UINT32 valid_idx; CONTAINER* item,*item2; TEXT_FIELD* txt; char str[100], str1[16],str2[8],str3[100]; UINT16 icon_id; UINT8 hl_idx; char ch1,ch2; ol = &biss_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { item = (CONTAINER*)biss_items[i]; index = top + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; if(valid_idx) { Pm = (BISS_KEYINFO *) softcam_get_keydata((u8) CAS_ID_BISS,index); } if(Pm==NULL) { valid_idx=0; } /* IDX */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(valid_idx) { OSD_SetTextFieldContent(txt, STRING_NUMBER, (UINT32) (index + 1)); } else { OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); } /* biss chan Name*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) OSD_SetTextFieldContent(txt, STRING_ANSI,(UINT32)Pm ->ChanName); else OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)""); //soc_printf("%d chan name is %d \n",index + 1,Pm->KeyData); /* biss chanID*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(str,"%08x",Pm ->ChanID); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* SatDegree */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(str,"%03d",Pm ->SatDegree); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* Frequency */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(str,"%05d",Pm ->Frequency); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* ServiceID*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { sprintf(str,"%04x",Pm ->ServiceID); } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); #if 1 /* biss keydata*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) { memset(str,0,sizeof(str)); sprintf(str,"%02x ",Pm->KeyData[0]); if((Pm->Lenth < 65)) { for(j=1;j<8;j++) { sprintf(str1,"%02x ",Pm->KeyData[j]); strcat(str,str1); } } } else { sprintf(str,""); } OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); #endif } }
static void win_tplist_set_display(void) { char str[20]; UINT16 pol_strID; UINT16 top,cnt,page,index,curitem; UINT32 i,n; UINT32 valid_idx; S_NODE s_node; T_NODE t_node; OBJLIST* ol; CONTAINER* item; TEXT_FIELD* txt; ol = &tplst_olist; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); get_tuner_sat(TUNER_EITHER, cur_tp_sat_idx, &s_node); for(i=0;i<page;i++) { item = (CONTAINER*)tplist_items[i]; index = top + i; if(index< cnt) valid_idx = 1; else valid_idx = 0; if(valid_idx) get_tp_at(s_node.sat_id,index,&t_node); /* TP IDX */ txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(valid_idx) sprintf(str,"%d",index + 1); else STRCPY(str,""); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* Freq*/ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) sprintf(str,"%5dMHz",t_node.frq); else STRCPY(str,""); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* Symb */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(valid_idx) sprintf(str,"%5dKs/s",t_node.sym); else STRCPY(str,""); OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); /* pol */ txt = (PTEXT_FIELD)OSD_GetObjpNext(txt); if(!valid_idx) pol_strID = 0; else if(t_node.pol == 0) pol_strID = RS_INFO_POLARITY_H; else pol_strID = RS_INFO_POLARITY_V; OSD_SetTextFieldContent(txt, STRING_ID, (UINT32)pol_strID); } }
static void SNstate_addr_list_display(BOOL updata) { CONTAINER* con; TEXT_FIELD* text; OBJLIST* ol; UINT16 i,top,cnt,page,index,curitem,valid_idx; SYSTEM_DATA *p_sys_data = sys_data_get(); char sstat[21]={0},nstat[64]={0},ret=0; ol = &ol_SNstate_addr; cnt = OSD_GetObjListCount(ol); page = OSD_GetObjListPage(ol); top = OSD_GetObjListTop(ol); curitem = OSD_GetObjListNewPoint(ol); for(i=0;i<page;i++) { con = (CONTAINER *)SNstate_addr_items[i]; index = top + i; if(index < cnt) valid_idx = 1; else valid_idx = 0; /* IDX */ text = (TEXT_FIELD*)OSD_GetContainerNextObj(con); if(valid_idx) { if(i==0) OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)"S:"); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)"N:"); } else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); /* Name**/ text = (TEXT_FIELD*)OSD_GetObjpNext(text); if(valid_idx) { if(i==0) { ret=getSState(sstat); if(ret==1) OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)sstat); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)"Error"); } else { ret=getNState(nstat); if(ret==1) OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)nstat); else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)"Error"); } } else OSD_SetTextFieldContent(text, STRING_ANSI, (UINT32)""); } if(updata) OSD_TrackObject( (POBJECT_HEAD)ol, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); }
static void win_tplist_load_sat(BOOL updatesat) { UINT16 i,tp_num,focus_pos,max_top; OBJLIST* ol; CONTAINER* item; TEXT_FIELD* txt; SCROLL_BAR* sb; S_NODE s_node; T_NODE prog_tp_node; if(cur_tp_sat_idx >= get_tuner_sat_cnt(TUNER_EITHER) ) cur_tp_sat_idx= 0; get_tuner_sat(TUNER_EITHER, cur_tp_sat_idx, &s_node); ol = &tplst_olist; txt = &tplst_sat; sb = &tplst_scb; recreate_tp_view(VIEW_SINGLE_SAT, s_node.sat_id); tp_num = get_tp_num_sat(s_node.sat_id); OSD_SetObjListCount(ol, tp_num); /* Set count */ focus_pos = tp_list_pos;//OSD_GetObjListCurPoint(ol); if (tp_num > OSD_GetObjListPage(ol)) max_top = tp_num - OSD_GetObjListPage(ol); else max_top = 0; if (focus_pos == 0xffff) { if(playing_pnode.sat_id == s_node.sat_id) { for(i = 0;i < tp_num;i++) { get_tp_at(playing_pnode.sat_id, i, &prog_tp_node); if(prog_tp_node.tp_id == playing_pnode.tp_id) { focus_pos = i; if (focus_pos > max_top) tp_list_top = max_top; else tp_list_top = focus_pos; break; } } } } if(focus_pos >= tp_num) { focus_pos = 0; tp_list_top = 0; } OSD_SetObjListCurPoint(ol, focus_pos); OSD_SetObjListNewPoint(ol, focus_pos); OSD_SetObjListTop(ol, tp_list_top); OSD_SetScrollBarMax(sb,tp_num); OSD_SetScrollBarPos(sb, focus_pos); win_tplist_set_sat_display(); if(updatesat) OSD_DrawObject( (POBJECT_HEAD)txt, C_UPDATE_ALL); }