template <>

class WireWeakSyncClientImpl

Defined at line 6858 of file fidling/gen/sdk/fidl/fuchsia.hardware.display/fuchsia.hardware.display/cpp/fidl/fuchsia.hardware.display/cpp/wire_messaging.h

Public Methods

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::ImportImage> ImportImage (const ::fuchsia_hardware_display_types::wire::ImageMetadata & image_metadata, const ::fuchsia_hardware_display::wire::BufferCollectionId & buffer_collection_id, uint32_t buffer_index, const ::fuchsia_hardware_display::wire::ImageId & image_id)

Imports a Buffer-Collection backed image.

Returns `ZX_ERR_NOT_SUPPORTED` if the display hardware doesn't support

`image_metadata`.

Returns `ZX_ERR_ALREADY_EXISTS` if `image_id` was used in a successful

`ImportImage()` without a corresponding `ReleaseImage()`.

Returns `ZX_ERR_NO_MEMORY` if memory cannot be allocated for managing the image

Additionally, this method delegates internally to `fuchsia.hardware.display.engine/Engine`,

and will forward errors received from `ImportImage()` and `ImportImageForCapture()`.

Allocates 88 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::CreateLayer> CreateLayer ()

Creates a new layer.

Layers are not associated with a particular display, but they can only be

shown on at most one display at any given time. A layer is considered in

use from the time it is passed to SetDisplayLayers until a subsequent

configuration is applied which does not include the layer or until its

display is removed.

Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::CheckConfig> CheckConfig ()

Validates the draft configuration.

Validation entails checking that the draft configuration can be used

by the system's display hardware.

Most SetX operations require verifying the draft configuration. The

following operations do not require revalidation.

* SetLayerImage2()

Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::GetLatestAppliedConfigStamp> GetLatestAppliedConfigStamp ()

Gets the stamp provided with the latest configuration the client

submitted (by calling ApplyConfig()) and the display core driver

accepted; the display configuration may not have been rendered yet

because of pending image availability or draft layer changes.

If no configuration was applied before, returns `INVALID_CONFIG_STAMP_VALUE`.

Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::ImportBufferCollection> ImportBufferCollection (const ::fuchsia_hardware_display::wire::BufferCollectionId & buffer_collection_id, ::fidl::ClientEnd< ::fuchsia_sysmem2::BufferCollectionToken> && buffer_collection_token)

Import a sysmem buffer collection token. `buffer_collection_id` must not

already be in use.

Allocates 64 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::SetBufferCollectionConstraints> SetBufferCollectionConstraints (const ::fuchsia_hardware_display::wire::BufferCollectionId & buffer_collection_id, const ::fuchsia_hardware_display_types::wire::ImageBufferUsage & buffer_usage)

Takes an imported buffer collection and sets the constraints

on it so that it can be imported with a specific config.

Allocates 64 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::IsCaptureSupported> IsCaptureSupported ()

Returns true if Capture is supported on the platform.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::StartCapture> StartCapture (const ::fuchsia_hardware_display::wire::EventId & signal_event_id, const ::fuchsia_hardware_display::wire::ImageId & image_id)

Starts capture. Client must provide a valid signal_event_id and

image_id. signal_event_id must have been imported into the driver

using ImportEvent FIDL API. Image_id is the id from ImportImageForCapture.

The client will get notified once capture is complete via signal_event_id.

Returns ZX_ERR_NOT_SUPPORTED if coordinator does not support capture

Allocates 64 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::SetMinimumRgb> SetMinimumRgb (uint8_t minimum_rgb)

Set the minimum value of rgb channels. Valid range [0 255] inclusive. Returns

ZX_ERR_NOT_SUPPORTED when the display hardware does not support this feature.

This API is meant to address backlight bleeding that may occur on some hardware

that have a specific type of panel and hardware assembly. The evolution of this

API is highly hardware and product dependant and therefore as products evolve, this

API may change or support for this API may become non-existent. Therefore, this

API should be used with caution.

Unlike other calls in this API, SetMiniumRgb is applied immediately, and does not

wait for ApplyConfig(). It is, however, still stateful.

Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_display::Coordinator::SetDisplayPowerMode> SetDisplayPowerMode (const ::fuchsia_hardware_display_types::wire::DisplayId & display_id, ::fuchsia_hardware_display_types::wire::PowerMode power_mode)

Sets the display panel power mode.

This call takes effect immediately. Clients don't need to call

[`Coordinator.ApplyConfig`].

Fails with ZX_ERR_NOT_FOUND if `display_id` does not belong to a display

known by the Coordinator. This can happen if a client issues a call to

[`Coordinator.SetDisplayPowerMode`] before it receives a notification

that the display was removed.

This method is not idempotent. Each [`Coordinator.SetDisplayPowerMode`]

call explicitly sets the power mode on the display hardware, though the

display hardware driver may choose to behave idempotently.

Fails with ZX_ERR_NOT_SUPPORTED if the display drivers or the hardware

don't support the given `power_mode`.

Allocates 64 bytes of message buffer on the stack. No heap allocation necessary.