~mir-team/mir/in-process-egl+input-conglomeration

« back to all changes in this revision

Viewing changes to include/server/mir/graphics/platform.h

Merged trunk and fixed issues

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#ifndef MIR_GRAPHICS_PLATFORM_H_
21
21
#define MIR_GRAPHICS_PLATFORM_H_
22
22
 
23
 
#include <EGL/egl.h>
24
 
 
25
23
#include <memory>
26
24
 
27
25
namespace mir
28
26
{
 
27
namespace frontend
 
28
{
 
29
class Surface;
 
30
}
29
31
namespace compositor
30
32
{
31
33
class GraphicBufferAllocator;
39
41
class Display;
40
42
struct PlatformIPCPackage;
41
43
class BufferInitializer;
42
 
 
 
44
class InternalClient;
43
45
class DisplayReport;
44
46
 
45
47
/// Interface to platform specific support for graphics operations.
54
56
        std::shared_ptr<BufferInitializer> const& buffer_initializer) = 0;
55
57
    virtual std::shared_ptr<Display> create_display() = 0;
56
58
    virtual std::shared_ptr<PlatformIPCPackage> get_ipc_package() = 0;
57
 
    
58
 
    virtual EGLNativeDisplayType shell_egl_display() = 0;
 
59
    virtual std::shared_ptr<InternalClient> create_internal_client(std::shared_ptr<frontend::Surface> const&) = 0;
59
60
};
60
61
 
61
62
// Create and return a new graphics platform.