Mir
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
src
client
client_buffer_factory.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2013 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License version 3 as
6
* published by the Free Software Foundation.
7
*
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 Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by:
17
* Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
18
*/
19
20
#ifndef MIR_CLIENT_CLIENT_BUFFER_FACTORY_H_
21
#define MIR_CLIENT_CLIENT_BUFFER_FACTORY_H_
22
23
#include <memory>
24
25
#include "
mir_toolkit/mir_client_library.h
"
26
#include "
mir/geometry/pixel_format.h
"
27
#include "
mir/geometry/size.h
"
28
29
namespace
mir
30
{
31
namespace
client
32
{
33
class
ClientBuffer;
34
38
class
ClientBufferFactory
39
{
40
public
:
48
virtual
std::shared_ptr<ClientBuffer>
create_buffer
(std::shared_ptr<MirBufferPackage>
const
& package,
49
geometry::Size
size
,
geometry::PixelFormat
pf) = 0;
50
51
protected
:
52
ClientBufferFactory
() =
default
;
53
ClientBufferFactory
(
ClientBufferFactory
const
&) =
delete
;
54
ClientBufferFactory
&
operator=
(
ClientBufferFactory
const
&) =
delete
;
55
virtual
~ClientBufferFactory
() {}
56
};
57
58
}
59
}
60
#endif
/* MIR_CLIENT_CLIENT_BUFFER_FACTORY_H_ */
Copyright © 2012,2013 Canonical Ltd.
Generated on Wed Oct 30 18:52:19 UTC 2013