#ifndef ASH_ACCESSIBILITY_CAPTION_BUBBLE_CONTEXT_ASH_H_
#define ASH_ACCESSIBILITY_CAPTION_BUBBLE_CONTEXT_ASH_H_
#include "ash/ash_export.h"
#include "components/live_caption/caption_bubble_context.h"
#include <memory>
#include <string>
namespace ash::captions {
class ASH_EXPORT CaptionBubbleContextAsh
: public ::captions::CaptionBubbleContext {
public:
explicit CaptionBubbleContextAsh(
::captions::OpenCaptionSettingsCallback callback);
~CaptionBubbleContextAsh() override;
CaptionBubbleContextAsh(const CaptionBubbleContextAsh&) = delete;
CaptionBubbleContextAsh& operator=(const CaptionBubbleContextAsh&) = delete;
void GetBounds(GetBoundsCallback callback) const override;
const std::string GetSessionId() const override;
void Activate() override {}
bool IsActivatable() const override;
bool ShouldAvoidOverlap() const override;
std::unique_ptr<::captions::CaptionBubbleSessionObserver>
GetCaptionBubbleSessionObserver() override;
::captions::OpenCaptionSettingsCallback GetOpenCaptionSettingsCallback()
override;
private:
const ::captions::OpenCaptionSettingsCallback open_caption_settings_callback_;
};
}
#endif