Mir
surface_specification.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2015 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: Alan Griffiths <alan@octopull.co.uk>
17  */
18 
19 #ifndef MIR_SHELL_SURFACE_SPECIFICATION_H_
20 #define MIR_SHELL_SURFACE_SPECIFICATION_H_
21 
22 #include "mir/optional_value.h"
23 #include "mir_toolkit/common.h"
26 #include "mir/geometry/point.h"
30 #include "mir/scene/depth_id.h"
31 
32 #include <string>
33 #include <memory>
34 
35 namespace mir
36 {
37 namespace scene { class Surface; }
38 
39 namespace shell
40 {
41 struct SurfaceAspectRatio { unsigned width; unsigned height; };
42 
44 {
47 };
48 
51 {
74 
76 
77  // TODO scene::SurfaceCreationParameters overlaps this content but has additional fields:
78  // geometry::Point top_left;
79  // scene::DepthId depth;
80  // input::InputReceptionMode input_mode;
81  //
82  // it also has size instead of width + height
83  // Maybe SurfaceCreationParameters /HasA/ SurfaceSpecification?
84 };
85 }
86 }
87 
88 #endif /* MIR_SHELL_SURFACE_SPECIFICATION_H_ */
All things Mir.
Definition: atomic_callback.h:25
optional_value< geometry::Height > max_height
Definition: surface_specification.h:67
optional_value< MirPixelFormat > pixel_format
Definition: surface_specification.h:54
frontend::BufferStreamId stream_id
Definition: surface_specification.h:45
optional_value< geometry::Width > max_width
Definition: surface_specification.h:66
optional_value< std::vector< StreamSpecification > > streams
Definition: surface_specification.h:72
optional_value< geometry::Height > height
Definition: surface_specification.h:53
optional_value< std::vector< geometry::Rectangle > > input_shape
Definition: surface_specification.h:75
optional_value< SurfaceAspectRatio > min_aspect
Definition: surface_specification.h:70
optional_value< frontend::SurfaceId > parent_id
Definition: surface_specification.h:61
Definition: surface_specification.h:43
optional_value< MirEdgeAttachment > edge_attachment
Definition: surface_specification.h:63
unsigned height
Definition: surface_specification.h:41
optional_value< graphics::BufferUsage > buffer_usage
Definition: surface_specification.h:55
optional_value< geometry::Width > min_width
Definition: surface_specification.h:64
optional_value< std::weak_ptr< scene::Surface > > parent
Definition: surface_specification.h:73
optional_value< geometry::DeltaX > width_inc
Definition: surface_specification.h:68
optional_value< MirOrientationMode > preferred_orientation
Definition: surface_specification.h:60
Definition: displacement.h:32
optional_value< SurfaceAspectRatio > max_aspect
Definition: surface_specification.h:71
geometry::Displacement displacement
Definition: surface_specification.h:46
optional_value< geometry::DeltaY > height_inc
Definition: surface_specification.h:69
Specification of surface properties requested by client.
Definition: surface_specification.h:50
optional_value< std::string > name
Definition: surface_specification.h:56
unsigned width
Definition: surface_specification.h:41
Definition: surface_specification.h:41
optional_value< MirSurfaceState > state
Definition: surface_specification.h:59
optional_value< geometry::Height > min_height
Definition: surface_specification.h:65
optional_value< graphics::DisplayConfigurationOutputId > output_id
Definition: surface_specification.h:57
optional_value< MirSurfaceType > type
Definition: surface_specification.h:58
optional_value< geometry::Rectangle > aux_rect
Definition: surface_specification.h:62
optional_value< geometry::Width > width
Definition: surface_specification.h:52

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015