blob: 4d6bb2efcf10c57a23c842c961177c0ffa594b21 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ash/system/palette/palette_tool.h"
#include <memory>
#include "ash/system/palette/palette_tool_manager.h"
#include "ash/system/palette/palette_utils.h"
#include "ash/system/palette/tools/capture_region_mode.h"
#include "ash/system/palette/tools/capture_screen_action.h"
#include "ash/system/palette/tools/create_note_action.h"
#include "ash/system/palette/tools/laser_pointer_mode.h"
#include "ash/system/palette/tools/magnifier_mode.h"
#include "ash/system/palette/tools/metalayer_mode.h"
#include "chromeos/constants/chromeos_switches.h"
#include "ui/gfx/paint_vector_icon.h"
namespace ash {
// static
void PaletteTool::RegisterToolInstances(PaletteToolManager* tool_manager) {
tool_manager->AddTool(std::make_unique<CaptureRegionMode>(tool_manager));
tool_manager->AddTool(std::make_unique<CaptureScreenAction>(tool_manager));
tool_manager->AddTool(std::make_unique<CreateNoteAction>(tool_manager));
if (chromeos::switches::IsAssistantEnabled()) {
tool_manager->AddTool(std::make_unique<MetalayerMode>(tool_manager));
}
tool_manager->AddTool(std::make_unique<LaserPointerMode>(tool_manager));
tool_manager->AddTool(std::make_unique<MagnifierMode>(tool_manager));
}
PaletteTool::PaletteTool(Delegate* delegate) : delegate_(delegate) {}
PaletteTool::~PaletteTool() = default;
void PaletteTool::OnEnable() {
enabled_ = true;
}
void PaletteTool::OnDisable() {
enabled_ = false;
}
const gfx::VectorIcon& PaletteTool::GetActiveTrayIcon() const {
return gfx::kNoneIcon;
}
} // namespace ash