class Image

Defined at line 35 of file ../../src/graphics/display/drivers/coordinator/image.h

Manages the lifetime of an imported sysmem pixel buffer.

Instances are not thread-safe. Concurrent access must be synchronized

externally.

Public Methods

void Image (ImageLifecycleListener * listener, const display::ImageMetadata & metadata, display::ImageId id, display::DriverImageId driver_id, inspect::Node * parent_node, ClientId client_id)

`lifecycle_listener` must be non-null, and must outlive the Image.

Defined at line 25 of file ../../src/graphics/display/drivers/coordinator/image.cc

void ~Image ()

Defined at line 40 of file ../../src/graphics/display/drivers/coordinator/image.cc

bool InDoublyLinkedList ()

Checks if the Image is in a DoublyLinkedList container.

TODO(https://fxbug.dev/317914671): investigate whether storing Images in doubly-linked lists

continues to be desirable.

Defined at line 56 of file ../../src/graphics/display/drivers/coordinator/image.cc

DoublyLinkedListPointer RemoveFromDoublyLinkedList ()

Removes the Image from the DoublyLinkedList. The Image must be in a

DoublyLinkedList when this is called.

Defined at line 58 of file ../../src/graphics/display/drivers/coordinator/image.cc

void Image (const Image & )

Defined at line 62 of file ../../src/graphics/display/drivers/coordinator/image.h

void Image (Image && )

Defined at line 63 of file ../../src/graphics/display/drivers/coordinator/image.h

Image & operator= (const Image & )

Defined at line 64 of file ../../src/graphics/display/drivers/coordinator/image.h

Image & operator= (Image && )

Defined at line 65 of file ../../src/graphics/display/drivers/coordinator/image.h

display::DriverImageId driver_id ()

Defined at line 69 of file ../../src/graphics/display/drivers/coordinator/image.h

const display::ImageMetadata & metadata ()

Defined at line 70 of file ../../src/graphics/display/drivers/coordinator/image.h

ClientId client_id ()

The client that owns the image.

Defined at line 73 of file ../../src/graphics/display/drivers/coordinator/image.h

void set_latest_driver_config_stamp (display::DriverConfigStamp driver_config_stamp)

Defined at line 75 of file ../../src/graphics/display/drivers/coordinator/image.h

display::DriverConfigStamp latest_driver_config_stamp ()

Defined at line 78 of file ../../src/graphics/display/drivers/coordinator/image.h

void set_latest_client_config_stamp (display::ConfigStamp stamp)

Defined at line 82 of file ../../src/graphics/display/drivers/coordinator/image.h

display::ConfigStamp latest_client_config_stamp ()

Defined at line 85 of file ../../src/graphics/display/drivers/coordinator/image.h

void MarkDisposed ()

Disposed images do not release engine driver-side resources on destruction.

This state is necessary for safely shutting down an engine driver. When

that happens, the driver may still be presenting some images. We want to

clear out our data structures, but cannot call ReleaseImage() on those

images.

Defined at line 93 of file ../../src/graphics/display/drivers/coordinator/image.h

Records

Friends

class DoublyLinkedListTraits