Flutter Windows Embedder
cursor_handler.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_CURSOR_HANDLER_H_
6
#define FLUTTER_SHELL_PLATFORM_WINDOWS_CURSOR_HANDLER_H_
7
8
#include <unordered_map>
9
10
#include "flutter/fml/macros.h"
11
#include "
flutter/shell/platform/common/client_wrapper/include/flutter/binary_messenger.h
"
12
#include "
flutter/shell/platform/common/client_wrapper/include/flutter/encodable_value.h
"
13
#include "
flutter/shell/platform/common/client_wrapper/include/flutter/method_channel.h
"
14
#include "
flutter/shell/platform/windows/public/flutter_windows.h
"
15
#include "
flutter/shell/platform/windows/window_binding_handler.h
"
16
17
namespace
flutter
{
18
19
class
FlutterWindowsEngine;
20
21
// Handler for the cursor system channel.
22
class
CursorHandler
{
23
public
:
24
explicit
CursorHandler
(
flutter::BinaryMessenger
* messenger,
25
flutter::FlutterWindowsEngine
* engine);
26
27
private
:
28
// Called when a method is called on |channel_|;
29
void
HandleMethodCall(
30
const
flutter::MethodCall<EncodableValue>
& method_call,
31
std::unique_ptr<
flutter::MethodResult<EncodableValue>
> result);
32
33
// The MethodChannel used for communication with the Flutter engine.
34
std::unique_ptr<flutter::MethodChannel<EncodableValue>> channel_;
35
36
// The Flutter engine that will be notified for cursor updates.
37
FlutterWindowsEngine
* engine_;
38
39
// The cache map for custom cursors.
40
std::unordered_map<std::string, HCURSOR> custom_cursors_;
41
42
FML_DISALLOW_COPY_AND_ASSIGN(
CursorHandler
);
43
};
44
45
// Create a cursor from a rawBGRA buffer and the cursor info.
46
HCURSOR
GetCursorFromBuffer
(
const
std::vector<uint8_t>& buffer,
47
double
hot_x,
48
double
hot_y,
49
int
width,
50
int
height);
51
52
// Get the corresponding mask bitmap from the source bitmap.
53
void
GetMaskBitmaps
(HBITMAP bitmap, HBITMAP& mask_bitmap);
54
55
}
// namespace flutter
56
57
#endif // FLUTTER_SHELL_PLATFORM_WINDOWS_CURSOR_HANDLER_H_
encodable_value.h
flutter::GetCursorFromBuffer
HCURSOR GetCursorFromBuffer(const std::vector< uint8_t > &buffer, double hot_x, double hot_y, int width, int height)
Definition:
cursor_handler.cc:205
flutter::CursorHandler
Definition:
cursor_handler.h:22
flutter::FlutterWindowsEngine
Definition:
flutter_windows_engine.h:90
binary_messenger.h
flutter::BinaryMessenger
Definition:
binary_messenger.h:28
flutter::MethodCall
Definition:
method_call.h:18
window_binding_handler.h
flutter::GetMaskBitmaps
void GetMaskBitmaps(HBITMAP bitmap, HBITMAP &mask_bitmap)
Definition:
cursor_handler.cc:249
flutter
Definition:
accessibility_bridge_windows.cc:11
flutter::MethodResult< EncodableValue >
method_channel.h
flutter_windows.h
flutter::CursorHandler::CursorHandler
CursorHandler(flutter::BinaryMessenger *messenger, flutter::FlutterWindowsEngine *engine)
Definition:
cursor_handler.cc:50
shell
platform
windows
cursor_handler.h
Generated by
1.8.17