~alan-griffiths/mir/fix-1654023

« back to all changes in this revision

Viewing changes to include/server/mir/shell/shell.h

  • Committer: Daniel van Vugt
  • Date: 2015-04-28 07:54:10 UTC
  • mfrom: (2517 development-branch)
  • mto: This revision was merged to the branch mainline in revision 2673.
  • Revision ID: daniel.van.vugt@canonical.com-20150428075410-rwskshfuar7voesp
Merge latest trunk and fix conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#define MIR_SHELL_SHELL_H_
21
21
 
22
22
#include "mir/shell/focus_controller.h"
 
23
#include "mir/input/event_filter.h"
23
24
#include "mir/frontend/surface_id.h"
 
25
#include "mir/compositor/display_listener.h"
24
26
 
25
27
#include "mir_toolkit/common.h"
26
28
 
29
31
namespace mir
30
32
{
31
33
namespace frontend { class EventSink; }
 
34
namespace geometry { class Rectangle; }
32
35
namespace scene
33
36
{
34
37
class PromptSession;
43
46
namespace shell
44
47
{
45
48
class InputTargeter;
 
49
class SurfaceSpecification;
46
50
 
47
51
class Shell :
48
 
// TODO public virtual graphics::DisplayConfigurationPolicy,
49
 
    public virtual FocusController
 
52
    public virtual FocusController,
 
53
    public virtual input::EventFilter,
 
54
    public virtual compositor::DisplayListener
50
55
{
51
56
public:
52
57
/** @name these functions support frontend requests
58
63
 
59
64
    virtual void close_session(std::shared_ptr<scene::Session> const& session) = 0;
60
65
 
61
 
    virtual void handle_surface_created(std::shared_ptr<scene::Session> const& session) = 0;
62
 
 
63
66
    virtual std::shared_ptr<scene::PromptSession> start_prompt_session_for(
64
67
        std::shared_ptr<scene::Session> const& session,
65
68
        scene::PromptSessionCreationParameters const& params) = 0;
72
75
 
73
76
    virtual frontend::SurfaceId create_surface(std::shared_ptr<scene::Session> const& session, scene::SurfaceCreationParameters const& params) = 0;
74
77
 
 
78
    virtual void modify_surface(
 
79
        std::shared_ptr<scene::Session> const& session,
 
80
        std::shared_ptr<scene::Surface> const& surface,
 
81
        shell::SurfaceSpecification  const& modifications) = 0;
 
82
 
75
83
    virtual void destroy_surface(std::shared_ptr<scene::Session> const& session, frontend::SurfaceId surface) = 0;
76
84
 
77
85
    virtual int set_surface_attribute(