// Copyright (c) 2012 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.
#ifndef UI_VIEWS_VIEW_MODEL_UTILS_H_
#define UI_VIEWS_VIEW_MODEL_UTILS_H_
#include "base/basictypes.h"
#include "ui/views/views_export.h"
namespace views {
class View;
class ViewModel;
class VIEWS_EXPORT ViewModelUtils {
public:
enum Alignment {
HORIZONTAL,
VERTICAL
};
// Sets the bounds of each view to its ideal bounds.
static void SetViewBoundsToIdealBounds(const ViewModel& model);
// Returns true if the Views in |model| are at their ideal bounds.
static bool IsAtIdealBounds(const ViewModel& model);
// Returns the index to move |view| to based on a coordinate of |x| and |y|.
static int DetermineMoveIndex(const ViewModel& model,
View* view,
Alignment alignment,
int x,
int y);
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(ViewModelUtils);
};
} // namespace views
#endif // UI_VIEWS_VIEW_MODEL_UTILS_H_