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
server
surfaces
mutable_surface_state.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 it
5
* under the terms of the GNU General Public License version 3,
6
* as 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 General Public License for more details.
12
*
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/>.
15
*
16
* Authored by: Kevin DuBois <kevin.dubois@canonical.com>
17
*/
18
19
#ifndef MIR_SURFACES_SURFACE_INFO_H_
20
#define MIR_SURFACES_SURFACE_INFO_H_
21
22
#include "
mir/geometry/rectangle.h
"
23
24
#include <vector>
25
26
namespace
mir
27
{
28
namespace
surfaces
29
{
30
31
class
MutableSurfaceState
32
{
33
public
:
34
virtual
void
move_to
(
geometry::Point
) = 0;
35
virtual
void
frame_posted
() = 0;
36
virtual
void
set_hidden
(
bool
hidden) = 0;
37
virtual
void
apply_alpha
(
float
alpha) = 0;
38
virtual
void
apply_rotation
(
float
degrees, glm::vec3
const
&) = 0;
39
virtual
void
set_input_region
(
40
std::vector<geometry::Rectangle>
const
& input_rectangles) = 0;
41
42
protected
:
43
MutableSurfaceState
() =
default
;
44
virtual
~MutableSurfaceState
() noexcept =
default
;
45
MutableSurfaceState
(
const
MutableSurfaceState
&) =
delete
;
46
MutableSurfaceState
&
operator=
(
const
MutableSurfaceState
& ) =
delete
;
47
};
48
49
}
50
}
51
#endif
/* MIR_SURFACES_SURFACE_INFO_H_ */
Copyright © 2012,2013 Canonical Ltd.
Generated on Wed Oct 30 18:52:19 UTC 2013