Flutter Engine
 
Loading...
Searching...
No Matches
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"
16
17namespace flutter {
18
19class FlutterWindowsEngine;
20
21// Handler for the cursor system channel.
23 public:
24 explicit CursorHandler(flutter::BinaryMessenger* messenger,
26
27 private:
28 // Called when a method is called on |channel_|;
29 void HandleMethodCall(
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
43};
44
45// Create a cursor from a rawBGRA buffer and the cursor info.
46HCURSOR 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.
53void GetMaskBitmaps(HBITMAP bitmap, HBITMAP& mask_bitmap);
54
55} // namespace flutter
56
57#endif // FLUTTER_SHELL_PLATFORM_WINDOWS_CURSOR_HANDLER_H_
FlutterEngine engine
Definition main.cc:84
G_BEGIN_DECLS G_MODULE_EXPORT FlMethodCall * method_call
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition macros.h:27
void GetMaskBitmaps(HBITMAP bitmap, HBITMAP &mask_bitmap)
HCURSOR GetCursorFromBuffer(const std::vector< uint8_t > &buffer, double hot_x, double hot_y, int width, int height)
int32_t height
int32_t width