1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33

ash / system / input_device_settings / device_image.cc [blame]

// 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