blob: cea4b52f5d37719f842ed742f4025cb6b51f0e92 [file] [edit]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/base/nine_image_painter_factory.h"
#include <stddef.h>
#include "base/compiler_specific.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/nine_image_painter.h"
namespace ui {
namespace {
std::vector<gfx::ImageSkia> ImageIdsToImages(const NineImageIds& image_ids) {
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
std::vector<gfx::ImageSkia> images(gfx::kNineImageCount);
for (size_t i = 0; i < gfx::kNineImageCount; ++i) {
if (image_ids[i] != 0) {
images[i] = *rb.GetImageSkiaNamed(image_ids[i]);
}
}
return images;
}
} // namespace
std::unique_ptr<gfx::NineImagePainter> CreateNineImagePainter(
const NineImageIds& image_ids) {
return std::make_unique<gfx::NineImagePainter>(ImageIdsToImages(image_ids));
}
} // namespace ui