Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: remoting/client/ui/direct_input_strategy.h

Issue 2903623002: Moving input related classes to the input folder. (Closed)
Patch Set: Hide gesture code from nacl. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium 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 REMOTING_CLIENT_UI_DIRECT_INPUT_STRATEGY_H_
6 #define REMOTING_CLIENT_UI_DIRECT_INPUT_STRATEGY_H_
7
8 #include "remoting/client/ui/input_strategy.h"
9
10 namespace remoting {
11
12 // This strategy directly translates all operations on the OpenGL view into
13 // corresponding operations on the desktop. It doesn't maintain the cursor
14 // positions separately -- the positions come from the location of the touch.
15 class DirectInputStrategy : public InputStrategy {
16 public:
17 DirectInputStrategy();
18 ~DirectInputStrategy() override;
19
20 // InputStrategy overrides.
21
22 void HandleZoom(const ViewMatrix::Point& pivot,
23 float scale,
24 DesktopViewport* viewport) override;
25
26 bool HandlePan(const ViewMatrix::Vector2D& translation,
27 Gesture simultaneous_gesture,
28 DesktopViewport* viewport) override;
29
30 bool TrackTouchInput(const ViewMatrix::Point& touch_point,
31 const DesktopViewport& viewport) override;
32
33 ViewMatrix::Point GetCursorPosition() const override;
34
35 ViewMatrix::Vector2D MapScreenVectorToDesktop(
36 const ViewMatrix::Vector2D& delta,
37 const DesktopViewport& viewport) const override;
38
39 float GetFeedbackRadius(InputFeedbackType type) const override;
40
41 bool IsCursorVisible() const override;
42
43 private:
44 ViewMatrix::Point cursor_position_{0.f, 0.f};
45
46 // TouchInputStrategy is neither copyable nor movable.
47 DirectInputStrategy(const DirectInputStrategy&) = delete;
48 DirectInputStrategy& operator=(const DirectInputStrategy&) = delete;
49 };
50
51 } // namespace remoting
52 #endif // REMOTING_CLIENT_UI_DIRECT_INPUT_STRATEGY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698