Mir
surface_specification.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2015-2016 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 {
47 };
48 
51 {
52  bool is_empty() const;
53 
81 
83 
84  // TODO scene::SurfaceCreationParameters overlaps this content but has additional fields:
85  // geometry::Point top_left;
86  // input::InputReceptionMode input_mode;
87  //
88  // it also has size instead of width + height
89  // Maybe SurfaceCreationParameters /HasA/ SurfaceSpecification?
92 };
93 }
94 }
95 
96 #endif /* MIR_SHELL_SURFACE_SPECIFICATION_H_ */
Definition: as_render_target.h:27
optional_value< geometry::Height > max_height
Definition: surface_specification.h:74
optional_value< MirPixelFormat > pixel_format
Definition: surface_specification.h:56
frontend::BufferStreamId stream_id
Definition: surface_specification.h:44
optional_value< geometry::Width > max_width
Definition: surface_specification.h:73
optional_value< int > aux_rect_placement_offset_x
Definition: surface_specification.h:69
optional_value< std::vector< StreamSpecification > > streams
Definition: surface_specification.h:79
optional_value< geometry::Height > height
Definition: surface_specification.h:55
optional_value< std::vector< geometry::Rectangle > > input_shape
Definition: surface_specification.h:82
optional_value< SurfaceAspectRatio > min_aspect
Definition: surface_specification.h:77
optional_value< frontend::SurfaceId > parent_id
Definition: surface_specification.h:63
optional_value< MirPointerConfinementState > confine_pointer
Definition: surface_specification.h:91
unsigned int height
Definition: mir_image.h:27
optional_value< MirPlacementHints > placement_hints
Definition: surface_specification.h:66
Definition: surface_specification.h:42
optional_value< geometry::Size > size
Definition: surface_specification.h:46
optional_value< MirEdgeAttachment > edge_attachment
Definition: surface_specification.h:65
optional_value< graphics::BufferUsage > buffer_usage
Definition: surface_specification.h:57
optional_value< geometry::Width > min_width
Definition: surface_specification.h:71
optional_value< std::weak_ptr< scene::Surface > > parent
Definition: surface_specification.h:80
optional_value< geometry::DeltaX > width_inc
Definition: surface_specification.h:75
mir::optional_value< MirShellChrome > shell_chrome
Definition: surface_specification.h:90
optional_value< MirOrientationMode > preferred_orientation
Definition: surface_specification.h:62
optional_value< MirPlacementGravity > surface_placement_gravity
Definition: surface_specification.h:67
Definition: displacement.h:32
optional_value< SurfaceAspectRatio > max_aspect
Definition: surface_specification.h:78
geometry::Displacement displacement
Definition: surface_specification.h:45
optional_value< geometry::DeltaY > height_inc
Definition: surface_specification.h:76
Specification of surface properties requested by client.
Definition: surface_specification.h:50
optional_value< std::string > name
Definition: surface_specification.h:58
unsigned width
Definition: surface_specification.h:40
Definition: surface_specification.h:40
optional_value< MirSurfaceState > state
Definition: surface_specification.h:61
optional_value< geometry::Height > min_height
Definition: surface_specification.h:72
optional_value< int > aux_rect_placement_offset_y
Definition: surface_specification.h:70
optional_value< graphics::DisplayConfigurationOutputId > output_id
Definition: surface_specification.h:59
optional_value< MirSurfaceType > type
Definition: surface_specification.h:60
optional_value< MirPlacementGravity > aux_rect_placement_gravity
Definition: surface_specification.h:68
optional_value< geometry::Rectangle > aux_rect
Definition: surface_specification.h:64
optional_value< geometry::Width > width
Definition: surface_specification.h:54

Copyright © 2012-2016 Canonical Ltd.
Generated on Sat Dec 3 12:48:59 UTC 2016