Skip to content

Commit d53f19c

Browse files
authored
Add view_id for FlutterPointerEvent (#60)
1 parent e385e31 commit d53f19c

File tree

6 files changed

+25
-8
lines changed

6 files changed

+25
-8
lines changed

flutter/shell/platform/tizen/flutter_tizen.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,8 @@ FlutterDesktopViewRef FlutterDesktopViewCreateFromNewWindow(
218218
#endif
219219
}
220220

221-
auto view = std::make_unique<flutter::FlutterTizenView>(std::move(window));
221+
auto view = std::make_unique<flutter::FlutterTizenView>(
222+
flutter::kImplicitViewId, std::move(window));
222223

223224
// Take ownership of the engine, starting it if necessary.
224225
view->SetEngine(

flutter/shell/platform/tizen/flutter_tizen_elementary.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ FlutterDesktopViewRef FlutterDesktopViewCreateFromElmParent(
3030
view_properties.width, view_properties.height,
3131
static_cast<Evas_Object*>(parent));
3232

33-
auto view =
34-
std::make_unique<flutter::FlutterTizenView>(std::move(tizen_view));
33+
auto view = std::make_unique<flutter::FlutterTizenView>(
34+
flutter::kImplicitViewId, std::move(tizen_view));
3535

3636
// Take ownership of the engine, starting it if necessary.
3737
view->SetEngine(

flutter/shell/platform/tizen/flutter_tizen_engine.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ struct FlutterDesktopMessenger {
4545

4646
namespace flutter {
4747

48+
// The view ID for a single-view Flutter app.
49+
//
50+
// See:
51+
// https://api.flutter.dev/flutter/dart-ui/PlatformDispatcher/implicitView.html
52+
constexpr FlutterViewId kImplicitViewId = 0;
53+
4854
class FlutterTizenView;
4955

5056
// Manages state associated with the underlying FlutterEngine.

flutter/shell/platform/tizen/flutter_tizen_nui.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ FlutterDesktopViewRef FlutterDesktopViewCreateFromImageView(
3939
reinterpret_cast<Dali::NativeImageSourceQueue*>(native_image_queue),
4040
default_window_id);
4141

42-
auto view =
43-
std::make_unique<flutter::FlutterTizenView>(std::move(tizen_view));
42+
auto view = std::make_unique<flutter::FlutterTizenView>(
43+
flutter::kImplicitViewId, std::move(tizen_view));
4444

4545
// Take ownership of the engine, starting it if necessary.
4646
view->SetEngine(

flutter/shell/platform/tizen/flutter_tizen_view.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,9 @@ double ComputePixelRatio(flutter::TizenViewBase* view) {
6666

6767
namespace flutter {
6868

69-
FlutterTizenView::FlutterTizenView(std::unique_ptr<TizenViewBase> tizen_view)
70-
: tizen_view_(std::move(tizen_view)) {
69+
FlutterTizenView::FlutterTizenView(FlutterViewId view_id,
70+
std::unique_ptr<TizenViewBase> tizen_view)
71+
: view_id_(view_id), tizen_view_(std::move(tizen_view)) {
7172
tizen_view_->SetView(this);
7273

7374
if (auto* window = dynamic_cast<TizenWindow*>(tizen_view_.get())) {
@@ -442,6 +443,7 @@ void FlutterTizenView::SendFlutterPointerEvent(FlutterPointerPhase phase,
442443
event.device = state->pointer_id;
443444
event.device_kind = state->device_kind;
444445
event.buttons = state->buttons;
446+
event.view_id = view_id();
445447
engine_->SendPointerEvent(event);
446448

447449
state->flutter_state_is_added = true;
@@ -461,6 +463,7 @@ void FlutterTizenView::SendFlutterPointerEvent(FlutterPointerPhase phase,
461463
event.device = state->pointer_id;
462464
event.device_kind = state->device_kind;
463465
event.buttons = state->buttons;
466+
event.view_id = view_id();
464467
engine_->SendPointerEvent(event);
465468
}
466469

flutter/shell/platform/tizen/flutter_tizen_view.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ namespace flutter {
2525

2626
class FlutterTizenView : public TizenViewEventHandlerDelegate {
2727
public:
28-
FlutterTizenView(std::unique_ptr<TizenViewBase> tizen_view);
28+
FlutterTizenView(FlutterViewId view_id,
29+
std::unique_ptr<TizenViewBase> tizen_view);
2930

3031
virtual ~FlutterTizenView();
3132

33+
// Get the view's unique identifier.
34+
FlutterViewId view_id() const { return view_id_; }
35+
3236
// Configures the window instance with an instance of a running Flutter
3337
// engine.
3438
void SetEngine(std::unique_ptr<FlutterTizenEngine> engine);
@@ -170,6 +174,9 @@ class FlutterTizenView : public TizenViewEventHandlerDelegate {
170174
// The engine associated with this view.
171175
std::unique_ptr<FlutterTizenEngine> engine_;
172176

177+
// The view's unique identifier.
178+
FlutterViewId view_id_;
179+
173180
// The platform view associated with this Flutter view.
174181
std::unique_ptr<TizenViewBase> tizen_view_;
175182

0 commit comments

Comments
 (0)