@@ -140,6 +140,10 @@ void TizenViewElementary::RegisterEventHandlers() {
140140 if (self->view_ ) {
141141 if (self->event_layer_ == object) {
142142 auto * mouse_event = reinterpret_cast <Evas_Event_Mouse_Up*>(event_info);
143+ if (self->scroll_hold_ ) {
144+ elm_object_scroll_hold_pop (self->event_layer_ );
145+ self->scroll_hold_ = false ;
146+ }
143147 self->view_ ->OnPointerUp (mouse_event->canvas .x , mouse_event->canvas .y ,
144148 mouse_event->timestamp ,
145149 kFlutterPointerDeviceKindTouch ,
@@ -150,23 +154,26 @@ void TizenViewElementary::RegisterEventHandlers() {
150154 evas_object_event_callback_add (event_layer_, EVAS_CALLBACK_MOUSE_UP,
151155 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_UP],
152156 this );
153- evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE] = [](void * data, Evas* evas,
154- Evas_Object* object,
155- void * event_info) {
156- auto * self = reinterpret_cast <TizenViewElementary*>(data);
157- if (self->view_ ) {
158- if (self->event_layer_ == object) {
159- auto * mouse_event =
160- reinterpret_cast <Evas_Event_Mouse_Move*>(event_info);
161- mouse_event->event_flags = (Evas_Event_Flags)(mouse_event->event_flags &
162- EVAS_EVENT_FLAG_ON_HOLD);
163- self->view_ ->OnPointerMove (
164- mouse_event->cur .canvas .x , mouse_event->cur .canvas .y ,
165- mouse_event->timestamp , kFlutterPointerDeviceKindTouch ,
166- mouse_event->buttons );
167- }
168- }
169- };
157+ evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE] =
158+ [](void * data, Evas* evas, Evas_Object* object, void * event_info) {
159+ auto * self = reinterpret_cast <TizenViewElementary*>(data);
160+ if (self->view_ ) {
161+ if (self->event_layer_ == object) {
162+ auto * mouse_event =
163+ reinterpret_cast <Evas_Event_Mouse_Move*>(event_info);
164+ mouse_event->event_flags = static_cast <Evas_Event_Flags>(
165+ mouse_event->event_flags | EVAS_EVENT_FLAG_ON_HOLD);
166+ if (!self->scroll_hold_ ) {
167+ elm_object_scroll_hold_push (self->event_layer_ );
168+ self->scroll_hold_ = true ;
169+ }
170+ self->view_ ->OnPointerMove (
171+ mouse_event->cur .canvas .x , mouse_event->cur .canvas .y ,
172+ mouse_event->timestamp , kFlutterPointerDeviceKindTouch ,
173+ mouse_event->buttons );
174+ }
175+ }
176+ };
170177 evas_object_event_callback_add (
171178 event_layer_, EVAS_CALLBACK_MOUSE_MOVE,
172179 evas_object_callbacks_[EVAS_CALLBACK_MOUSE_MOVE], this );
@@ -206,7 +213,8 @@ void TizenViewElementary::RegisterEventHandlers() {
206213 if (self->event_layer_ == object) {
207214 auto * key_event = reinterpret_cast <Evas_Event_Key_Down*>(event_info);
208215 int handled = false ;
209- key_event->event_flags = EVAS_EVENT_FLAG_ON_HOLD;
216+ key_event->event_flags = static_cast <Evas_Event_Flags>(
217+ key_event->event_flags | EVAS_EVENT_FLAG_ON_HOLD);
210218 if (self->input_method_context_ ->IsInputPanelShown ()) {
211219 handled =
212220 self->input_method_context_ ->HandleEvasEventKeyDown (key_event);
@@ -231,7 +239,8 @@ void TizenViewElementary::RegisterEventHandlers() {
231239 if (self->event_layer_ == object) {
232240 auto * key_event = reinterpret_cast <Evas_Event_Key_Up*>(event_info);
233241 int handled = false ;
234- key_event->event_flags = EVAS_EVENT_FLAG_ON_HOLD;
242+ key_event->event_flags = static_cast <Evas_Event_Flags>(
243+ key_event->event_flags | EVAS_EVENT_FLAG_ON_HOLD);
235244 if (self->input_method_context_ ->IsInputPanelShown ()) {
236245 handled =
237246 self->input_method_context_ ->HandleEvasEventKeyUp (key_event);
@@ -278,6 +287,16 @@ TizenViewBase::Geometry TizenViewElementary::GetRenderTargetGeometry() {
278287}
279288
280289void TizenViewElementary::SetRenderTargetGeometry (Geometry geometry) {
290+ evas_object_resize (container_, geometry.width , geometry.height );
291+ evas_object_size_hint_min_set (container_, geometry.width , geometry.height );
292+ evas_object_size_hint_max_set (container_, geometry.width , geometry.height );
293+ evas_object_move (container_, geometry.left , geometry.top );
294+
295+ evas_object_resize (event_layer_, geometry.width , geometry.height );
296+ evas_object_size_hint_min_set (event_layer_, geometry.width , geometry.height );
297+ evas_object_size_hint_max_set (event_layer_, geometry.width , geometry.height );
298+ evas_object_move (event_layer_, geometry.left , geometry.top );
299+
281300 evas_object_resize (image_, geometry.width , geometry.height );
282301 evas_object_size_hint_min_set (image_, geometry.width , geometry.height );
283302 evas_object_size_hint_max_set (image_, geometry.width , geometry.height );
0 commit comments