static PRESULT win_zoom_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT proc_result = PROC_PASS; VACTION unact; struct Rect tv_src_rect,tv_dest_rect; struct OSDRect osd_src_rect; get_tv_osd_src(&tv_src_rect,&osd_src_rect); switch(event) { case EVN_PRE_OPEN: api_inc_wnd_count(); zoom_times = 0; osd_center_pos.uX = TV_R_W/2; osd_center_pos.uY = TV_R_H/2; break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: break; case EVN_POST_CLOSE: tv_src_rect.uStartX = TV_FULL_SRC_L; tv_src_rect.uStartY = TV_FULL_SRC_T; tv_src_rect.uWidth = TV_FULL_SRC_W; tv_src_rect.uHeight = TV_FULL_SRC_H; tv_dest_rect.uStartX = TV_FULL_DEST_L;//TV_DEST_L; tv_dest_rect.uStartY = TV_FULL_DEST_T;//TV_DEST_T; tv_dest_rect.uWidth = TV_FULL_DEST_W;//TV_DEST_W; tv_dest_rect.uHeight = TV_FULL_DEST_H;//TV_DEST_H; vpo_zoom(g_vpo_dev,&tv_src_rect,&tv_dest_rect); #ifdef DUAL_VIDEO_OUTPUT vpo_zoom(g_sd_vpo_dev,&tv_src_rect,&tv_dest_rect); #endif api_dec_wnd_count(); break; case EVN_PRE_DRAW: //win_zoom_draw_tv_zoom_rect(); //proc_result = PROC_LOOP; break; case EVN_POST_DRAW: win_zoom_draw_tv_zoom_rect(); break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); proc_result = win_zoom_proc(unact); break; } return proc_result; }
static PRESULT win_zoom_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT proc_result = PROC_PASS; VACTION unact; switch(event) { case EVN_PRE_OPEN: api_inc_wnd_count(); zoom_times = 0; osd_center_pos.uX = TV_R_W/2; osd_center_pos.uY = TV_R_H/2; break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: break; case EVN_POST_CLOSE: exit_zoom_win(); break; case EVN_PRE_DRAW: //win_zoom_draw_tv_zoom_rect(); //proc_result = PROC_LOOP; break; case EVN_POST_DRAW: win_zoom_draw_tv_zoom_rect(); break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); proc_result = win_zoom_proc(unact); break; } return proc_result; }