mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
85 lines
3.5 KiB
C++
85 lines
3.5 KiB
C++
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_WINDOW_BINDING_HANDLER_DELEGATE_H_
|
|
#define FLUTTER_SHELL_PLATFORM_WINDOWS_WINDOW_BINDING_HANDLER_DELEGATE_H_
|
|
|
|
#include "flutter/shell/platform/common/geometry.h"
|
|
#include "flutter/shell/platform/embedder/embedder.h"
|
|
|
|
namespace flutter {
|
|
|
|
class WindowBindingHandlerDelegate {
|
|
public:
|
|
// Notifies delegate that backing window size has changed.
|
|
// Typically called by currently configured WindowBindingHandler, this is
|
|
// called on the platform thread.
|
|
virtual void OnWindowSizeChanged(size_t width, size_t height) = 0;
|
|
|
|
// Notifies delegate that backing window mouse has moved.
|
|
// Typically called by currently configured WindowBindingHandler
|
|
virtual void OnPointerMove(double x, double y) = 0;
|
|
|
|
// Notifies delegate that backing window mouse pointer button has been
|
|
// pressed. Typically called by currently configured WindowBindingHandler
|
|
virtual void OnPointerDown(double x,
|
|
double y,
|
|
FlutterPointerMouseButtons button) = 0;
|
|
|
|
// Notifies delegate that backing window mouse pointer button has been
|
|
// released. Typically called by currently configured WindowBindingHandler
|
|
virtual void OnPointerUp(double x,
|
|
double y,
|
|
FlutterPointerMouseButtons button) = 0;
|
|
|
|
// Notifies delegate that backing window mouse pointer has left the window.
|
|
// Typically called by currently configured WindowBindingHandler
|
|
virtual void OnPointerLeave() = 0;
|
|
|
|
// Notifies delegate that backing window has received text.
|
|
// Typically called by currently configured WindowBindingHandler
|
|
virtual void OnText(const std::u16string&) = 0;
|
|
|
|
// TODO(clarkezone) refactor delegate to avoid needing win32 magic values in
|
|
// UWP implementation https://github.com/flutter/flutter/issues/70202 Notifies
|
|
// delegate that backing window size has received key press. Should return
|
|
// true if the event was handled and should not be propagated. Typically
|
|
// called by currently configured WindowBindingHandler.
|
|
virtual bool OnKey(int key,
|
|
int scancode,
|
|
int action,
|
|
char32_t character,
|
|
bool extended) = 0;
|
|
|
|
// Notifies the delegate that IME composing mode has begun.
|
|
//
|
|
// Triggered when the user begins editing composing text using a multi-step
|
|
// input method such as in CJK text input.
|
|
virtual void OnComposeBegin() = 0;
|
|
|
|
// Notifies the delegate that IME composing mode has ended.
|
|
//
|
|
// Triggered when the user commits the composing text while using a multi-step
|
|
// input method such as in CJK text input.
|
|
virtual void OnComposeEnd() = 0;
|
|
|
|
// Notifies the delegate that IME composing region contents have changed.
|
|
//
|
|
// Triggered when the user edits the composing text while using a multi-step
|
|
// input method such as in CJK text input.
|
|
virtual void OnComposeChange(const std::u16string& text, int cursor_pos) = 0;
|
|
|
|
// Notifies delegate that backing window size has recevied scroll.
|
|
// Typically called by currently configured WindowBindingHandler
|
|
virtual void OnScroll(double x,
|
|
double y,
|
|
double delta_x,
|
|
double delta_y,
|
|
int scroll_offset_multiplier) = 0;
|
|
};
|
|
|
|
} // namespace flutter
|
|
|
|
#endif // FLUTTER_SHELL_PLATFORM_WINDOWS_WINDOW_BINDING_HANDLER_DELEGATE_H_
|