1// Copyright (c) 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_V2_PUBLIC_LAYOUT_H_ 6#define UI_V2_PUBLIC_LAYOUT_H_ 7 8#include "ui/v2/public/v2_export.h" 9#include "ui/v2/public/view_observer.h" 10 11namespace v2 { 12 13class V2_EXPORT Layout { 14 public: 15 virtual ~Layout(); 16 17 // Called by the View to commit the bounds. It is up to the Layout to 18 // figure out what bounds to actually set, via SetBoundsDirect below. 19 virtual void SetChildBounds(View* child, 20 const gfx::Rect& requested_bounds); 21 22 protected: 23 // Sets the specified |bounds| on |child| without consulting layout. 24 void SetChildBoundsDirect(View* child, const gfx::Rect& bounds); 25}; 26 27} // namespace v2 28 29#endif // UI_V2_PUBLIC_LAYOUT_H_ 30