summaryrefslogtreecommitdiffstats
path: root/src/platforms/mirserver/mirshell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/platforms/mirserver/mirshell.cpp')
-rw-r--r--src/platforms/mirserver/mirshell.cpp164
1 files changed, 0 insertions, 164 deletions
diff --git a/src/platforms/mirserver/mirshell.cpp b/src/platforms/mirserver/mirshell.cpp
deleted file mode 100644
index 3b1e9c4..0000000
--- a/src/platforms/mirserver/mirshell.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright © 2015 Canonical Ltd.
- *
- * This program is free software: you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License version 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 warranties of MERCHANTABILITY,
- * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "mirshell.h"
-#include "logging.h"
-#include "tracepoints.h" // generated from tracepoints.tp
-
-#include <mir/geometry/rectangle.h>
-#include <mir/scene/session.h>
-#include <mir/scene/surface_creation_parameters.h>
-#include <mir/scene/surface.h>
-#include <mir/shell/display_layout.h>
-#include <mir/shell/window_manager.h>
-
-namespace ms = mir::scene;
-using mir::shell::AbstractShell;
-
-namespace
-{
-class NullWindowManager : public mir::shell::WindowManager
-{
-public:
- void add_session(std::shared_ptr<ms::Session> const& session) override;
-
- void remove_session(std::shared_ptr<ms::Session> const& session) override;
-
- mir::frontend::SurfaceId add_surface(
- std::shared_ptr<ms::Session> const& session,
- ms::SurfaceCreationParameters const& params,
- std::function<mir::frontend::SurfaceId(std::shared_ptr<ms::Session> const& session, ms::SurfaceCreationParameters const& params)> const& build) override;
-
- void remove_surface(
- std::shared_ptr<ms::Session> const& session,
- std::weak_ptr<ms::Surface> const& surface) override;
-
- void add_display(mir::geometry::Rectangle const& area) override;
-
- void remove_display(mir::geometry::Rectangle const& area) override;
-
- bool handle_keyboard_event(MirKeyboardEvent const* event) override;
-
- bool handle_touch_event(MirTouchEvent const* event) override;
-
- bool handle_pointer_event(MirPointerEvent const* event) override;
-
- int set_surface_attribute(
- std::shared_ptr<ms::Session> const& session,
- std::shared_ptr<ms::Surface> const& surface,
- MirSurfaceAttrib attrib,
- int value) override;
-
- void modify_surface(const std::shared_ptr<mir::scene::Session>&, const std::shared_ptr<mir::scene::Surface>&, const mir::shell::SurfaceSpecification&);
-};
-}
-
-
-MirShell::MirShell(
- const std::shared_ptr<mir::shell::InputTargeter> &inputTargeter,
- const std::shared_ptr<mir::scene::SurfaceCoordinator> &surfaceCoordinator,
- const std::shared_ptr<mir::scene::SessionCoordinator> &sessionCoordinator,
- const std::shared_ptr<mir::scene::PromptSessionManager> &promptSessionManager,
- const std::shared_ptr<mir::shell::DisplayLayout> &displayLayout) :
- AbstractShell(inputTargeter, surfaceCoordinator, sessionCoordinator, promptSessionManager,
- [](mir::shell::FocusController*) { return std::make_shared<NullWindowManager>(); }),
- m_displayLayout{displayLayout}
-{
- qCDebug(QTMIR_MIR_MESSAGES) << "MirShell::MirShell";
-}
-
-mir::frontend::SurfaceId MirShell::create_surface(const std::shared_ptr<ms::Session> &session, const ms::SurfaceCreationParameters &requestParameters)
-{
- tracepoint(qtmirserver, surfacePlacementStart);
-
- // TODO: Callback unity8 so that it can make a decision on that.
- // unity8 must bear in mind that the called function will be on a Mir thread though.
- // The QPA shouldn't be deciding for itself on such things.
-
- ms::SurfaceCreationParameters placedParameters = requestParameters;
-
- // Just make it fullscreen for now
- mir::geometry::Rectangle rect{requestParameters.top_left, requestParameters.size};
- m_displayLayout->size_to_output(rect);
- placedParameters.size = rect.size;
-
- qCDebug(QTMIR_MIR_MESSAGES) << "MirShell::create_surface(): size requested ("
- << requestParameters.size.width.as_int() << "," << requestParameters.size.height.as_int() << ") and placed ("
- << placedParameters.size.width.as_int() << "," << placedParameters.size.height.as_int() << ")";
-
- tracepoint(qtmirserver, surfacePlacementEnd);
-
- return AbstractShell::create_surface(session, placedParameters);
-}
-
-void NullWindowManager::add_session(std::shared_ptr<ms::Session> const& /*session*/)
-{
-}
-
-void NullWindowManager::remove_session(std::shared_ptr<ms::Session> const& /*session*/)
-{
-}
-
-auto NullWindowManager::add_surface(
- std::shared_ptr<ms::Session> const& session,
- ms::SurfaceCreationParameters const& params,
- std::function<mir::frontend::SurfaceId(std::shared_ptr<ms::Session> const& session, ms::SurfaceCreationParameters const& params)> const& build)
--> mir::frontend::SurfaceId
-{
- return build(session, params);
-}
-
-void NullWindowManager::remove_surface(
- std::shared_ptr<ms::Session> const& /*session*/,
- std::weak_ptr<ms::Surface> const& /*surface*/)
-{
-}
-
-void NullWindowManager::add_display(mir::geometry::Rectangle const& /*area*/)
-{
-}
-
-void NullWindowManager::remove_display(mir::geometry::Rectangle const& /*area*/)
-{
-}
-
-bool NullWindowManager::handle_keyboard_event(MirKeyboardEvent const* /*event*/)
-{
- return false;
-}
-
-bool NullWindowManager::handle_touch_event(MirTouchEvent const* /*event*/)
-{
- return false;
-}
-
-bool NullWindowManager::handle_pointer_event(MirPointerEvent const* /*event*/)
-{
- return false;
-}
-
-int NullWindowManager::set_surface_attribute(
- std::shared_ptr<ms::Session> const& /*session*/,
- std::shared_ptr<ms::Surface> const& surface,
- MirSurfaceAttrib attrib,
- int value)
-{
- return surface->configure(attrib, value);
-}
-
-void NullWindowManager::modify_surface(const std::shared_ptr<mir::scene::Session>&, const std::shared_ptr<mir::scene::Surface>&, const mir::shell::SurfaceSpecification&)
-{
-}