~vanvugt/mir/frontend-server

« back to all changes in this revision

Viewing changes to src/server/shell/default_focus_mechanism.cpp

  • Committer: Daniel van Vugt
  • Date: 2014-04-15 03:51:25 UTC
  • mfrom: (1416.1.134 development-branch)
  • Revision ID: daniel.van.vugt@canonical.com-20140415035125-qvrycnzs1b86qgc7
Merge latest development-branch and fix conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
#include "default_focus_mechanism.h"
20
20
#include "mir/frontend/session.h"
21
 
#include "mir/scene/surface_ranker.h"
 
21
#include "mir/scene/surface_coordinator.h"
22
22
#include "mir/scene/surface.h"
23
23
#include "mir/shell/input_targeter.h"
24
 
#include "mir/shell/session.h"
25
 
#include "mir/shell/surface.h"
 
24
#include "mir/scene/session.h"
 
25
#include "mir/scene/surface.h"
26
26
 
27
27
namespace mf = mir::frontend;
28
28
namespace ms = mir::scene;
29
29
namespace msh = mir::shell;
30
30
 
31
31
msh::DefaultFocusMechanism::DefaultFocusMechanism(std::shared_ptr<msh::InputTargeter> const& input_targeter,
32
 
                                                  std::shared_ptr<ms::SurfaceRanker> const& surface_controller)
 
32
                                                  std::shared_ptr<ms::SurfaceCoordinator> const& surface_coordinator)
33
33
  : input_targeter(input_targeter),
34
 
    surface_controller(surface_controller)
 
34
    surface_coordinator(surface_coordinator)
35
35
{
36
36
}
37
37
 
38
 
void msh::DefaultFocusMechanism::set_focus_to(std::shared_ptr<Session> const& focus_session)
 
38
void msh::DefaultFocusMechanism::set_focus_to(std::shared_ptr<ms::Session> const& focus_session)
39
39
{
40
40
    // TODO: This path should be encapsulated in a seperate clear_focus message
41
41
    if (!focus_session)
54
54
        surface->configure(mir_surface_attrib_focus, mir_surface_focused);
55
55
        currently_focused_surface = surface;
56
56
 
57
 
        surface_controller->raise(std::static_pointer_cast<ms::Surface>(surface)); // TODO deal with cast
 
57
        surface_coordinator->raise(surface);
58
58
        surface->take_input_focus(input_targeter);
59
59
    }
60
60
    else