// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ash/system/input_device_settings/device_image.h"
#include "ash/system/input_device_settings/input_device_settings_utils.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/webui/web_ui_util.h"
namespace ash {
DeviceImage::DeviceImage() = default;
DeviceImage::~DeviceImage() = default;
DeviceImage::DeviceImage(const std::string& device_key,
const std::string& data_url)
: device_key_(device_key), data_url_(data_url) {}
DeviceImage::DeviceImage(const std::string& device_key,
const gfx::ImageSkia& image)
: device_key_(device_key), image_(image) {
if (!image_.isNull()) {
const SkBitmap bitmap = *image_.bitmap();
data_url_ = webui::GetBitmapDataUrl(bitmap);
}
}
bool DeviceImage::IsValid() const {
return !data_url_.empty() || !image_.isNull();
}
} // namespace ash