19 #ifndef MIR_SCENE_SURFACE_H_
20 #define MIR_SCENE_SURFACE_H_
31 namespace input {
class InputChannel; }
32 namespace shell {
class InputTargeter; }
33 namespace geometry {
class Rectangle; }
34 namespace graphics {
class CursorImage; }
38 class SurfaceObserver;
48 std::string
name()
const override = 0;
59 virtual std::unique_ptr<graphics::Renderable>
compositor_snapshot(
void const* compositor_id)
const = 0;
61 virtual float alpha()
const = 0;
64 virtual void hide() = 0;
65 virtual void show() = 0;
67 virtual void take_input_focus(std::shared_ptr<shell::InputTargeter>
const& targeter) = 0;
80 virtual void set_input_region(std::vector<geometry::Rectangle>
const& region) = 0;
88 virtual void set_cursor_image(std::shared_ptr<graphics::CursorImage>
const& image) = 0;
89 virtual std::shared_ptr<graphics::CursorImage>
cursor_image()
const = 0;
91 virtual void add_observer(std::shared_ptr<SurfaceObserver>
const& observer) = 0;
92 virtual void remove_observer(std::weak_ptr<SurfaceObserver>
const& observer) = 0;
96 virtual std::shared_ptr<input::InputChannel>
input_channel()
const = 0;
102 #endif // MIR_SCENE_SURFACE_H_
virtual MirSurfaceType type() const =0
All things Mir.
Definition: aging_buffer.h:24
virtual void set_cursor_image(std::shared_ptr< graphics::CursorImage > const &image)=0
virtual void set_transformation(glm::mat4 const &t)=0
virtual void resize(geometry::Size const &size)=0
virtual std::shared_ptr< input::InputChannel > input_channel() const =0
geometry::Size client_size() const override=0
Size of the client area of the surface (excluding any decorations)
virtual void add_observer(std::shared_ptr< SurfaceObserver > const &observer)=0
geometry::Rectangle input_bounds() const override=0
virtual void allow_framedropping(bool)=0
virtual void set_reception_mode(input::InputReceptionMode mode)=0
virtual void set_orientation(MirOrientation orientation)=0
Definition: surface_buffer_access.h:33
virtual float alpha() const =0
virtual void force_requests_to_complete()=0
virtual std::shared_ptr< graphics::CursorImage > cursor_image() const =0
virtual void set_alpha(float alpha)=0
std::string name() const override=0
virtual void remove_observer(std::weak_ptr< SurfaceObserver > const &observer)=0
virtual void set_input_region(std::vector< geometry::Rectangle > const ®ion)=0
Sets the input region for this surface.
virtual std::unique_ptr< graphics::Renderable > compositor_snapshot(void const *compositor_id) const =0
Definition: rectangle.h:33
virtual MirSurfaceState state() const =0
virtual geometry::Size size() const =0
Size of the surface including window frame (if any)
virtual geometry::Point top_left() const =0
Top-left corner (of the window frame if present)
virtual void move_to(geometry::Point const &top_left)=0
virtual void take_input_focus(std::shared_ptr< shell::InputTargeter > const &targeter)=0