xbmc
GameClientMouse.h
1 /*
2  * Copyright (C) 2015-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "input/mouse/interfaces/IMouseInputHandler.h"
12 
13 namespace KODI
14 {
15 namespace MOUSE
16 {
17 class IMouseInputProvider;
18 }
19 
20 namespace GAME
21 {
22 class CGameClient;
23 
31 {
32 public:
40  CGameClientMouse(CGameClient& gameClient,
41  std::string controllerId,
42  MOUSE::IMouseInputProvider* inputProvider);
43 
47  ~CGameClientMouse() override;
48 
49  // implementation of IMouseInputHandler
50  std::string ControllerID() const override;
51  bool OnMotion(const std::string& relpointer, int dx, int dy) override;
52  bool OnButtonPress(const std::string& button) override;
53  void OnButtonRelease(const std::string& button) override;
54 
55 private:
56  // Construction parameters
57  CGameClient& m_gameClient;
58  const std::string m_controllerId;
59  MOUSE::IMouseInputProvider* const m_inputProvider;
60 };
61 } // namespace GAME
62 } // namespace KODI
Interface for classes that can provide mouse input.
Definition: IMouseInputProvider.h:21
Interface between Kodi and Game add-ons.
Definition: GameClient.h:115
Controller configuration window.
Definition: AudioDecoder.h:18
Handles mouse events for games.
Definition: GameClientMouse.h:30
Interface for handling mouse events.
Definition: IMouseInputHandler.h:23