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.