Apply InfiniTime LittleVgl changes
This commit is contained in:
		
							parent
							
								
									c6bccf5225
								
							
						
					
					
						commit
						48afc495ab
					
				@ -268,15 +268,35 @@ void LittleVgl::FlushDisplay(const lv_area_t* area, lv_color_t* color_p) {
 | 
			
		||||
  vTaskDelay(pdMS_TO_TICKS(3));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void LittleVgl::SetNewTouchPoint(uint16_t x, uint16_t y, bool contact) {
 | 
			
		||||
  tap_x = x;
 | 
			
		||||
  tap_y = y;
 | 
			
		||||
  tapped = contact;
 | 
			
		||||
void LittleVgl::SetNewTouchPoint(int16_t x, int16_t y, bool contact) {
 | 
			
		||||
  if (contact) {
 | 
			
		||||
    if (!isCancelled) {
 | 
			
		||||
      touchPoint = {x, y};
 | 
			
		||||
      tapped = true;
 | 
			
		||||
    }
 | 
			
		||||
  } else {
 | 
			
		||||
    if (isCancelled) {
 | 
			
		||||
      touchPoint = {-1, -1};
 | 
			
		||||
      tapped = false;
 | 
			
		||||
      isCancelled = false;
 | 
			
		||||
    } else {
 | 
			
		||||
      touchPoint = {x, y};
 | 
			
		||||
      tapped = false;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void LittleVgl::CancelTap() {
 | 
			
		||||
  if (tapped) {
 | 
			
		||||
    isCancelled = true;
 | 
			
		||||
    touchPoint = {-1, -1};
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool LittleVgl::GetTouchPadInfo(lv_indev_data_t* ptr) {
 | 
			
		||||
  ptr->point.x = tap_x;
 | 
			
		||||
  ptr->point.y = tap_y;
 | 
			
		||||
  ptr->point.x = touchPoint.x;
 | 
			
		||||
  ptr->point.y = touchPoint.y;
 | 
			
		||||
  if (tapped) {
 | 
			
		||||
    ptr->state = LV_INDEV_STATE_PR;
 | 
			
		||||
  } else {
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,8 @@ namespace Pinetime {
 | 
			
		||||
      void FlushDisplay(const lv_area_t* area, lv_color_t* color_p);
 | 
			
		||||
      bool GetTouchPadInfo(lv_indev_data_t* ptr);
 | 
			
		||||
      void SetFullRefresh(FullRefreshDirections direction);
 | 
			
		||||
      void SetNewTouchPoint(uint16_t x, uint16_t y, bool contact);
 | 
			
		||||
      void SetNewTouchPoint(int16_t x, int16_t y, bool contact);
 | 
			
		||||
      void CancelTap();
 | 
			
		||||
 | 
			
		||||
      bool GetFullRefresh() {
 | 
			
		||||
        bool returnValue = fullRefresh;
 | 
			
		||||
@ -59,9 +60,9 @@ namespace Pinetime {
 | 
			
		||||
      uint16_t writeOffset = 0;
 | 
			
		||||
      uint16_t scrollOffset = 0;
 | 
			
		||||
 | 
			
		||||
      uint16_t tap_x = 0;
 | 
			
		||||
      uint16_t tap_y = 0;
 | 
			
		||||
      lv_point_t touchPoint = {};
 | 
			
		||||
      bool tapped = false;
 | 
			
		||||
      bool isCancelled = false;
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user