.. _program_listing_file_include_miral_miral_window_specification.h: Program Listing for File window_specification.h =============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/miral/miral/window_specification.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * Copyright © Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 or 3 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef MIRAL_WINDOW_SPECIFICATION_H #define MIRAL_WINDOW_SPECIFICATION_H #include #include #include #include #include #include namespace mir { namespace scene { class Surface; } namespace shell { struct SurfaceSpecification; } } namespace miral { using namespace mir::geometry; namespace detail { struct SessionsBufferStreamIdTag; } typedef mir::IntWrapper BufferStreamId; class WindowSpecification { public: enum class InputReceptionMode { normal, receives_all_input }; struct AspectRatio { unsigned width; unsigned height; }; WindowSpecification(); WindowSpecification(WindowSpecification const& that); auto operator=(WindowSpecification const& that) -> WindowSpecification&; WindowSpecification(mir::shell::SurfaceSpecification const& spec); ~WindowSpecification(); auto top_left() const -> mir::optional_value const&; auto size() const -> mir::optional_value const&; auto name() const -> mir::optional_value const&; auto output_id() const -> mir::optional_value const&; auto type() const -> mir::optional_value const&; auto state() const -> mir::optional_value const&; auto preferred_orientation() const -> mir::optional_value const&; auto aux_rect() const -> mir::optional_value const&; auto placement_hints() const -> mir::optional_value const&; auto window_placement_gravity() const -> mir::optional_value const&; auto aux_rect_placement_gravity() const -> mir::optional_value const&; auto aux_rect_placement_offset() const -> mir::optional_value const&; auto min_width() const -> mir::optional_value const&; auto min_height() const -> mir::optional_value const&; auto max_width() const -> mir::optional_value const&; auto max_height() const -> mir::optional_value const&; auto width_inc() const -> mir::optional_value const&; auto height_inc() const -> mir::optional_value const&; auto min_aspect() const -> mir::optional_value const&; auto max_aspect() const -> mir::optional_value const&; auto parent() const -> mir::optional_value> const&; auto input_shape() const -> mir::optional_value> const&; auto input_mode() const -> mir::optional_value const&; auto shell_chrome() const -> mir::optional_value const&; auto confine_pointer() const -> mir::optional_value const&; auto userdata() const -> mir::optional_value> const&; auto top_left() -> mir::optional_value&; auto size() -> mir::optional_value&; auto name() -> mir::optional_value&; auto output_id() -> mir::optional_value&; auto type() -> mir::optional_value&; auto state() -> mir::optional_value&; auto preferred_orientation() -> mir::optional_value&; auto aux_rect() -> mir::optional_value&; auto placement_hints() -> mir::optional_value&; auto window_placement_gravity() -> mir::optional_value&; auto aux_rect_placement_gravity() -> mir::optional_value&; auto aux_rect_placement_offset() -> mir::optional_value&; auto min_width() -> mir::optional_value&; auto min_height() -> mir::optional_value&; auto max_width() -> mir::optional_value&; auto max_height() -> mir::optional_value&; auto width_inc() -> mir::optional_value&; auto height_inc() -> mir::optional_value&; auto min_aspect() -> mir::optional_value&; auto max_aspect() -> mir::optional_value&; auto parent() -> mir::optional_value>&; auto input_shape() -> mir::optional_value>&; auto input_mode() -> mir::optional_value&; auto shell_chrome() -> mir::optional_value&; auto confine_pointer() -> mir::optional_value&; auto userdata() -> mir::optional_value>&; auto depth_layer() const -> mir::optional_value const&; auto depth_layer() -> mir::optional_value&; auto attached_edges() const -> mir::optional_value const&; auto attached_edges() -> mir::optional_value&; auto exclusive_rect() const -> mir::optional_value> const&; auto exclusive_rect() -> mir::optional_value>&; auto ignore_exclusion_zones() const -> mir::optional_value const&; auto ignore_exclusion_zones() -> mir::optional_value&; auto application_id() const -> mir::optional_value const&; auto application_id() -> mir::optional_value&; auto server_side_decorated() const -> mir::optional_value const&; auto server_side_decorated() -> mir::optional_value&; auto focus_mode() const -> mir::optional_value const&; auto focus_mode() -> mir::optional_value&; auto visible_on_lock_screen() const -> mir::optional_value const&; auto visible_on_lock_screen() -> mir::optional_value&; private: friend auto make_surface_spec(WindowSpecification const& miral_spec) -> mir::shell::SurfaceSpecification; struct Self; std::unique_ptr self; }; } #endif //MIRAL_WINDOW_SPECIFICATION_H