2
* Copyright © 2013 Canonical Ltd.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License version 3,
6
* as published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
* Eleni Maria Stea <elenimaria.stea@canonical.com>
18
* Alan Griffiths <alan@octopull.co.uk>
21
#ifndef MIR_GRAPHICS_NATIVE_GBM_PLATFORM_H_
22
#define MIR_GRAPHICS_NATIVE_GBM_PLATFORM_H_
24
#include "mir/graphics/native_platform.h"
25
#include "gbm_display_helpers.h"
27
namespace mg = mir::graphics;
35
class NativeGBMPlatform : public mg::NativePlatform
38
void initialize(std::shared_ptr<NestedContext> const& nested_context);
39
std::shared_ptr<GraphicBufferAllocator> create_buffer_allocator(
40
std::shared_ptr<BufferInitializer> const& buffer_initializer) override;
41
std::shared_ptr<PlatformIPCPackage> get_ipc_package() override;
42
std::shared_ptr<InternalClient> create_internal_client() override;
43
void fill_ipc_package(BufferIPCPacker* packer, Buffer const* buffer) const override;
47
std::shared_ptr<NestedContext> nested_context;
48
helpers::GBMHelper gbm;
54
#endif // MIR_GRAPHICS_NATIVE_GBM_PLATFORM_H_