123456789101112131415161718192021222324252627282930313233343536 |
- // Copyright (c) 2012 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 "ui/message_center/message_center_style.h"
- #include <algorithm>
- #include "ui/gfx/color_palette.h"
- #include "ui/gfx/image/image_skia.h"
- #include "ui/gfx/paint_vector_icon.h"
- namespace message_center {
- gfx::Size GetImageSizeForContainerSize(const gfx::Size& container_size,
- const gfx::Size& image_size) {
- if (container_size.IsEmpty() || image_size.IsEmpty())
- return gfx::Size();
- gfx::Size scaled_size = image_size;
- double proportion =
- scaled_size.height() / static_cast<double>(scaled_size.width());
- // We never want to return an empty image given a non-empty container and
- // image, so round the height to 1.
- scaled_size.SetSize(container_size.width(),
- std::max(0.5 + container_size.width() * proportion, 1.0));
- if (scaled_size.height() > container_size.height()) {
- scaled_size.SetSize(
- std::max(0.5 + container_size.height() / proportion, 1.0),
- container_size.height());
- }
- return scaled_size;
- }
- } // namespace message_center
|