19 #ifndef MIR_INPUT_ANDROID_POINTER_CONTROLLER_H__
20 #define MIR_INPUT_ANDROID_POINTER_CONTROLLER_H__
36 class PointerController :
public DummyPointerController
39 explicit PointerController(std::shared_ptr<InputRegion>
const& input_region);
40 explicit PointerController(std::shared_ptr<InputRegion>
const& input_region,
41 std::shared_ptr<CursorListener>
const& cursor_listener);
43 virtual bool getBounds(
float* out_min_x,
float* out_min_y,
float* out_max_x,
float* out_max_y)
const;
44 virtual void move(
float delta_x,
float delta_y);
45 virtual void setButtonState(int32_t button_state);
46 virtual int32_t getButtonState()
const;
47 virtual void setPosition(
float x,
float y);
48 virtual void getPosition(
float *out_x,
float *out_y)
const;
51 bool get_bounds_locked(
float *out_min_x,
float* out_min_y,
float* out_max_x,
float* out_max_y)
const;
52 void notify_listener();
54 mutable std::mutex guard;
58 std::shared_ptr<InputRegion>
const input_region;
59 std::shared_ptr<CursorListener> cursor_listener;
65 #endif // MIR_INPUT_ANDROID_POINTER_CONTROLLER_H__