#ifndef ASH_PUBLIC_CPP_ANNOTATOR_ANNOTATOR_CONTROLLER_BASE_H_
#define ASH_PUBLIC_CPP_ANNOTATOR_ANNOTATOR_CONTROLLER_BASE_H_
#include "ash/public/cpp/ash_public_export.h"
namespace ash {
class AnnotatorClient;
class ASH_PUBLIC_EXPORT AnnotatorControllerBase {
public:
AnnotatorControllerBase();
AnnotatorControllerBase(const AnnotatorControllerBase&) = delete;
AnnotatorControllerBase& operator=(const AnnotatorControllerBase&) = delete;
virtual ~AnnotatorControllerBase();
static AnnotatorControllerBase* Get();
virtual void SetToolClient(AnnotatorClient* client) = 0;
virtual bool GetAnnotatorAvailability() const = 0;
virtual void OnCanvasInitialized(bool success) = 0;
virtual void ToggleAnnotationTray() = 0;
virtual void OnUndoRedoAvailabilityChanged(bool undo_available,
bool redo_available) = 0;
};
}
#endif