Merge pull request #4288 from MaxWhere/master
Adding cursor-changed event to webContents
This commit is contained in:
commit
e450d1586e
10 changed files with 150 additions and 8 deletions
|
@ -3,7 +3,7 @@
|
|||
// found in the LICENSE file.
|
||||
|
||||
#include <string>
|
||||
#include "atom/common/keyboad_util.h"
|
||||
#include "atom/common/keyboard_util.h"
|
||||
|
||||
namespace atom {
|
||||
|
|
@ -2,8 +2,8 @@
|
|||
// Use of this source code is governed by the MIT license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef ATOM_COMMON_KEYBOAD_UTIL_H_
|
||||
#define ATOM_COMMON_KEYBOAD_UTIL_H_
|
||||
#ifndef ATOM_COMMON_KEYBOARD_UTIL_H_
|
||||
#define ATOM_COMMON_KEYBOARD_UTIL_H_
|
||||
|
||||
#include <string>
|
||||
#include "ui/events/keycodes/keyboard_codes.h"
|
||||
|
@ -20,4 +20,4 @@ ui::KeyboardCode KeyboardCodeFromKeyIdentifier(const std::string& chr);
|
|||
|
||||
} // namespace atom
|
||||
|
||||
#endif // ATOM_COMMON_KEYBOAD_UTIL_H_
|
||||
#endif // ATOM_COMMON_KEYBOARD_UTIL_H_
|
62
atom/common/mouse_util.cc
Normal file
62
atom/common/mouse_util.cc
Normal file
|
@ -0,0 +1,62 @@
|
|||
// Copyright (c) 2015 GitHub, Inc.
|
||||
// Use of this source code is governed by the MIT license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include <string>
|
||||
#include "atom/common/mouse_util.h"
|
||||
|
||||
using Cursor = blink::WebCursorInfo::Type;
|
||||
|
||||
namespace atom {
|
||||
|
||||
std::string CursorTypeToString(const content::WebCursor::CursorInfo& info) {
|
||||
switch (info.type) {
|
||||
case Cursor::TypePointer: return "default";
|
||||
case Cursor::TypeCross: return "crosshair";
|
||||
case Cursor::TypeHand: return "pointer";
|
||||
case Cursor::TypeIBeam: return "text";
|
||||
case Cursor::TypeWait: return "wait";
|
||||
case Cursor::TypeHelp: return "help";
|
||||
case Cursor::TypeEastResize: return "e-resize";
|
||||
case Cursor::TypeNorthResize: return "n-resize";
|
||||
case Cursor::TypeNorthEastResize: return "ne-resize";
|
||||
case Cursor::TypeNorthWestResize: return "nw-resize";
|
||||
case Cursor::TypeSouthResize: return "s-resize";
|
||||
case Cursor::TypeSouthEastResize: return "se-resize";
|
||||
case Cursor::TypeSouthWestResize: return "sw-resize";
|
||||
case Cursor::TypeWestResize: return "w-resize";
|
||||
case Cursor::TypeNorthSouthResize: return "ns-resize";
|
||||
case Cursor::TypeEastWestResize: return "ew-resize";
|
||||
case Cursor::TypeNorthEastSouthWestResize: return "nesw-resize";
|
||||
case Cursor::TypeNorthWestSouthEastResize: return "nwse-resize";
|
||||
case Cursor::TypeColumnResize: return "col-resize";
|
||||
case Cursor::TypeRowResize: return "row-resize";
|
||||
case Cursor::TypeMiddlePanning: return "m-panning";
|
||||
case Cursor::TypeEastPanning: return "e-panning";
|
||||
case Cursor::TypeNorthPanning: return "n-panning";
|
||||
case Cursor::TypeNorthEastPanning: return "ne-panning";
|
||||
case Cursor::TypeNorthWestPanning: return "nw-panning";
|
||||
case Cursor::TypeSouthPanning: return "s-panning";
|
||||
case Cursor::TypeSouthEastPanning: return "se-panning";
|
||||
case Cursor::TypeSouthWestPanning: return "sw-panning";
|
||||
case Cursor::TypeWestPanning: return "w-panning";
|
||||
case Cursor::TypeMove: return "move";
|
||||
case Cursor::TypeVerticalText: return "vertical-text";
|
||||
case Cursor::TypeCell: return "cell";
|
||||
case Cursor::TypeContextMenu: return "context-menu";
|
||||
case Cursor::TypeAlias: return "alias";
|
||||
case Cursor::TypeProgress: return "progress";
|
||||
case Cursor::TypeNoDrop: return "nodrop";
|
||||
case Cursor::TypeCopy: return "copy";
|
||||
case Cursor::TypeNone: return "none";
|
||||
case Cursor::TypeNotAllowed: return "not-allowed";
|
||||
case Cursor::TypeZoomIn: return "zoom-in";
|
||||
case Cursor::TypeZoomOut: return "zoom-out";
|
||||
case Cursor::TypeGrab: return "grab";
|
||||
case Cursor::TypeGrabbing: return "grabbing";
|
||||
case Cursor::TypeCustom: return "custom";
|
||||
default: return "default";
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace atom
|
36
atom/common/mouse_util.h
Normal file
36
atom/common/mouse_util.h
Normal file
|
@ -0,0 +1,36 @@
|
|||
// Copyright (c) 2015 GitHub, Inc.
|
||||
// Use of this source code is governed by the MIT license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef ATOM_COMMON_MOUSE_UTIL_H_
|
||||
#define ATOM_COMMON_MOUSE_UTIL_H_
|
||||
|
||||
#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.
|
||||
#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: { \
|
||||
TRACK_RUN_IN_THIS_SCOPED_REGION(member_func); \
|
||||
if (!msg_class::Dispatch(&ipc_message__, obj, this, param__, \
|
||||
&member_func)) \
|
||||
ipc_message__.set_dispatch_error(); \
|
||||
code; \
|
||||
} \
|
||||
break;
|
||||
|
||||
namespace atom {
|
||||
|
||||
// Returns the cursor's type as a string.
|
||||
std::string CursorTypeToString(const content::WebCursor::CursorInfo& info);
|
||||
|
||||
} // namespace atom
|
||||
|
||||
#endif // ATOM_COMMON_MOUSE_UTIL_H_
|
|
@ -7,7 +7,7 @@
|
|||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "atom/common/keyboad_util.h"
|
||||
#include "atom/common/keyboard_util.h"
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "content/public/browser/native_web_keyboard_event.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue