Demonstrate simple window management strategies
#ifndef MIR_EXAMPLES_WINDOW_MANAGEMENT_H_
#define MIR_EXAMPLES_WINDOW_MANAGEMENT_H_
#include <memory>
{
class Server;
namespace examples
{
class WindowManager :
public virtual scene::PlacementStrategy,
public virtual scene::SurfaceConfigurator
{
public:
std::shared_ptr<scene::Surface> const& surface,
scene::Session* session) = 0;
std::weak_ptr<scene::Surface> const& surface,
scene::Session* session) = 0;
virtual void add_session(std::shared_ptr<scene::Session>
const& session) = 0;
virtual void remove_session(std::shared_ptr<scene::Session>
const& session) = 0;
virtual void add_display(geometry::Rectangle
const& area) = 0;
virtual void click(geometry::Point cursor) = 0;
virtual void drag(geometry::Point cursor) = 0;
virtual void resize(geometry::Point cursor) = 0;
};
class EventTracker;
class WindowManagmentFactory
{
public:
private:
Server& server;
std::weak_ptr<WindowManager> wm;
std::shared_ptr<EventTracker> et;
};
}
}
#endif
Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Mar 24 16:15:19 UTC 2015