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 
31 #include <string>
32 #include <memory>
33 
34 namespace mir
35 {
36 namespace scene { class Surface; }
37 
38 namespace shell
39 {
40 struct SurfaceAspectRatio { unsigned width; unsigned height; };
41 
43 {
46 };
47 
50 {
51  bool is_empty() const;
52 
75 
77 
78  // TODO scene::SurfaceCreationParameters overlaps this content but has additional fields:
79  // geometry::Point top_left;
80  // input::InputReceptionMode input_mode;
81  //
82  // it also has size instead of width + height
83  // Maybe SurfaceCreationParameters /HasA/ SurfaceSpecification?
85 };
86 }
87 }
88 
89 #endif /* MIR_SHELL_SURFACE_SPECIFICATION_H_ */
All things Mir.
Definition: atomic_callback.h:25
optional_value< geometry::Height > max_height
Definition: surface_specification.h:68
optional_value< MirPixelFormat > pixel_format
Definition: surface_specification.h:55
frontend::BufferStreamId stream_id
Definition: surface_specification.h:44
optional_value< geometry::Width > max_width
Definition: surface_specification.h:67
optional_value< std::vector< StreamSpecification > > streams
Definition: surface_specification.h:73
optional_value< geometry::Height > height
Definition: surface_specification.h:54
optional_value< std::vector< geometry::Rectangle > > input_shape
Definition: surface_specification.h:76
optional_value< SurfaceAspectRatio > min_aspect
Definition: surface_specification.h:71
optional_value< frontend::SurfaceId > parent_id
Definition: surface_specification.h:62
Definition: surface_specification.h:42
optional_value< MirEdgeAttachment > edge_attachment
Definition: surface_specification.h:64
optional_value< graphics::BufferUsage > buffer_usage
Definition: surface_specification.h:56
optional_value< geometry::Width > min_width
Definition: surface_specification.h:65
optional_value< std::weak_ptr< scene::Surface > > parent
Definition: surface_specification.h:74
optional_value< geometry::DeltaX > width_inc
Definition: surface_specification.h:69
mir::optional_value< MirShellChrome > shell_chrome
Definition: surface_specification.h:84
optional_value< MirOrientationMode > preferred_orientation
Definition: surface_specification.h:61
Definition: displacement.h:32
optional_value< SurfaceAspectRatio > max_aspect
Definition: surface_specification.h:72
unsigned int height
Definition: touchspot_image.c:5
geometry::Displacement displacement
Definition: surface_specification.h:45
optional_value< geometry::DeltaY > height_inc
Definition: surface_specification.h:70
Specification of surface properties requested by client.
Definition: surface_specification.h:49
optional_value< std::string > name
Definition: surface_specification.h:57
unsigned width
Definition: surface_specification.h:40
Definition: surface_specification.h:40
optional_value< MirSurfaceState > state
Definition: surface_specification.h:60
optional_value< geometry::Height > min_height
Definition: surface_specification.h:66
optional_value< graphics::DisplayConfigurationOutputId > output_id
Definition: surface_specification.h:58
optional_value< MirSurfaceType > type
Definition: surface_specification.h:59
optional_value< geometry::Rectangle > aux_rect
Definition: surface_specification.h:63
optional_value< geometry::Width > width
Definition: surface_specification.h:53

Copyright © 2012-2015 Canonical Ltd.
Generated on Wed Mar 30 00:29:56 UTC 2016