0
点赞
收藏
分享

微信扫一扫

Q03C浏览器Touch Scrolling参考设计


按如下代码修改函数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****/ 

 ...... 

 ...... 

 }

举报

相关推荐

0 条评论