Home | History | Annotate | Download | only in geometry
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "ui/gfx/geometry/size_f.h"
      6 
      7 #include "base/strings/stringprintf.h"
      8 
      9 namespace gfx {
     10 
     11 float SizeF::GetArea() const {
     12   return width() * height();
     13 }
     14 
     15 void SizeF::Enlarge(float grow_width, float grow_height) {
     16   SetSize(width() + grow_width, height() + grow_height);
     17 }
     18 
     19 void SizeF::SetToMin(const SizeF& other) {
     20   width_ = width() <= other.width() ? width() : other.width();
     21   height_ = height() <= other.height() ? height() : other.height();
     22 }
     23 
     24 void SizeF::SetToMax(const SizeF& other) {
     25   width_ = width() >= other.width() ? width() : other.width();
     26   height_ = height() >= other.height() ? height() : other.height();
     27 }
     28 
     29 std::string SizeF::ToString() const {
     30   return base::StringPrintf("%fx%f", width(), height());
     31 }
     32 
     33 SizeF ScaleSize(const SizeF& s, float x_scale, float y_scale) {
     34   SizeF scaled_s(s);
     35   scaled_s.Scale(x_scale, y_scale);
     36   return scaled_s;
     37 }
     38 
     39 }  // namespace gfx
     40