static void win_srch_draw_info_ex(OSD_RECT* pRect, char* str, UINT16* unistr, UINT8 shidx) { PCONTAINER pObj; TEXT_FIELD *pTxt,*pLine; OSD_RECT rect_01,rect_02; rect_01.uTop = pRect->uTop+TXT_T_OF; rect_01.uLeft = pRect->uLeft+TXT_L_OF; rect_01.uWidth = TXT_W; rect_01.uHeight = TXT_H; rect_02.uTop = pRect->uTop + LINE_T_OF; rect_02.uLeft= pRect->uLeft+LINE_L_OF; rect_02.uHeight = LINE_H; rect_02.uWidth = TXT_W; pObj = &srch_info_ex;//&srch_info; pTxt = &srch_info_txt_ex; pLine = &srch_info_line; //OSD_SetRect2(&pObj->head.frame,pRect); OSD_SetRect2(&pObj->head.frame,pRect); OSD_SetRect2(&pTxt->head.frame,&rect_01); OSD_SetRect2(&pLine->head.frame,&rect_02); //OSD_SetTextFieldContent() if(str != NULL) OSD_SetTextFieldContent(pTxt, STRING_ANSI, (UINT32)str); else if (unistr != NULL) OSD_SetTextFieldContent(pTxt, STRING_UNICODE, (UINT32)unistr); //OSD_SetColor(pTxt,shidx,shidx,shidx,shidx); OSD_DrawObject( (POBJECT_HEAD)pObj, C_UPDATE_ALL); }
static void win_rs232upg_msg_update(UINT8 * str) { UINT32 i,j; OSD_RECT rect; //ComAscStr2Uni(str, display_strs[10+rs232upg_msg_line%RS232UPG_MSG_MAX_LINE]); ComUniStrCopyChar((UINT16 *)display_strs[10+rs232upg_msg_line%RS232UPG_MSG_MAX_LINE],str); for(i=0; i<RS232UPG_MSG_MAX_LINE; i++) { if(rs232upg_msg_line<RS232UPG_MSG_MAX_LINE) j = i%RS232UPG_MSG_MAX_LINE; else j = (rs232upg_msg_line+1+i)%RS232UPG_MSG_MAX_LINE; rs232upg_msg_buf[i] = display_strs[10+j]; } //draw msg infos for(i=0; i<RS232UPG_MSG_MAX_LINE; i++) { rect.uLeft = MSG_L; rect.uTop = MSG_T+(MSG_H+MSG_GAP)*i; rect.uWidth = MSG_W; rect.uHeight= MSG_H; OSD_SetRect2(&rs232upg_txt_msg.head.frame, &rect); OSD_SetTextFieldContent(&rs232upg_txt_msg, STRING_UNICODE, (UINT32)rs232upg_msg_buf[i]); OSD_DrawObject( (POBJECT_HEAD)&rs232upg_txt_msg, C_UPDATE_ALL); } rs232upg_msg_line++;; }
static void win_pvod_msg_update(UINT8 * str) { UINT32 i,j; OSD_RECT rect; ComAscStr2Uni(str, display_strs[10+pvod_msg_line%PVOD_MSG_MAX_LINE]); for(i=0; i<PVOD_MSG_MAX_LINE; i++) { if(pvod_msg_line<PVOD_MSG_MAX_LINE) j = i%PVOD_MSG_MAX_LINE; else j = (pvod_msg_line+1+i)%PVOD_MSG_MAX_LINE; pvod_msg_buf[i] = display_strs[10+j]; } //draw msg infos for(i=0; i<PVOD_MSG_MAX_LINE; i++) { rect.uLeft = MSG_L; rect.uTop = MSG_T+(MSG_H+MSG_GAP)*i; rect.uWidth = MSG_W; rect.uHeight= MSG_H; OSD_SetRect2(&pvod_txt_msg.head.frame, &rect); OSD_SetTextFieldContent(&pvod_txt_msg, STRING_UNICODE, (UINT32)pvod_msg_buf[i]); OSD_DrawObject( (POBJECT_HEAD)&pvod_txt_msg, C_UPDATE_ALL); } pvod_msg_line++;; }
static void win_usbupg_msg_update(UINT16 str_id) { UINT32 i,j; OSD_RECT rect; //ComAscStr2Uni(str, display_strs[10+usbupg_msg_line%USBUPG_MSG_MAX_LINE]); #if 0 for(i=0; i<USBUPG_MSG_MAX_LINE; i++) { if(usbupg_msg_line<USBUPG_MSG_MAX_LINE) j = i%USBUPG_MSG_MAX_LINE; else j = (usbupg_msg_line+1+i)%USBUPG_MSG_MAX_LINE; usbupg_msg_buf[i] = str_id;//display_strs[10+j]; } #endif usbupg_msg_buf[usbupg_msg_line % USBUPG_MSG_MAX_LINE] = str_id; //draw msg infos for(i=0; i<USBUPG_MSG_MAX_LINE; i++) { rect.uLeft = MSG_L; rect.uTop = MSG_T+(MSG_H+MSG_GAP)*i; rect.uWidth = MSG_W; rect.uHeight= MSG_H; OSD_SetRect2(&usbupg_txt_msg.head.frame, &rect); OSD_SetTextFieldContent(&usbupg_txt_msg, STRING_ID, (UINT32)usbupg_msg_buf[i]); OSD_DrawObject( (POBJECT_HEAD)&usbupg_txt_msg, C_UPDATE_ALL); } usbupg_msg_line++; }
static void osdmsg_clear_msg(VSCR* pVscr, OSD_RECT prect) { MEMSET(vscr_osdmsg_btm.lpbScr,OSD_TRANSPARENT_COLOR_BYTE,prect.uHeight*prect.uWidth); OSD_SetRect2 (&vscr_osdmsg_btm.vR,&prect); vscr_osdmsg_btm.updatePending = 1; osdmsg_updatevscr(&vscr_osdmsg_btm,OSDMSG_REGION_BTM); }
static void win_srch_draw_bmp(OSD_RECT* pRect, UINT16 iconID) { BITMAP* bmp; bmp = &srch_bmp; OSD_SetRect2(&bmp->head.frame,pRect); OSD_SetBitmapContent(bmp, iconID); OSD_DrawObject( (POBJECT_HEAD)bmp, C_UPDATE_ALL); }
static void win_srch_draw_info(OSD_RECT* pRect, char* str, UINT16* unistr, UINT8 shidx) { TEXT_FIELD* txt; txt = &srch_info; OSD_SetRect2(&txt->head.frame,pRect); if(str != NULL) OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); else if (unistr != NULL) OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)unistr); OSD_SetColor(txt,shidx,shidx,shidx,shidx); OSD_DrawObject( (POBJECT_HEAD)txt, C_UPDATE_ALL); }
static void vscr_osddata_copy(VSCR* vDec,VSCR* vSrc,UINT32 len) { UINT32 i; OSD_SetRect2( &vDec->vR,&vSrc->vR); //memcpy(vDec->lpbScr,vSrc->lpbScr,len); for(i=0; i<len; i++) { vDec->lpbScr[i]=vSrc->lpbScr[i]; } vDec->bBlockID = vSrc->bBlockID; vDec->updatePending = vSrc->updatePending; vDec->bColorMode = vSrc->bColorMode; }
void ap_cas_free_previewing_open(UINT16 strID) { static UINT8 i=0; OSD_RECT free_prew_rc; free_prew_rc.uLeft = 350; free_prew_rc.uTop = 0; free_prew_rc.uWidth = 360; free_prew_rc.uHeight = 120; OSD_SetRect2(&cas_freeprewing_info.head.frame, &free_prew_rc); OSD_SetRect(&(cas_freeprewing_info.rcText), 4, 4, free_prew_rc.uWidth-8, free_prew_rc.uHeight-8); cas_reeprewing_txt.bTextType =STRING_ID; cas_reeprewing_txt.text.wStringID= strID; OSD_DrawObject((POBJECT_HEAD)&cas_freeprewing_info, C_UPDATE_ALL); CAS_POPUP_FREE_PREVIEWING_STATUS = 1; }
static void win_sys_backup_msg_update(UINT16 str_id) { UINT32 i,j; OSD_RECT rect; sys_backup_msg_buf[sys_backup_msg_line % SYS_BACKUP_MSG_MAX_LINE] = str_id; for(i=0; i<SYS_BACKUP_MSG_MAX_LINE; i++) { rect.uLeft = MSG_L; rect.uTop = MSG_T+(MSG_H+MSG_GAP)*i; rect.uWidth = MSG_W; rect.uHeight= MSG_H; OSD_SetRect2(&sys_backup_txt_msg.head.frame, &rect); OSD_SetTextFieldContent(&sys_backup_txt_msg, STRING_ID, (UINT32)sys_backup_msg_buf[i]); OSD_DrawObject( (POBJECT_HEAD)&sys_backup_txt_msg, C_UPDATE_ALL); } sys_backup_msg_line++; }
static void win_sys_backup_msg_clear() { UINT8 i; OSD_RECT rect; for(i=0;i<SYS_BACKUP_MSG_MAX_LINE;i++) { sys_backup_msg_buf[i] = 0;//display_strs[10+i]; rect.uLeft = MSG_L; rect.uTop = MSG_T+(MSG_H+MSG_GAP)*i; rect.uWidth = MSG_W; rect.uHeight= MSG_H; OSD_SetRect2(&sys_backup_txt_msg.head.frame, &rect); OSD_SetTextFieldContent(&sys_backup_txt_msg, STRING_ID, (UINT32)sys_backup_msg_buf[i]); OSD_DrawObject( (POBJECT_HEAD)&sys_backup_txt_msg, C_UPDATE_ALL); } sys_backup_msg_line = 0; }
static void win_usbupg_msg_clear() { UINT8 i; OSD_RECT rect; for(i=0;i<USBUPG_MSG_MAX_LINE;i++) { //ComAscStr2Uni("", display_strs[10+i]); usbupg_msg_buf[i] = 0;//display_strs[10+i]; rect.uLeft = MSG_L; rect.uTop = MSG_T+(MSG_H+MSG_GAP)*i; rect.uWidth = MSG_W; rect.uHeight= MSG_H; OSD_SetRect2(&usbupg_txt_msg.head.frame, &rect); OSD_SetTextFieldContent(&usbupg_txt_msg, STRING_ID, (UINT32)usbupg_msg_buf[i]); OSD_DrawObject( (POBJECT_HEAD)&usbupg_txt_msg, C_UPDATE_ALL); } usbupg_msg_line = 0; }
static void win_pvod_msg_clear() { UINT8 i; OSD_RECT rect; for(i=0;i<PVOD_MSG_MAX_LINE;i++) { ComAscStr2Uni("", display_strs[10+i]); pvod_msg_buf[i] = display_strs[10+i]; rect.uLeft = MSG_L; rect.uTop = MSG_T+(MSG_H+MSG_GAP)*i; rect.uWidth = MSG_W; rect.uHeight= MSG_H; OSD_SetRect2(&pvod_txt_msg.head.frame, &rect); OSD_SetTextFieldContent(&pvod_txt_msg, STRING_UNICODE, (UINT32)pvod_msg_buf[i]); OSD_DrawObject( (POBJECT_HEAD)&pvod_txt_msg, C_UPDATE_ALL); } pvod_msg_line = 0; }
static void win_draw_text_content(OSD_RECT *pRect, char *str, UINT16 *unistr, UINT32 strtype, UINT8 shidx) { TEXT_FIELD *txt; txt = &smc_upgrade_item_str; OSD_SetRect2(&txt->head.frame, pRect); if (NULL == str && NULL == unistr) { txt->pString = NULL; OSD_SetTextFieldContent(txt, STRING_ID, (UINT32)strtype); } else if (str != NULL) { txt->pString = display_strs[40]; OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); } else if (unistr != NULL) { txt->pString = display_strs[40]; OSD_SetTextFieldContent(txt, STRING_UNICODE, (UINT32)unistr); } OSD_SetColor(txt, shidx, shidx, shidx, shidx); OSD_DrawObject((POBJECT_HEAD)txt, C_UPDATE_ALL); }
static PRESULT timerset_mselinfo_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 sel; VACTION unact; P_NODE p_node; UINT16* Uni_str; TIMER_SET_CONTENT* settimer; COM_POP_LIST_PARAM_T param; OSD_RECT rect; settimer = &timer_set; switch(event) { case EVN_PRE_CHANGE: sel = *((UINT32*)param1); break; case EVN_POST_CHANGE: sel = param1; break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) // select channel { OSD_SetRect2(&rect,&pObj->frame); rect.uTop -= 80; rect.uLeft -= 40; rect.uWidth += 40; rect.uHeight = 300; param.selecttype = POP_LIST_SINGLESELECT; param.cur = TIMER_SERVICE_INFO; sel = win_com_open_sub_list(POP_LIST_TYPE_CHANLIST,&rect,¶m); if(sel < (UINT32)TIMER_SERVICE_INFO_CNT) { get_prog_at(sel,&p_node); settimer->wakeup_channel = p_node.prog_id; TIMER_SERVICE_INFO = sel; } OSD_TrackObject( (POBJECT_HEAD )&timer_con_serviceinfo, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } break; case EVN_REQUEST_STRING: sel = param1; Uni_str= (UINT16*)param2; get_prog_at(sel,&p_node); if(p_node.ca_mode) ComAscStr2Uni("$", Uni_str); ComUniStrCopyChar((UINT8*)&Uni_str[p_node.ca_mode], p_node.service_name); if((TIMER_MODE == TIMER_MODE_OFF) || (TIMER_SERVICE_TYPE != TIMER_SERVICE_DVR_RECORD) || (p_node.ca_mode == 1)) { set_container_active(&timer_con_rec_type, C_ATTR_INACTIVE); settimer->wakeup_message = 0; } else if((TIMER_SERVICE_TYPE == TIMER_SERVICE_DVR_RECORD) && (!pvr_info.hdd_valid)) //guop add set_container_active(&timer_con_rec_type, C_ATTR_INACTIVE); else { set_container_active(&timer_con_rec_type, C_ATTR_ACTIVE); if(settimer->wakeup_message > 2) settimer->wakeup_message = 0; } OSD_SetMultiselSel(&timer_msel_rec_type, settimer->wakeup_message); OSD_DrawObject((POBJECT_HEAD)&timer_con_rec_type, C_UPDATE_ALL); break; } return ret; }
void scroll_string(UINT16* str,OSD_RECT rc,UINT16 fontColor,UINT16 backColor,UINT8 delay) { UINT8 c,width; UINT8 fontArray[CA_MAXLEN_OSD]; UINT8 *fontbuf; UINT8 *pDataBitmap; UINT8 regionID = 0; UINT16 ch, i,j,k,times=0,*buf; ID_RSC RscLibId; VSCR* vScr; VSCR vScrTemp; UINT8 * pscr=NULL; OBJECTINFO RscLibInfo; OBJECTINFO *pRscLibInfo = &RscLibInfo; POBJECT_HEAD p_top_menu = NULL; pscr =MALLOC(rc.uHeight*rc.uWidth); if (NULL == pscr) { ASSERT(0); } vScrTemp.lpbScr = pscr; if(str == NULL) return; if(delay == 0) delay = 30; //default speed is 30 fontbuf = fontBuf_btm; regionID = osdmsg_btm_regionID; vScr = &vscr_osdmsg_btm; SetScrollStopFlag(SCROLL_PLAY); while(*str != 0) { ch = COMMB16ToUINT16(*str); RscLibId = OSD_GetDefaultFontLib(ch); pDataBitmap = OSD_GetRscObjData_ext(RscLibId, ch, &RscLibInfo,fontbuf); if(NULL == pDataBitmap) { str++; continue; } /***************************************************************************************** **qjzheng 2010.3.10 NOTE: **当cpy的长度是72时导致显示的字符不全,具体原因未查明,但是改成CA_MAXLEN_OSD后错误得到修正 *****************************************************************************************/ MEMCPY(fontArray,pDataBitmap,CA_MAXLEN_OSD ); width = RscLibInfo.m_objAttr.m_wActualWidth; for(i=0; i<width; i++) { for(k=0; k<rc.uHeight; k++) { UINT8 cmask=0; UINT16 pos=k*rc.uWidth; for(j=0; j<rc.uWidth-1; j++) { vScr->lpbScr[pos+j] = vScr->lpbScr[pos+j+1]; } if( k <(rc.uHeight - RscLibInfo.m_objAttr.m_wHeight)) { vScr->lpbScr[pos+rc.uWidth-1] = backColor; continue; } c=fontArray[(k-(rc.uHeight - RscLibInfo.m_objAttr.m_wHeight))*(RscLibInfo.m_objAttr.m_wWidth/8)+i/8]; cmask = 0x80 >> (i%8) ; vScr->lpbScr[pos+rc.uWidth-1] = (c &cmask)?(fontColor):(backColor); } OSD_SetRect2 ( &vScr->vR,&rc); vScr->updatePending = 1; osdmsg_updatevscr(vScr,regionID); if(GetScrollStopFlag()==SCROLL_PAUSE) { vscr_osddata_copy(&vScrTemp,vScr,rc.uHeight*rc.uWidth); osdmsg_clear_msg(vScr,rc); SetScrollStopFlag(SCROLL_HIDE); while(GetScrollStopFlag()==SCROLL_HIDE) { osal_task_sleep(100); } vscr_osddata_copy(vScr,&vScrTemp,rc.uHeight*rc.uWidth); osdmsg_updatevscr(vScr,regionID); } if(GetScrollStopFlag()==SCROLL_STOP) { p_top_menu=menu_stack_get_top(); while(p_top_menu!=NULL && p_top_menu!=(POBJECT_HEAD)&g_win_progname) { p_top_menu=menu_stack_get_top(); osal_task_sleep(100); } return; } while(times<delay) { osal_task_sleep(1); times++; if(times >= delay) { times = 0; break; } } } str++; } SetScrollStopFlag(SCROLL_STOP); return; //GeCleanRegion(regionID); }
static PRESULT motorset_item_sel_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; UINT32 sel; UINT16* Uni_str; UINT8 bID; COM_POP_LIST_TYPE_T list_type; OSD_RECT rect; COM_POP_LIST_PARAM_T param; S_NODE s_node; UINT16 cur_idx; UINT8 back_saved; bID = OSD_GetObjID(pObj); switch(event) { case EVN_REQUEST_STRING: sel = param1; Uni_str= (UINT16*)param2; if(bID == SAT_ID) get_tuner_sat_name(antset_cur_tuner,sel,Uni_str); else //TP_ID { get_tuner_sat(antset_cur_tuner,SAT_IDX,&s_node); get_tp_name(s_node.sat_id,sel,Uni_str); } break; case EVN_POST_CHANGE: sel = param1; SAT_TP_CHANGED: /* Need to turn SAT/TP here*/ if(bID == SAT_ID) { win_motorset_load_sat(SAT_IDX,TRUE); win_motorset_set_frontend(); get_tuner_sat(antset_cur_tuner,SAT_IDX,&s_node); wincom_dish_move_popup_open(0xFFFF,s_node.sat_id,antset_cur_tuner,&back_saved); } else { win_motorset_turn_tp(); } break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { param.selecttype = POP_LIST_SINGLESELECT; OSD_SetRect2(&rect,&pObj->frame); rect.uLeft -= 40; rect.uWidth += 40; if(bID == SAT_ID) { list_type = POP_LIST_TYPE_SAT; list_type = POP_LIST_TYPE_SAT; rect.uHeight = 300; param.id = antset_cur_tuner; param.cur = SAT_IDX; } else// if(bID == TP_ID) { list_type = POP_LIST_TYPE_TP; list_type = POP_LIST_TYPE_TP; rect.uHeight = 300; get_tuner_sat(antset_cur_tuner,SAT_IDX,&s_node); param.id = s_node.sat_id; param.cur = TP_IDX; } cur_idx = win_com_open_sub_list(list_type,&rect,¶m); if(cur_idx == LIST_INVALID_SEL_IDX || cur_idx == param.cur) break; if(bID == SAT_ID) SAT_IDX = cur_idx; else TP_IDX = cur_idx; OSD_TrackObject(pObj, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); sel = cur_idx; goto SAT_TP_CHANGED; } break; } return ret; }
static PRESULT atnsetm_item_sel_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 sel; UINT8 bID; char str[10]; UINT16 * Uni_str; UINT8* pstr; SYSTEM_DATA* sys_data; POBJECT_HEAD other_antset_menu; VACTION unact; COM_POP_LIST_TYPE_T list_type; OSD_RECT rect; COM_POP_LIST_PARAM_T param; UINT16 cur_idx; BOOL b; UINT8 back_saved; sys_data = sys_data_get(); bID = OSD_GetObjID(pObj); switch(event) { case EVN_PRE_CHANGE: sel = *((UINT32*)param1); if(bID == TUNER_ID) { if(TUNER_CNT < 2) { ret = PROC_LOOP; break; } b = win_atnsetm_check_save_motor_antenna_setting(); if(!b) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL, NULL, RS_MSG_OUT_RANGE); win_compopup_open_ext(&back_saved); ret = PROC_LOOP; break; } /* Check tuner : sel has selected satellite or not.*/ if(get_tuner_sat_cnt(sel) == 0) { UINT8 back_saved; win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL,NULL, RS_TUNER_HAS_NO_SATE_SEL); win_compopup_open_ext(&back_saved); antset_cur_tuner = (sel == 0)? 1: 0; ret = PROC_LOOP; } else cur_tuner_idx = antset_cur_tuner = sel; } break; case EVN_POST_CHANGE: sel = param1; if(bID == TUNER_ID) { if(sys_data->tuner_lnb_type[sel] != LNB_MOTOR) { /* Need to change : Fixed antenna setting menu. */ other_antset_menu = (POBJECT_HEAD)&g_win_antenna_set_fixed; if(OSD_ObjOpen(other_antset_menu, MENU_OPEN_TYPE_MENU + bID) != PROC_LEAVE) { menu_stack_pop(); menu_stack_push(other_antset_menu); } ret = PROC_LOOP; } else { //win_atnsetm_load_sat_cnt(TRUE); win_atnsetm_load_motor_antenna_setting(TRUE); } } else if(bID == MOTOR_ID) { win_atnsetm_load_local_action(TRUE); } #ifdef SUPPORT_UNICABLE else if(bID == LNB_ID) { if(win_unicable_setting_open(LNB_IDX)) OSD_TrackObject((POBJECT_HEAD)&g_win_antenna_set_motor, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } #endif break; case EVN_REQUEST_STRING: sel = param1; Uni_str= (UINT16*)param2; get_lnb_name(sel,Uni_str); break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { OSD_SetRect2(&rect,&pObj->frame); /*Patch: For solve pop-up windows show bugs,for example: Universal(5150-10600) can not be all show*/ OSD_SetRect(&rect, rect.uLeft, rect.uTop, (rect.uWidth + 10), rect.uHeight); param.selecttype = POP_LIST_SINGLESELECT; switch(bID) { case LNB_ID: list_type = POP_LIST_TYPE_LNB; rect.uHeight = 330; param.cur = LNB_IDX; break; default: list_type = 0xFF; break; } if(list_type == 0xFF) break; cur_idx = win_com_open_sub_list(list_type,&rect,¶m); if(cur_idx == LIST_INVALID_SEL_IDX || cur_idx == param.cur) break; if(bID == LNB_ID) { LNB_IDX = cur_idx; OSD_TrackObject((POBJECT_HEAD)anesetm_items[LNB_ID - 1], C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); #ifdef SUPPORT_UNICABLE if(win_unicable_setting_open(LNB_IDX)) OSD_TrackObject((POBJECT_HEAD)&g_win_antenna_set_motor, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); #endif } } break; } return ret; }
static PRESULT timerset_mselinfo_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 sel; VACTION unact; P_NODE p_node; UINT16 *Uni_str; TIMER_SET_CONTENT *settimer; COM_POP_LIST_PARAM_T param; OSD_RECT rect; settimer = &timer_set; switch (event) { case EVN_PRE_CHANGE: sel = *((UINT32*)param1); break; case EVN_POST_CHANGE: sel = param1; break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1 >> 16); if (unact == VACT_ENTER) // select channel { OSD_SetRect2(&rect, &pObj->frame); rect.uLeft -= 40; rect.uWidth += 40; rect.uHeight = 180; param.selecttype = POP_LIST_SINGLESELECT; param.cur = TIMER_SERVICE_INFO; sel = win_com_open_sub_list(POP_LIST_TYPE_CHANLIST, &rect, ¶m); if (sel < (UINT32)TIMER_SERVICE_INFO_CNT) { get_prog_at(sel, &p_node); settimer->wakeup_channel = p_node.prog_id; //MEMCPY(settimer->event_name, (UINT8 *)&p_node.service_name[0], 40); TIMER_SERVICE_INFO = sel; } OSD_TrackObject((POBJECT_HEAD) &timer_con_serviceinfo, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } break; case EVN_REQUEST_STRING: sel = param1; Uni_str = (UINT16*)param2; get_prog_at(sel, &p_node); if (p_node.ca_mode) ComAscStr2Uni("$", Uni_str); ComUniStrCopyChar((UINT8*) &Uni_str[p_node.ca_mode], p_node.service_name); MEMCPY(settimer->event_name, (UINT8 *)Uni_str, 40); break; } return ret; }
static PRESULT satsrch_item_sel_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; UINT32 sel; UINT8 bID; char str[10]; UINT16 * Uni_str; UINT8* pstr; UINT16 cur_idx; COM_POP_LIST_TYPE_T list_type; OSD_RECT rect; COM_POP_LIST_PARAM_T param; UINT16 i,n = 0; S_NODE s_node; UINT32 flag; bID = OSD_GetObjID(pObj); switch(event) { case EVN_PRE_CHANGE: sel = *((UINT32*)param1); break; case EVN_POST_CHANGE: sel = param1; if(bID == MODE_ID) win_satsrch_set_nitactive(TRUE); if(bID == SAT_ID) { get_sat_at(sel,SET_SELECTED,&s_node); #ifdef SUPPORT_TWO_TUNER //guop modify #ifdef SUPPORT_SELECT_SAME_SAT OSD_SetTextFieldContent(&satsrch_txt6_note , STRING_ID, ((s_node.reserve_1 == 0) ? RS_LNB1 : RS_LNB2)); #else OSD_SetTextFieldContent(&satsrch_txt6_note , STRING_ID, (s_node.tuner1_valid ? RS_LNB1 : RS_LNB2)); #endif OSD_DrawObject((POBJECT_HEAD)&satsrch_txt6_note, C_UPDATE_ALL); #endif } break; case EVN_REQUEST_STRING: sel = param1; Uni_str= (UINT16*)param2; if(bID == SAT_ID) { get_tuner_sat_name(2,sel,Uni_str); sys_data_set_cur_satidx(sel); } break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_POP_UP) { OSD_SetRect2(&rect,&pObj->frame); switch(bID) { case SAT_ID: rect.uLeft -= 80; rect.uWidth += 80; list_type = POP_LIST_TYPE_SAT; rect.uHeight = 300; param.id = TUNER_EITHER; param.cur = SATSRCH_SAT_IDX; if(single_multi_srch_flag == 0) param.selecttype = POP_LIST_SINGLESELECT; else { MEMSET(sat_select,0,sizeof(sat_select)); n = get_tuner_sat_cnt(TUNER_EITHER); if(n == 0) { list_type = 0xFF; break; } for(i=0;i<n;i++) { get_tuner_sat(TUNER_EITHER,i,&s_node); if(s_node.selected_flag) sat_select[i] = 1; } #if (defined(SUPPORT_TWO_TUNER) || !defined(SELECT_SAT_ONLY)) param.selecttype = POP_LIST_MULTISELECT; #else param.selecttype = POP_LIST_SINGLESELECT; #endif param.select_array = sat_select; } break; default: list_type = 0xFF; } if(list_type == 0xFF) break; cur_idx = win_com_open_sub_list(list_type,&rect,¶m); if(single_multi_srch_flag == 0) { if(cur_idx == LIST_INVALID_SEL_IDX || cur_idx == param.cur) break; } else { /* Check the select satellite */ #if (defined(SUPPORT_TWO_TUNER) || !defined(SELECT_SAT_ONLY)) for(i=0;i<n;i++) { if(win_comlist_ext_check_item_sel(i)) flag = 1; else flag = 0; get_tuner_sat(TUNER_EITHER,i,&s_node); if(s_node.selected_flag != flag) { s_node.selected_flag = flag; modify_sat(s_node.sat_id, &s_node); } } update_data(TYPE_SAT_NODE); #endif } if(single_multi_srch_flag == 0) SATSRCH_SAT_IDX = cur_idx; get_sat_at(cur_idx,SET_SELECTED,&s_node); #ifdef SUPPORT_SELECT_SAME_SAT OSD_SetTextFieldContent(&satsrch_txt6_note , STRING_ID, ((s_node.reserve_1 == 0) ? RS_LNB1 : RS_LNB2)); #else OSD_SetTextFieldContent(&satsrch_txt6_note , STRING_ID, (s_node.tuner1_valid ? RS_LNB1 : RS_LNB2)); #endif OSD_DrawObject((POBJECT_HEAD)&satsrch_txt6_note, C_UPDATE_ALL); OSD_TrackObject((POBJECT_HEAD)&satsrch_item1, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); if(single_multi_srch_flag) { /* TODO : Draw the select satellites name */ win_satsrch_set_drawselectsats(); } } break; } return ret; }
static PRESULT otaset_item_sel_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 bID; UINT32 sel; UINT16 * Uni_str; S_NODE s_node; VACTION unact; COM_POP_LIST_TYPE_T list_type; OSD_RECT rect; COM_POP_LIST_PARAM_T param; UINT16 cur_idx; bID = OSD_GetObjID(pObj); switch(event) { case EVN_REQUEST_STRING: sel = param1; Uni_str= (UINT16*)param2; if(bID == EDIT_TP_SATE_ID) { #ifdef _BUILD_OTA_E_ ComAscStr2Uni("Fixed Sat", Uni_str); #else get_tuner_sat_name(OTA_TUNER_IDX,sel,Uni_str); #endif } else if(bID == EDIT_TP_TPIDX_ID) { get_tuner_sat(cur_tuner_idx,SAT_POS,&s_node); #ifdef _BUILD_OTA_E_ ComAscStr2Uni("Fixed TP", Uni_str); #else get_tp_name(s_node.sat_id,sel,Uni_str); #endif } break; case EVN_POST_CHANGE: sel = param1; if(bID == EDIT_TP_SATE_ID) win_otaset_load_sat_setting(sel,TRUE); else if(bID == EDIT_TP_TPIDX_ID) win_otaset_load_tp_setting(sel,TRUE); win_otaset_turn_frntend(); break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_POP_UP) { ret = PROC_LOOP; OSD_SetRect2(&rect,&pObj->frame); param.selecttype = POP_LIST_SINGLESELECT; switch(bID) { case EDIT_TP_SATE_ID: rect.uLeft -= 40; rect.uWidth += 40; list_type = POP_LIST_TYPE_SAT; rect.uHeight = 300;//230; param.id = OTA_TUNER_IDX; param.cur = SAT_POS; break; case EDIT_TP_TPIDX_ID: list_type = POP_LIST_TYPE_TP; rect.uHeight = 300;//230; get_tuner_sat(OTA_TUNER_IDX,SAT_POS,&s_node); param.id = s_node.sat_id; param.cur = TP_POS; break; default: list_type = 0xFF; break; } if(list_type == 0xFF) break; cur_idx = win_com_open_sub_list(list_type,&rect,¶m); if(cur_idx == LIST_INVALID_SEL_IDX || cur_idx == param.cur) break; if(bID == EDIT_TP_SATE_ID) { SAT_POS = cur_idx; OSD_TrackObject((POBJECT_HEAD)&wota_con0, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); win_otaset_load_sat_setting((UINT32)cur_idx, TRUE); } else if(bID == EDIT_TP_TPIDX_ID) { TP_POS = cur_idx; OSD_TrackObject((POBJECT_HEAD)&wota_con1, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); win_otaset_load_tp_setting((UINT32)cur_idx,TRUE); } win_otaset_turn_frntend(); } } return ret; }
void OSD_DrawProgressBarCell(PPROGRESS_BAR b,UINT8 bStyleIdx,UINT32 nCmdDraw) { PGUI_VSCR pVscr; INT16 wLeft, wDig,wDigWidth,wDigHeight,wCount; GUI_RECT r,iconrect; GUI_RECT MidRect; PWINSTYLE lpWinSty; UINT32 pbarstyle; UINT16 wIconWidth,wIconHeight; INT32 start_pos,end_pos,page_width,reverse; wIconWidth = 0; wIconHeight = 0; lpWinSty = g_gui_rscfunc.osd_get_win_style(bStyleIdx); if(OSD_GetUpdateType(nCmdDraw) == C_UPDATE_CONTENT) pbarstyle = (UINT32)(~0); else pbarstyle = bStyleIdx; OSD_SetRect2(&r, &b->head.frame); if(OSD_GetAttrSlave(b)) pVscr=OSD_DrawSlaveFrame(&r, bStyleIdx); else pVscr=OSD_DrawObjectFrame(&r, pbarstyle); OSD_ProgressBarGetMidRect(b,&MidRect); OSD_DrawStyleRect(&MidRect, b->wTickBg, pVscr);//ERR_LIBGE,b->wTickBg is a style not color if(!OSD_ProgressBarCheckValid(b))//check data return; if((GetProgressBarStyle(b) & PROGRESSBAR_HORI_NORMAL)||(GetProgressBarStyle(b) & PROGRESSBAR_HORI_REVERSE)) { if(b->bX==0)//analog bar { if(b->nPos<b->nMin) wDigWidth = 0; else wDigWidth = MidRect.uWidth*(b->nPos-b->nMin)/(b->nMax-b->nMin); if(GetProgressBarStyle(b)&PROGRESSBAR_HORI_NORMAL) OSD_SetRect(&iconrect,MidRect.uStartX,MidRect.uStartY,wDigWidth,MidRect.uHeight); else //reverse type OSD_SetRect(&iconrect,MidRect.uStartX+MidRect.uWidth-wDigWidth,MidRect.uStartY,wDigWidth,MidRect.uHeight); OSD_DrawProgressBarTick(b, &iconrect, lpWinSty->wBgIdx, pVscr); } else//digital bar { INT32 i ; if((b->nBlocks-1)*b->bX>=MidRect.uWidth)// Interval width is too large return; wDig = MidRect.uWidth/b->nBlocks;//wDig is the total tick width if(wDig<=1) return; wDigWidth = (MidRect.uWidth-(b->nBlocks-1)*b->bX)/b->nBlocks;//wDigWidth is the width for Foreback winstyle draw if(wDigWidth==0) wDigWidth =1;//at least is 1 wCount = b->nMax-b->nMin; if(GetProgressBarStyle(b)&PROGRESSBAR_HORI_NORMAL) { for(i = b->nMin,wLeft=MidRect.uStartX; (i < b->nPos)&&(wLeft<MidRect.uStartX+MidRect.uWidth); wLeft += wDig, i += wCount/b->nBlocks) {/*i += wCount/b->nBlocks may cause divisibility problem,So we should assure right blocks,nMax,nMin value when using digital bar*/ if(wLeft+wDigWidth-wDig>MidRect.uStartX+MidRect.uWidth) OSD_SetRect(&iconrect,wLeft,MidRect.uStartY,MidRect.uStartX+MidRect.uWidth-wLeft,MidRect.uHeight); else if (wLeft+wDigWidth>MidRect.uStartX+MidRect.uWidth) OSD_SetRect(&iconrect,wLeft,MidRect.uStartY,MidRect.uStartX+MidRect.uWidth-wLeft,MidRect.uHeight); else OSD_SetRect(&iconrect,wLeft,MidRect.uStartY,wDigWidth,MidRect.uHeight); OSD_DrawProgressBarTick(b, &iconrect, lpWinSty->wBgIdx, pVscr); } } else//PROGRESSBAR_HORI_REVERSE { wLeft = MidRect.uStartX+MidRect.uWidth-wDig; for(i = b->nMin,wLeft=MidRect.uStartX+MidRect.uWidth-wDig; (i < b->nPos)&&(wLeft >MidRect.uStartX); wLeft -= wDig, i += wCount/b->nBlocks) { if(wLeft+wDigWidth-wDig<MidRect.uStartX) OSD_SetRect(&iconrect,MidRect.uStartX,MidRect.uStartY,wLeft-MidRect.uStartX,MidRect.uHeight); else if (wLeft-wDigWidth<MidRect.uStartX) OSD_SetRect(&iconrect,MidRect.uStartX,MidRect.uStartY,wLeft-MidRect.uStartX,MidRect.uHeight); else OSD_SetRect(&iconrect,wLeft,MidRect.uStartY,wDigWidth,MidRect.uHeight); OSD_DrawProgressBarTick(b, &iconrect, lpWinSty->wBgIdx, pVscr); } } } } else { if(b->bY==0)//analog bar { if(b->nPos<b->nMin) wDigHeight = 0; else wDigHeight = MidRect.uHeight*(b->nPos-b->nMin)/(b->nMax-b->nMin); if(GetProgressBarStyle(b)&PROGRESSBAR_VERT_NORMAL) OSD_SetRect(&iconrect,MidRect.uStartX,MidRect.uStartY,MidRect.uWidth,wDigHeight); else OSD_SetRect(&iconrect,MidRect.uStartX,MidRect.uStartY+MidRect.uHeight-wDigHeight,MidRect.uWidth,wDigHeight); OSD_DrawProgressBarTick(b, &iconrect, lpWinSty->wBgIdx, pVscr); } else//digital bar { INT32 i ; INT32 wRectTop; if((b->nBlocks-1)*b->bY>=MidRect.uHeight)//Interval width is too large return; wDig = MidRect.uHeight/b->nBlocks; if(wDig<=1) return; wDigHeight = (MidRect.uHeight-(b->nBlocks-1)*b->bY)/b->nBlocks; if(wDigHeight==0) wDigHeight=1; wCount = b->nMax-b->nMin; if(GetProgressBarStyle(b)&PROGRESSBAR_VERT_NORMAL) { for(i = b->nMin,wRectTop=MidRect.uStartY; (i < b->nPos)&&(wRectTop<MidRect.uStartY+MidRect.uHeight); wRectTop += wDig, i += wCount/b->nBlocks) { if(wRectTop+wDig-wDigHeight>MidRect.uStartY+MidRect.uHeight) OSD_SetRect(&iconrect,MidRect.uStartX,wRectTop,MidRect.uWidth,MidRect.uStartY+MidRect.uHeight-wRectTop); else if (wRectTop+wDigHeight>MidRect.uStartY+MidRect.uHeight) OSD_SetRect(&iconrect,MidRect.uStartX,wRectTop,MidRect.uWidth,MidRect.uStartY+MidRect.uHeight-wRectTop); else OSD_SetRect(&iconrect,MidRect.uStartX,wRectTop,MidRect.uWidth,wDigHeight); OSD_DrawProgressBarTick(b, &iconrect, lpWinSty->wBgIdx, pVscr); } } else { for(i = b->nMin,wRectTop=MidRect.uStartY+MidRect.uHeight-wDig; (i < b->nPos)&&(wRectTop>MidRect.uStartY); wRectTop -= wDig, i += wCount/b->nBlocks) { if(wRectTop+wDigHeight-wDig<MidRect.uStartY) OSD_SetRect(&iconrect,MidRect.uStartX,MidRect.uStartY,MidRect.uWidth,wRectTop-MidRect.uStartY); else if(wRectTop-wDigHeight<MidRect.uStartY) OSD_SetRect(&iconrect,MidRect.uStartX,MidRect.uStartY,MidRect.uWidth,wRectTop-MidRect.uStartY); else OSD_SetRect(&iconrect,MidRect.uStartX,wRectTop,MidRect.uWidth,wDigHeight); OSD_DrawProgressBarTick(b, &iconrect, lpWinSty->wBgIdx, pVscr); } } } } }
static PRESULT atnsetf_item_sel_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; UINT32 sel; UINT8 bID; char str[30]; UINT16 * Uni_str; UINT8* pstr; SYSTEM_DATA* sys_data; POBJECT_HEAD other_antset_menu,item; S_NODE s_node; UINT16 cur_idx; COM_POP_LIST_TYPE_T list_type; OSD_RECT rect; COM_POP_LIST_PARAM_T param; MULTISEL* msel; sys_data = sys_data_get(); bID = OSD_GetObjID(pObj); switch(event) { case EVN_PRE_CHANGE: sel = *((UINT32*)param1); if(bID == TUNER_ID) { if(TUNER_CNT < 2) break; /* Check tuner : sel has selected satellite or not.*/ if(get_tuner_sat_cnt(sel) == 0) { UINT8 back_saved; win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL,NULL, RS_TUNER_HAS_NO_SATE_SEL); win_compopup_open_ext(&back_saved); antset_cur_tuner = (sel == 0)? 1: 0; win_atnsetf_load_sat_cnt(FALSE); ret = PROC_LOOP; } else { antset_cur_tuner = sel; cur_tuner_idx = antset_cur_tuner; } } break; case EVN_POST_CHANGE: sel = param1; if(bID == LNB_ID) { win_atnsetf_load_22k_action(TRUE); #ifdef SUPPORT_UNICABLE if(win_unicable_setting_open(LNB_IDX)) OSD_TrackObject((POBJECT_HEAD)&g_win_antenna_set_fixed, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); #endif } if(bID == TUNER_ID) { if(sys_data->tuner_lnb_type[sel] != LNB_FIXED) { /* Need to change : Motor antenna setting menu. */ other_antset_menu = (POBJECT_HEAD)&g_win_antenna_set_motor; if(OSD_ObjOpen(other_antset_menu, MENU_OPEN_TYPE_MENU + bID) != PROC_LEAVE) { win_signal_close(); menu_stack_pop(); menu_stack_push(other_antset_menu); } ret = PROC_LOOP; } else { win_atnsetf_load_sat_cnt(TRUE); win_atnsetf_load_sat_setting(0,TRUE); } } else if(bID == SAT_ID) win_atnsetf_load_sat_setting(sel,TRUE); else if(bID != TP_ID) { win_atnsetf_modify_sat_setting(SAT_IDX); } if(ret != PROC_LOOP) { api_stop_timer(&set_frontend); set_frontend = api_start_timer("SETANT",600,(OSAL_T_TIMER_FUNC_PTR)atnsetf_set_frontend_handler); } break; case EVN_REQUEST_STRING: sel = param1; Uni_str= (UINT16*)param2; if(bID == SAT_ID) { get_tuner_sat_name(antset_cur_tuner,sel,Uni_str); sys_data_set_cur_satidx(sel); } else if(bID == TP_ID) { get_tuner_sat(antset_cur_tuner,SAT_IDX,&s_node); get_tp_name(s_node.sat_id,sel,Uni_str); #ifdef SUPPORT_SELECT_SAME_SAT s_node.reserve_1 = antset_cur_tuner; modify_sat(s_node.sat_id, &s_node); update_data(); #endif } else if(bID == LNB_ID) get_lnb_name(sel,Uni_str); else if(bID == DISEQC11_ID) get_diseqc11_name(sel,Uni_str); else if(bID == IF_CHANNEL_ID) get_IF_channel_name(sel,Uni_str); else if(bID == CENTRE_FREQ_ID) get_centre_freqs_name(sel,Uni_str); break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_POP_UP) { OSD_SetRect2(&rect,&pObj->frame); /*Patch: For solve pop-up windows show bugs,for example: Universal(5150-10600) can not be all show*/ OSD_SetRect(&rect, rect.uLeft, rect.uTop, (rect.uWidth + 10), rect.uHeight); param.selecttype = POP_LIST_SINGLESELECT; switch(bID) { case SAT_ID: rect.uLeft -= 40; rect.uWidth += 40; list_type = POP_LIST_TYPE_SAT; rect.uHeight = 300; param.id = antset_cur_tuner; param.cur = SAT_IDX; break; case LNB_ID: list_type = POP_LIST_TYPE_LNB; rect.uHeight = 300; param.cur = LNB_IDX; break; case TP_ID: list_type = POP_LIST_TYPE_TP; rect.uHeight = 340; get_tuner_sat(antset_cur_tuner,SAT_IDX,&s_node); param.id = s_node.sat_id; param.cur = TP_IDX; break; case DISEQC10_ID: list_type = POP_LIST_TYPE_DISEQC10; rect.uHeight = 280; param.cur = DISEQC10_IDX; break; case DISEQC11_ID: list_type = POP_LIST_TYPE_DISEQC11; rect.uHeight = 240; param.cur = DISEQC11_IDX; break; case IF_CHANNEL_ID: list_type = POP_LIST_TYPE_IF_CHANNEL; rect.uHeight = 200; param.cur = IF_CHANNEL_IDX; break; case CENTRE_FREQ_ID: list_type = POP_LIST_TYPE_CENTRE_FREQ; rect.uHeight = 200; param.cur = CENTRE_FREQ_IDX; break; default: list_type = 0xFF; break; } if(list_type == 0xFF) break; cur_idx = win_com_open_sub_list(list_type,&rect,¶m); if(cur_idx == LIST_INVALID_SEL_IDX || cur_idx == param.cur) break; item = anesetf_items[bID - 1]; msel = anesetf_msels[bID - 1]; switch(bID) { case SAT_ID: SAT_IDX = cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); win_atnsetf_load_sat_setting((UINT32)cur_idx, TRUE); break; case LNB_ID: LNB_IDX = cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); win_atnsetf_load_22k_action(TRUE); #ifdef SUPPORT_UNICABLE if(win_unicable_setting_open(LNB_IDX)) OSD_TrackObject((POBJECT_HEAD)&g_win_antenna_set_fixed, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); #endif break; /* case TP_ID: TP_IDX = cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; case DISEQC10_ID: DISEQC10_IDX = cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; case DISEQC11_ID: DISEQC11_IDX = cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; case IF_CHANNEL_ID: IF_CHANNEL_IDX= cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; case CENTRE_FREQ_ID: CENTRE_FREQ_IDX= cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; */ default: msel->nSel = cur_idx; OSD_TrackObject(item, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; } if(bID != SAT_ID && bID != TP_ID) win_atnsetf_modify_sat_setting(SAT_IDX); api_stop_timer(&set_frontend); set_frontend = api_start_timer("SETANT",500,(OSAL_T_TIMER_FUNC_PTR)atnsetf_set_frontend_handler); } break; } return ret; }