1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file.
4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ui/views/test/test_views.h"
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace views {
8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)StaticSizedView::StaticSizedView(const gfx::Size& size) : size_(size) {}
10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)StaticSizedView::~StaticSizedView() {}
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)gfx::Size StaticSizedView::GetPreferredSize() const {
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return size_;
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)ProportionallySizedView::ProportionallySizedView(int factor)
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    : factor_(factor), preferred_width_(-1) {}
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)ProportionallySizedView::~ProportionallySizedView() {}
21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)int ProportionallySizedView::GetHeightForWidth(int w) const {
23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return w * factor_;
24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdochgfx::Size ProportionallySizedView::GetPreferredSize() const {
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (preferred_width_ >= 0)
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    return gfx::Size(preferred_width_, GetHeightForWidth(preferred_width_));
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  return View::GetPreferredSize();
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace views
33