#ifndef ASH_CAPTURE_MODE_CAPTURE_MODE_SESSION_TEST_API_H_
#define ASH_CAPTURE_MODE_CAPTURE_MODE_SESSION_TEST_API_H_
#include "base/memory/raw_ptr.h"
#include "capture_mode_session_focus_cycler.h"
namespace ash {
class CaptureLabelView;
class CaptureModeBarView;
class CaptureModeSession;
class CaptureModeSettingsView;
class MagnifierGlass;
class RecordingTypeMenuView;
class UserNudgeController;
class CaptureModeSessionTestApi {
public:
CaptureModeSessionTestApi();
explicit CaptureModeSessionTestApi(CaptureModeSession* session);
CaptureModeSessionTestApi(CaptureModeSessionTestApi&) = delete;
CaptureModeSessionTestApi& operator=(CaptureModeSessionTestApi&) = delete;
~CaptureModeSessionTestApi() = default;
CaptureModeBarView* GetCaptureModeBarView();
CaptureModeSettingsView* GetCaptureModeSettingsView();
CaptureLabelView* GetCaptureLabelView();
RecordingTypeMenuView* GetRecordingTypeMenuView();
views::Widget* GetCaptureModeSettingsWidget();
views::Widget* GetCaptureLabelWidget();
views::Widget* GetRecordingTypeMenuWidget();
views::Widget* GetDimensionsLabelWidget();
UserNudgeController* GetUserNudgeController();
MagnifierGlass& GetMagnifierGlass();
bool IsUsingCustomCursor(CaptureModeType type);
CaptureModeSessionFocusCycler::FocusGroup GetCurrentFocusGroup();
size_t GetCurrentFocusIndex();
CaptureModeSessionFocusCycler::HighlightableWindow* GetHighlightableWindow(
aura::Window* window);
CaptureModeSessionFocusCycler::HighlightableView* GetCurrentFocusedView();
bool HasFocus();
bool IsFolderSelectionDialogShown();
bool IsAllUisVisible();
private:
const raw_ptr<CaptureModeSession, ExperimentalAsh> session_;
};
}
#endif