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
[legend]
Collaboration diagram for alexaClientSDK::sampleApp::CaptionPresenter:
Collaboration graph
[legend]

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)
static

Factory method that returns a new instance of CaptionPresenterInterface.

Parameters
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.
Returns
Pointer to a new CaptionPresenterInterface.

◆ getWrapIndex()

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

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.

Parameters
captionLineThe line of caption text with the styles that apply to that text. application's display and needs to wrap to a new line.
Returns
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 
)
overridevirtual

Handles a request to show or hide a CaptionFrame.

Parameters
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 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0