1 // Copyright (c) 2011 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.
5 #include "ui/views/examples/throbber_example.h"
7 #include "ui/views/controls/throbber.h"
8 #include "ui/views/layout/fill_layout.h"
9 #include "ui/views/view.h"
16 // Time in ms per throbber frame.
17 const int kThrobberFrameMs
= 60;
19 class ThrobberView
: public View
{
22 throbber_
= new Throbber(kThrobberFrameMs
, false);
23 AddChildView(throbber_
);
24 throbber_
->SetVisible(true);
28 gfx::Size
GetPreferredSize() const override
{
29 return gfx::Size(width(), height());
32 void Layout() override
{
33 View
* child
= child_at(0);
34 gfx::Size ps
= child
->GetPreferredSize();
35 child
->SetBounds((width() - ps
.width()) / 2,
36 (height() - ps
.height()) / 2,
37 ps
.width(), ps
.height());
38 SizeToPreferredSize();
44 DISALLOW_COPY_AND_ASSIGN(ThrobberView
);
49 ThrobberExample::ThrobberExample() : ExampleBase("Throbber") {
52 ThrobberExample::~ThrobberExample() {
55 void ThrobberExample::CreateExampleView(View
* container
) {
56 container
->SetLayoutManager(new FillLayout());
57 container
->AddChildView(new ThrobberView());
60 } // namespace examples