| Index: views/examples/box_layout.cc
|
| diff --git a/views/examples/box_layout.cc b/views/examples/box_layout.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..957d0d676e6e09c5d002ffca481a78f836d5039c
|
| --- /dev/null
|
| +++ b/views/examples/box_layout.cc
|
| @@ -0,0 +1,37 @@
|
| +// Copyright (c) 2010 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 "views/examples/box_layout.h"
|
| +
|
| +namespace examples {
|
| +
|
| +BoxLayout::BoxLayout(Orientation orientation, int margin)
|
| + : orientation_(orientation),
|
| + margin_(margin) {
|
| +}
|
| +
|
| +void BoxLayout::Layout(views::View* host) {
|
| + int height = host->height();
|
| + int width = host->width();
|
| + int count = host->GetChildViewCount();
|
| +
|
| + int z = 0;
|
| + for (int i = 0; i < count; ++i) {
|
| + views::View* child = host->GetChildViewAt(i);
|
| +
|
| + if (orientation_ == kVertical) {
|
| + child->SetBounds(0, z, width, height / count);
|
| + z = (height + margin_) * (i + 1) / count;
|
| + } else if (orientation_ == kHorizontal) {
|
| + child->SetBounds(z, 0, width / count, height);
|
| + z = (width + margin_) * (i + 1) / count;
|
| + }
|
| + }
|
| +}
|
| +
|
| +gfx::Size BoxLayout::GetPreferredSize(views::View* host) {
|
| + return gfx::Size();
|
| +}
|
| +
|
| +} // namespace examples
|
|
|