1// Copyright 2013 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#ifndef UI_VIEWS_TEST_TEST_VIEWS_H_
6#define UI_VIEWS_TEST_TEST_VIEWS_H_
7
8#include "ui/views/view.h"
9
10namespace views {
11
12// A view that requests a set amount of space.
13class StaticSizedView : public View {
14 public:
15  explicit StaticSizedView(const gfx::Size& size);
16  virtual ~StaticSizedView();
17
18  virtual gfx::Size GetPreferredSize() OVERRIDE;
19
20 private:
21  gfx::Size size_;
22
23  DISALLOW_COPY_AND_ASSIGN(StaticSizedView);
24};
25
26// A view that accomodates testing layouts that use GetHeightForWidth.
27class ProportionallySizedView : public View {
28 public:
29  explicit ProportionallySizedView(int factor);
30  virtual ~ProportionallySizedView();
31
32  virtual int GetHeightForWidth(int w) OVERRIDE;
33
34 private:
35  // The multiplicative factor between width and height, i.e.
36  // height = width * factor_.
37  int factor_;
38
39  DISALLOW_COPY_AND_ASSIGN(ProportionallySizedView);
40};
41
42}  // namespace views
43
44#endif  // UI_VIEWS_TEST_TEST_VIEWS_H_
45