1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_PRIVATE_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_PRIVATE_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/basictypes.h" 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "mojo/services/public/cpp/view_manager/view.h" 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace mojo { 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ViewPrivate { 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) explicit ViewPrivate(View* view); 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ~ViewPrivate(); 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) static View* LocalCreate(); 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ObserverList<ViewObserver>* observers() { return &view_->observers_; } 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void ClearParent() { view_->parent_ = NULL; } 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) void set_id(Id id) { view_->id_ = id; } 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ViewManager* view_manager() { return view_->manager_; } 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) void set_view_manager(ViewManager* manager) { 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) view_->manager_ = manager; 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void LocalDestroy() { 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) view_->LocalDestroy(); 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void LocalAddChild(View* child) { 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) view_->LocalAddChild(child); 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void LocalRemoveChild(View* child) { 396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) view_->LocalRemoveChild(child); 406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void LocalReorder(View* relative, OrderDirection direction) { 426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) view_->LocalReorder(relative, direction); 436e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 446e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void LocalSetBounds(const gfx::Rect& old_bounds, 456e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const gfx::Rect& new_bounds) { 466e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) view_->LocalSetBounds(old_bounds, new_bounds); 476e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private: 50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) View* view_; 51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ViewPrivate); 53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 55cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace mojo 56cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_PRIVATE_H_ 58