AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Static Public Member Functions | List of all members
alexaClientSDK::sampleApp::CaptionPresenter Class Reference

#include <CaptionPresenter.h>

Inheritance diagram for alexaClientSDK::sampleApp::CaptionPresenter:
Inheritance graph
Collaboration diagram for alexaClientSDK::sampleApp::CaptionPresenter:
Collaboration graph

Public Member Functions

CaptionPresenterInterface methods
void onCaptionActivity (const captions::CaptionFrame &captionFrame, avsCommon::avs::FocusState focusState) override
std::pair< bool, int > getWrapIndex (const captions::CaptionLine &captionLine) override
- Public Member Functions inherited from alexaClientSDK::captions::CaptionPresenterInterface
virtual ~CaptionPresenterInterface ()=default

Static Public Member Functions

static std::shared_ptr< captions::CaptionPresenterInterfacecreateCaptionPresenterInterface (const std::shared_ptr< captions::CaptionManagerInterface > &captionManager)

Detailed Description

Sample implementation of CaptionPresenterInterface that measures text and prints captions content to console.

Member Function Documentation

◆ createCaptionPresenterInterface()

static std::shared_ptr<captions::CaptionPresenterInterface> alexaClientSDK::sampleApp::CaptionPresenter::createCaptionPresenterInterface ( const std::shared_ptr< captions::CaptionManagerInterface > &  captionManager)

Factory method that returns a new instance of CaptionPresenterInterface.

captionManagerThe CaptionManagerInterface to which we should add this new CaptionPresenterInterface. If null or if disabled, the CaptionPresenter is still created to satisfy manufactory exports, but will not be added to the CaptionManager.
Pointer to a new CaptionPresenterInterface.

◆ getWrapIndex()

std::pair<bool, int> alexaClientSDK::sampleApp::CaptionPresenter::getWrapIndex ( const captions::CaptionLine captionLine)

Determine the display width of the line of text as it would be displayed on a screen.

This function should apply the styles to the text present in the CaptionLine and measure the width as it would be displayed on the screen. If the text is too wide to fit on the display, then return true, along with the character index in captionLine of where the text becomes too wide to fit. This function should also return quickly, as it is potentially called many times to find the correct text wrap points.

captionLineThe line of caption text with the styles that apply to that text. application's display and needs to wrap to a new line.
a pair, the first value is whether a line wrap should occur, the second value indicates zero-indexed character number of where in the captionLine's text the line wrap should occur, which takes effect only if the first value is true. Otherwise return false as the first value.

Implements alexaClientSDK::captions::CaptionPresenterInterface.

◆ onCaptionActivity()

void alexaClientSDK::sampleApp::CaptionPresenter::onCaptionActivity ( const captions::CaptionFrame captionFrame,
avsCommon::avs::FocusState  activityType 

Handles a request to show or hide a CaptionFrame.

captionFrameThe CaptionFrame which is to be acted upon based on the action described by activityType.
activityTypeThe FocusState to indicate whether to bring the caption to the foreground (show), send them to the background (hide).

Implements alexaClientSDK::captions::CaptionPresenterInterface.

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

AlexaClientSDK 3.0.0 - Copyright 2016-2022, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0