~ubuntu-branches/ubuntu/wily/mir/wily-proposed

« back to all changes in this revision

Viewing changes to src/server/scene/surface_impl.cpp

  • Committer: Package Import Robot
  • Author(s): Ubuntu daily release
  • Date: 2014-01-08 02:04:38 UTC
  • mto: This revision was merged to the branch mainline in revision 58.
  • Revision ID: package-import@ubuntu.com-20140108020438-e1npu0pm7qdv5wc4
Tags: upstream-0.1.3+14.04.20140108
ImportĀ upstreamĀ versionĀ 0.1.3+14.04.20140108

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#include "basic_surface.h"
21
21
#include "surface_builder.h"
22
22
#include "mir/shell/surface_configurator.h"
23
 
#include "mir/shell/surface_controller.h"
 
23
#include "surface_ranker.h"
24
24
#include "mir/shell/input_targeter.h"
25
25
#include "mir/input/input_channel.h"
26
26
#include "mir/frontend/event_sink.h"
43
43
namespace mf = mir::frontend;
44
44
 
45
45
ms::SurfaceImpl::SurfaceImpl(
46
 
    msh::Session* session,
47
46
    std::shared_ptr<SurfaceBuilder> const& builder,
48
47
    std::shared_ptr<msh::SurfaceConfigurator> const& configurator,
49
48
    msh::SurfaceCreationParameters const& params,
51
50
    std::shared_ptr<mf::EventSink> const& event_sink)
52
51
  : builder(builder),
53
52
    configurator(configurator),
54
 
    surface(builder->create_surface(session, params)),
 
53
    surface(builder->create_surface(params)),
55
54
    id(id),
56
55
    event_sink(event_sink),
57
56
    type_value(mir_surface_type_normal),
99
98
    return surface->name();
100
99
}
101
100
 
102
 
mir::geometry::PixelFormat ms::SurfaceImpl::pixel_format() const
 
101
MirPixelFormat ms::SurfaceImpl::pixel_format() const
103
102
{
104
103
    return surface->pixel_format();
105
104
}
106
105
 
107
 
std::shared_ptr<mg::Buffer> ms::SurfaceImpl::advance_client_buffer()
 
106
void ms::SurfaceImpl::swap_buffers(graphics::Buffer*& buffer)
108
107
{
109
 
    return surface->advance_client_buffer();
 
108
    surface->swap_buffers(buffer);
110
109
}
111
110
 
112
111
void ms::SurfaceImpl::allow_framedropping(bool allow)
113
112
{
114
113
    surface->allow_framedropping(allow);
115
114
}
116
 
 
 
115
 
117
116
void ms::SurfaceImpl::with_most_recent_buffer_do(
118
117
    std::function<void(mg::Buffer&)> const& exec)
119
118
{
239
238
    surface->set_input_region(region);
240
239
}
241
240
 
242
 
void ms::SurfaceImpl::raise(std::shared_ptr<msh::SurfaceController> const& controller)
 
241
void ms::SurfaceImpl::raise(std::shared_ptr<ms::SurfaceRanker> const& controller)
243
242
{
244
243
    controller->raise(surface);
245
244
}
247
246
void ms::SurfaceImpl::resize(geom::Size const& size)
248
247
{
249
248
    surface->resize(size);
 
249
 
 
250
    MirEvent e;
 
251
    memset(&e, 0, sizeof e);
 
252
    e.type = mir_event_type_resize;
 
253
    e.resize.surface_id = id.as_value();
 
254
    e.resize.width = size.width.as_int();
 
255
    e.resize.height = size.height.as_int();
 
256
 
 
257
    event_sink->handle_event(e);
250
258
}
251
259
 
252
260
void ms::SurfaceImpl::set_rotation(float degrees, glm::vec3 const& axis)