Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | List of all members
mir::scene::Surface Class Referenceabstract

#include <surface.h>

Inheritance diagram for mir::scene::Surface:
[legend]

Public Member Functions

std::string name () const override=0
 
geometry::Size client_size () const override=0
 Size of the client area of the surface (excluding any decorations) More...
 
geometry::Rectangle input_bounds () const override=0
 
virtual geometry::Point top_left () const =0
 Top-left corner (of the window frame if present) More...
 
virtual geometry::Size size () const =0
 Size of the surface including window frame (if any) More...
 
virtual std::unique_ptr
< graphics::Renderable
compositor_snapshot (void const *compositor_id) const =0
 
virtual float alpha () const =0
 
virtual MirSurfaceType type () const =0
 
virtual MirSurfaceState state () const =0
 
virtual void hide ()=0
 
virtual void show ()=0
 
virtual void move_to (geometry::Point const &top_left)=0
 
virtual void take_input_focus (std::shared_ptr< shell::InputTargeter > const &targeter)=0
 
virtual void set_input_region (std::vector< geometry::Rectangle > const &region)=0
 Sets the input region for this surface. More...
 
virtual void allow_framedropping (bool)=0
 
virtual void resize (geometry::Size const &size)=0
 
virtual void set_transformation (glm::mat4 const &t)=0
 
virtual void set_alpha (float alpha)=0
 
virtual void set_orientation (MirOrientation orientation)=0
 
virtual void force_requests_to_complete ()=0
 
virtual void set_cursor_image (std::shared_ptr< graphics::CursorImage > const &image)=0
 
virtual std::shared_ptr
< graphics::CursorImage
cursor_image () const =0
 
virtual void add_observer (std::shared_ptr< SurfaceObserver > const &observer)=0
 
virtual void remove_observer (std::weak_ptr< SurfaceObserver > const &observer)=0
 
virtual std::shared_ptr
< input::InputChannel
input_channel () const =0
 
virtual void set_reception_mode (input::InputReceptionMode mode)=0
 
- Public Member Functions inherited from mir::input::Surface
virtual bool input_area_contains (geometry::Point const &point) const =0
 
virtual InputReceptionMode reception_mode () const =0
 
virtual void consume (MirEvent const &event)=0
 
- Public Member Functions inherited from mir::frontend::Surface
virtual ~Surface ()=default
 
virtual MirPixelFormat pixel_format () const =0
 
virtual void swap_buffers (graphics::Buffer *old_buffer, std::function< void(graphics::Buffer *new_buffer)> complete)=0
 
virtual bool supports_input () const =0
 
virtual int client_input_fd () const =0
 
virtual int configure (MirSurfaceAttrib attrib, int value)=0
 
virtual int query (MirSurfaceAttrib attrib)=0
 
void swap_buffers_blocking (graphics::Buffer *&buffer)
 swap_buffers_blocking() is a convenience wrapper around swap_buffers() it forces the current thread to block until complete() is called. More...
 
- Public Member Functions inherited from mir::scene::SurfaceBufferAccess
virtual ~SurfaceBufferAccess ()=default
 
virtual void with_most_recent_buffer_do (std::function< void(graphics::Buffer &)> const &exec)=0
 

Additional Inherited Members

- Protected Member Functions inherited from mir::input::Surface
 Surface ()=default
 
virtual ~Surface ()=default
 
 Surface (const Surface &)=delete
 
Surfaceoperator= (const Surface &)=delete
 
- Protected Member Functions inherited from mir::frontend::Surface
 Surface ()=default
 
 Surface (Surface const &)=delete
 
Surfaceoperator= (Surface const &)=delete
 
- Protected Member Functions inherited from mir::scene::SurfaceBufferAccess
 SurfaceBufferAccess ()=default
 
 SurfaceBufferAccess (SurfaceBufferAccess const &)=delete
 
SurfaceBufferAccessoperator= (SurfaceBufferAccess const &)=delete
 

Member Function Documentation

virtual void mir::scene::Surface::add_observer ( std::shared_ptr< SurfaceObserver > const &  observer)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::allow_framedropping ( bool  )
pure virtual

Implemented in mir::scene::BasicSurface.

virtual float mir::scene::Surface::alpha ( ) const
pure virtual

Implemented in mir::scene::BasicSurface.

geometry::Size mir::scene::Surface::client_size ( ) const
overridepure virtual

Size of the client area of the surface (excluding any decorations)

Implements mir::frontend::Surface.

Implemented in mir::scene::BasicSurface.

virtual std::unique_ptr<graphics::Renderable> mir::scene::Surface::compositor_snapshot ( void const *  compositor_id) const
pure virtual

Implemented in mir::scene::BasicSurface.

virtual std::shared_ptr<graphics::CursorImage> mir::scene::Surface::cursor_image ( ) const
pure virtual

Implements mir::input::Surface.

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::force_requests_to_complete ( )
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::hide ( )
pure virtual

Implemented in mir::scene::BasicSurface.

geometry::Rectangle mir::scene::Surface::input_bounds ( ) const
overridepure virtual

Implements mir::input::Surface.

Implemented in mir::scene::BasicSurface.

virtual std::shared_ptr<input::InputChannel> mir::scene::Surface::input_channel ( ) const
pure virtual

Implements mir::input::Surface.

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::move_to ( geometry::Point const &  top_left)
pure virtual

Implemented in mir::scene::BasicSurface.

std::string mir::scene::Surface::name ( ) const
overridepure virtual

Implements mir::input::Surface.

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::remove_observer ( std::weak_ptr< SurfaceObserver > const &  observer)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::resize ( geometry::Size const &  size)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::set_alpha ( float  alpha)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::set_cursor_image ( std::shared_ptr< graphics::CursorImage > const &  image)
pure virtual

Implements mir::frontend::Surface.

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::set_input_region ( std::vector< geometry::Rectangle > const &  region)
pure virtual

Sets the input region for this surface.

The input region is expressed in coordinates relative to the surface (i.e., use (0,0) for the top left point of the surface).

By default the input region is the whole surface. To unset a custom input region and revert to the default set an empty input region, i.e., set_input_region({}). To disable input set a non-empty region containing an empty rectangle, i.e., set_input_region({geom::Rectangle{}}).

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::set_orientation ( MirOrientation  orientation)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::set_reception_mode ( input::InputReceptionMode  mode)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::set_transformation ( glm::mat4 const &  t)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::show ( )
pure virtual

Implemented in mir::scene::BasicSurface.

virtual geometry::Size mir::scene::Surface::size ( ) const
pure virtual

Size of the surface including window frame (if any)

Implemented in mir::scene::BasicSurface.

virtual MirSurfaceState mir::scene::Surface::state ( ) const
pure virtual

Implemented in mir::scene::BasicSurface.

virtual void mir::scene::Surface::take_input_focus ( std::shared_ptr< shell::InputTargeter > const &  targeter)
pure virtual

Implemented in mir::scene::BasicSurface.

virtual geometry::Point mir::scene::Surface::top_left ( ) const
pure virtual

Top-left corner (of the window frame if present)

Implemented in mir::scene::BasicSurface.

virtual MirSurfaceType mir::scene::Surface::type ( ) const
pure virtual

Implemented in mir::scene::BasicSurface.


The documentation for this class was generated from the following file:

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Oct 10 14:07:14 UTC 2014