Android-cuttlefish cvd tool
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
wayland::Surfaces Class Reference

#include <wayland_surfaces.h>

Public Types

using FrameCallback = std::function< void(std::uint32_t, std::uint32_t, std::uint32_t, std::uint32_t, std::uint32_t, std::uint8_t *)>
 

Public Member Functions

 Surfaces ()=default
 
virtual ~Surfaces ()=default
 
 Surfaces (const Surfaces &rhs)=delete
 
Surfacesoperator= (const Surfaces &rhs)=delete
 
 Surfaces (Surfaces &&rhs)=delete
 
Surfacesoperator= (Surfaces &&rhs)=delete
 
void SetFrameCallback (FrameCallback callback)
 
void SetDisplayEventCallback (DisplayEventCallback callback)
 
void SetFramesAreRGBA (bool frames_are_rgba)
 

Private Member Functions

void HandleSurfaceFrame (std::uint32_t display_number, std::uint32_t frame_width, std::uint32_t frame_height, std::uint32_t frame_fourcc_format, std::uint32_t frame_stride_bytes, std::uint8_t *frame_bytes)
 
void HandleSurfaceCreated (std::uint32_t display_number, std::uint32_t display_width, std::uint32_t display_height)
 
void HandleSurfaceDestroyed (std::uint32_t display_number)
 

Private Attributes

std::mutex callback_mutex_
 
std::optional< FrameCallbackcallback_
 
std::optional< DisplayEventCallbackevent_callback_
 
bool frames_are_rgba_ = false
 

Friends

class Surface
 

Member Typedef Documentation

◆ FrameCallback

using wayland::Surfaces::FrameCallback = std::function<void(std::uint32_t , std::uint32_t , std::uint32_t , std::uint32_t , std::uint32_t , std::uint8_t* )>

Constructor & Destructor Documentation

◆ Surfaces() [1/3]

wayland::Surfaces::Surfaces ( )
default

◆ ~Surfaces()

virtual wayland::Surfaces::~Surfaces ( )
virtualdefault

◆ Surfaces() [2/3]

wayland::Surfaces::Surfaces ( const Surfaces rhs)
delete

◆ Surfaces() [3/3]

wayland::Surfaces::Surfaces ( Surfaces &&  rhs)
delete

Member Function Documentation

◆ HandleSurfaceCreated()

void wayland::Surfaces::HandleSurfaceCreated ( std::uint32_t  display_number,
std::uint32_t  display_width,
std::uint32_t  display_height 
)
private

◆ HandleSurfaceDestroyed()

void wayland::Surfaces::HandleSurfaceDestroyed ( std::uint32_t  display_number)
private

◆ HandleSurfaceFrame()

void wayland::Surfaces::HandleSurfaceFrame ( std::uint32_t  display_number,
std::uint32_t  frame_width,
std::uint32_t  frame_height,
std::uint32_t  frame_fourcc_format,
std::uint32_t  frame_stride_bytes,
std::uint8_t *  frame_bytes 
)
private

◆ operator=() [1/2]

Surfaces & wayland::Surfaces::operator= ( const Surfaces rhs)
delete

◆ operator=() [2/2]

Surfaces & wayland::Surfaces::operator= ( Surfaces &&  rhs)
delete

◆ SetDisplayEventCallback()

void wayland::Surfaces::SetDisplayEventCallback ( DisplayEventCallback  callback)

◆ SetFrameCallback()

void wayland::Surfaces::SetFrameCallback ( FrameCallback  callback)

◆ SetFramesAreRGBA()

void wayland::Surfaces::SetFramesAreRGBA ( bool  frames_are_rgba)

Friends And Related Function Documentation

◆ Surface

friend class Surface
friend

Member Data Documentation

◆ callback_

std::optional<FrameCallback> wayland::Surfaces::callback_
private

◆ callback_mutex_

std::mutex wayland::Surfaces::callback_mutex_
private

◆ event_callback_

std::optional<DisplayEventCallback> wayland::Surfaces::event_callback_
private

◆ frames_are_rgba_

bool wayland::Surfaces::frames_are_rgba_ = false
private

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