19 #ifndef MIR_SHELL_SINGLE_VISIBILITY_FOCUS_MECHANISM_H_
20 #define MIR_SHELL_SINGLE_VISIBILITY_FOCUS_MECHANISM_H_
34 class SurfaceController;
40 std::shared_ptr<SurfaceController>
const& surface_controller);
43 void set_focus_to(std::shared_ptr<shell::Session>
const& new_focus);
50 std::shared_ptr<InputTargeter>
const input_targeter;
51 std::shared_ptr<SurfaceController>
const surface_controller;
53 std::mutex surface_focus_lock;
54 std::weak_ptr<Surface> currently_focused_surface;
61 #endif // MIR_SHELL_SINGLE_VISIBILITY_FOCUS_MECHANISM_H_