Android-cuttlefish cvd tool
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
cuttlefish::CompositionManager Class Reference

#include <composition_manager.h>

Collaboration diagram for cuttlefish::CompositionManager:
Collaboration graph
[legend]

Classes

struct  DisplayOverlay
 
class  LastFrameInfo
 

Public Member Functions

 ~CompositionManager ()
 
void OnDisplayCreated (const DisplayCreatedEvent &event)
 
void OnFrame (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_pixels)
 
void ComposeFrame (int display_index, std::shared_ptr< VideoFrameBuffer > buffer)
 

Static Public Member Functions

static Result< std::unique_ptr< CompositionManager > > Create ()
 

Private Member Functions

 CompositionManager (int cluster_index, std::string &group_uuid, std::map< int, std::vector< DisplayOverlay > > &overlays)
 
std::uint8_t * AlphaBlendLayers (std::uint8_t *frame_pixels, int display, int frame_width, int frame_height)
 
void ComposeFrame (int display, int width, int height, std::uint32_t frame_fourcc_format, std::uint32_t frame_stride_bytes, std::shared_ptr< VideoFrameBuffer > buffer)
 

Static Private Member Functions

static std::map< int, std::vector< CompositionManager::DisplayOverlay > > ParseOverlays (std::vector< std::string > overlay_items)
 

Private Attributes

DisplayRingBufferManager display_ring_buffer_manager_
 
int cluster_index_
 
std::string group_uuid_
 
std::map< int, std::vector< DisplayOverlay > > cfg_overlays_
 
std::map< int, LastFrameInfolast_frame_info_map_
 

Constructor & Destructor Documentation

◆ ~CompositionManager()

cuttlefish::CompositionManager::~CompositionManager ( )

◆ CompositionManager()

cuttlefish::CompositionManager::CompositionManager ( int  cluster_index,
std::string &  group_uuid,
std::map< int, std::vector< DisplayOverlay > > &  overlays 
)
explicitprivate

Member Function Documentation

◆ AlphaBlendLayers()

std::uint8_t * cuttlefish::CompositionManager::AlphaBlendLayers ( std::uint8_t *  frame_pixels,
int  display,
int  frame_width,
int  frame_height 
)
private

◆ ComposeFrame() [1/2]

void cuttlefish::CompositionManager::ComposeFrame ( int  display,
int  width,
int  height,
std::uint32_t  frame_fourcc_format,
std::uint32_t  frame_stride_bytes,
std::shared_ptr< VideoFrameBuffer buffer 
)
private

◆ ComposeFrame() [2/2]

void cuttlefish::CompositionManager::ComposeFrame ( int  display_index,
std::shared_ptr< VideoFrameBuffer buffer 
)

◆ Create()

Result< std::unique_ptr< CompositionManager > > cuttlefish::CompositionManager::Create ( )
static

◆ OnDisplayCreated()

void cuttlefish::CompositionManager::OnDisplayCreated ( const DisplayCreatedEvent event)

◆ OnFrame()

void cuttlefish::CompositionManager::OnFrame ( 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_pixels 
)

◆ ParseOverlays()

std::map< int, std::vector< CompositionManager::DisplayOverlay > > cuttlefish::CompositionManager::ParseOverlays ( std::vector< std::string >  overlay_items)
staticprivate

Member Data Documentation

◆ cfg_overlays_

std::map<int, std::vector<DisplayOverlay> > cuttlefish::CompositionManager::cfg_overlays_
private

◆ cluster_index_

int cuttlefish::CompositionManager::cluster_index_
private

◆ display_ring_buffer_manager_

DisplayRingBufferManager cuttlefish::CompositionManager::display_ring_buffer_manager_
private

◆ group_uuid_

std::string cuttlefish::CompositionManager::group_uuid_
private

◆ last_frame_info_map_

std::map<int, LastFrameInfo> cuttlefish::CompositionManager::last_frame_info_map_
private

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