67 {
68 if (during_synthesized_reset_) {
69 during_synthesized_reset_ = current != DIRECTMANIPULATION_READY;
70 return S_OK;
71 }
72 during_inertia_ = current == DIRECTMANIPULATION_INERTIA;
73 if (current == DIRECTMANIPULATION_RUNNING) {
74 IDirectManipulationContent*
content;
75 HRESULT hr = viewport->GetPrimaryContent(IID_PPV_ARGS(&
content));
80 initial_gesture_data_ = ConvertToGestureData(
transform);
81 } else {
83 }
84 } else {
86 }
89 }
90 } else if (previous == DIRECTMANIPULATION_RUNNING) {
91
92 last_pan_delta_x_ = 0.0;
93 last_pan_delta_y_ = 0.0;
96 }
97 } else if (previous == DIRECTMANIPULATION_INERTIA) {
99 (std::max)(std::abs(last_pan_delta_x_), std::abs(last_pan_delta_y_)) >
100 0.01) {
102 }
103
104
105
106
107 during_synthesized_reset_ = true;
108 last_pan_x_ = 0.0;
109 last_pan_y_ = 0.0;
110 last_pan_delta_x_ = 0.0;
111 last_pan_delta_y_ = 0.0;
113 HRESULT hr = viewport->GetViewportRect(&rect);
115 FML_LOG(
ERROR) <<
"Failed to get the current viewport rect";
116 return E_FAIL;
117 }
119 false);
121 FML_LOG(
ERROR) <<
"Failed to reset the gesture using ZoomToRect";
122 return E_FAIL;
123 }
124 }
125 return S_OK;
126}
virtual void OnPointerPanZoomStart(int32_t device_id)=0
virtual void OnPointerPanZoomEnd(int32_t device_id)=0
virtual void OnScrollInertiaCancel(int32_t device_id)=0
sk_sp< SkBlender > blender SkRect rect