19 #ifndef MIR_COMPOSITOR_COMPOSITING_SCREENCAST_H_
20 #define MIR_COMPOSITOR_COMPOSITING_SCREENCAST_H_
24 #include <unordered_map>
29 namespace geometry {
struct Rectangle; }
34 class GraphicBufferAllocator;
38 namespace detail {
struct ScreencastSessionContext; }
46 std::shared_ptr<graphics::Display>
const& display,
47 std::shared_ptr<graphics::GraphicBufferAllocator>
const& buffer_allocator,
48 std::shared_ptr<DisplayBufferCompositorFactory>
const& db_compositor_factory);
59 std::shared_ptr<detail::ScreencastSessionContext>
64 std::mutex session_mutex;
65 std::shared_ptr<graphics::Display>
const display;
66 std::shared_ptr<graphics::GraphicBufferAllocator>
const buffer_allocator;
67 std::shared_ptr<DisplayBufferCompositorFactory>
const db_compositor_factory;
70 std::shared_ptr<detail::ScreencastSessionContext>> session_contexts;
All things Mir.
Definition: aging_buffer.h:24
IntWrapper< detail::ScreencastSessionIdTag, uint32_t > ScreencastSessionId
Definition: screencast.h:34
CompositingScreencast(std::shared_ptr< graphics::Display > const &display, std::shared_ptr< graphics::GraphicBufferAllocator > const &buffer_allocator, std::shared_ptr< DisplayBufferCompositorFactory > const &db_compositor_factory)
Definition: compositing_screencast.cpp:52
std::shared_ptr< graphics::Buffer > capture(frontend::ScreencastSessionId id)
Definition: compositing_screencast.cpp:94
void destroy_session(frontend::ScreencastSessionId id)
Definition: compositing_screencast.cpp:82
Definition: compositing_screencast.h:42
Definition: screencast.h:36
Definition: int_wrapper.h:27
frontend::ScreencastSessionId create_session(geometry::Rectangle const ®ion, geometry::Size const &size, MirPixelFormat pixel_format)
Definition: compositing_screencast.cpp:62
Definition: rectangle.h:33
Definition: display_buffer_compositor_factory.h:36
int const size
Definition: make_socket_rpc_channel.cpp:51