当前位置: 代码迷 >> 综合 >> Q03C浏览器Touch Scrolling参考设计
  详细解决方案

Q03C浏览器Touch Scrolling参考设计

热度:3   发布时间:2024-01-19 20:16:51.0
按如下代码修改函数widget_general_pen_object_handler() 
static BOOL widget_general_pen_object_handler( 
 widget_header_struct *h, 
 mmi_pen_point_struct point, 
 mmi_pen_event_type_enum pen_event) 
{ 
...... 
case WIDGET_PAINTBOX_TYPE:  //****original code****// 
{ 
//-----add code-----START---// 
 static mmi_pen_point_struct pre_pos={0,0}; 
 static BOOL scrolling_flag=MMI_FALSE; 
 mmi_pen_point_struct off_set={0,0}; 
 widget_gadget_bar_struct *bar;
 
switch(pen_event) 
 { 
 case MMI_PEN_EVENT_DOWN: 
 { 
 pre_pos.x=point.x; 
 pre_pos.y=point.y; 
 break; 
 }  
 case MMI_PEN_EVENT_UP: 
 { 
 pre_pos.x=0; 
 pre_pos.y=0; 
 if (scrolling_flag) 
 { 
 pen_event=MMI_PEN_EVENT_ABORT; 
 } 
 break; 
 } 
 case MMI_PEN_EVENT_MOVE: 
 { 
 off_set.x=-(point.x-pre_pos.x); 
 off_set.y=-(point.y-pre_pos.y); 
 pre_pos.x=point.x; 
 pre_pos.y=point.y; 
 break; 
 } 
 } 
  
 if (pen_event == MMI_PEN_EVENT_ABORT) 
 { 
 scrolling_flag=MMI_FALSE; 
 }
 
if (_H(WGUI_CTX->current_vertical_scrollbar)&&((pen_event == MMI_PEN_EVENT_MOVE))) 
 { 
 bar = WGUI_CTX->current_vertical_scrollbar; 
 bar->value+=off_set.y; 
 if (bar->value<0) 
 { 
 bar->value=0; 
 } 
 if(bar->value>bar->max_value) 
 {  
 bar->value=bar->max_value; 
 } 
 WGUI_CTX->vbar.value=bar->value; 
 wiget_MMI_paintbox_scroll_by_pen(bar->parent,  
_H(bar),  
bar->value,  
KAL_FALSE);  
scrolling_flag=MMI_TRUE;
 
}
 
if (_H(WGUI_CTX->current_horizontal_scrollbar)&&((pen_event == MMI_PEN_EVENT_MOVE))) 
 { 
 bar = WGUI_CTX->current_horizontal_scrollbar; 
 bar->value+=off_set.x; 
 if (bar->value<0) 
 { 
 bar->value=0; 
 } 
 if(bar->value>bar->max_value) 
 { 
 bar->value=bar->max_value; 
 } 
 WGUI_CTX->hbar.value=bar->value; 
 wiget_MMI_paintbox_scroll_by_pen(bar->parent,  
_H(bar),  
bar->value,  
KAL_FALSE);  
scrolling_flag=MMI_TRUE; 
 } 
//-----Add code-----END-----// 
 
 
 if (pen_event == MMI_PEN_EVENT_DOWN || pen_event == MMI_PEN_EVENT_UP || pen_event ==
MMI_PEN_EVENT_ABORT) /****original code****/ 
...... 
...... 
}
  相关解决方案