2016-01-31 01:27:14 +00:00
|
|
|
// Copyright (c) 2015 GitHub, Inc.
|
|
|
|
// Use of this source code is governed by the MIT license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2021-11-22 07:34:31 +00:00
|
|
|
#ifndef ELECTRON_SHELL_COMMON_MOUSE_UTIL_H_
|
|
|
|
#define ELECTRON_SHELL_COMMON_MOUSE_UTIL_H_
|
2016-01-31 01:27:14 +00:00
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include "content/common/cursors/webcursor.h"
|
|
|
|
#include "ipc/ipc_message_macros.h"
|
|
|
|
|
|
|
|
// IPC macros similar to the already existing ones in the chromium source.
|
|
|
|
// We need these to listen to the cursor change IPC message while still
|
|
|
|
// letting chromium handle the actual cursor change by setting handled = false.
|
2018-04-18 01:44:10 +00:00
|
|
|
#define IPC_MESSAGE_HANDLER_CODE(msg_class, member_func, code) \
|
|
|
|
IPC_MESSAGE_FORWARD_CODE(msg_class, this, \
|
|
|
|
_IpcMessageHandlerClass::member_func, code)
|
|
|
|
|
|
|
|
#define IPC_MESSAGE_FORWARD_CODE(msg_class, obj, member_func, code) \
|
|
|
|
case msg_class::ID: { \
|
|
|
|
if (!msg_class::Dispatch(&ipc_message__, obj, this, param__, \
|
|
|
|
&member_func)) \
|
|
|
|
ipc_message__.set_dispatch_error(); \
|
|
|
|
code; \
|
|
|
|
} break;
|
2016-01-31 01:27:14 +00:00
|
|
|
|
|
|
|
namespace electron {
|
|
|
|
|
|
|
|
// Returns the cursor's type as a string.
|
2020-03-14 20:54:14 +00:00
|
|
|
std::string CursorTypeToString(const ui::Cursor& cursor);
|
2016-01-31 01:27:14 +00:00
|
|
|
|
|
|
|
} // namespace electron
|
|
|
|
|
2021-11-22 07:34:31 +00:00
|
|
|
#endif // ELECTRON_SHELL_COMMON_MOUSE_UTIL_H_
|