1 // Copyright 2014 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 #ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_NODE_OBSERVER_H_
6 #define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_NODE_OBSERVER_H_
10 #include "base/basictypes.h"
12 #include "mojo/services/public/cpp/view_manager/node.h"
19 namespace view_manager {
26 enum DispositionChangePhase {
31 struct TreeChangeParams {
37 DispositionChangePhase phase;
40 virtual void OnTreeChange(const TreeChangeParams& params) {}
42 virtual void OnNodeReordered(Node* node,
44 OrderDirection direction,
45 DispositionChangePhase phase) {}
47 virtual void OnNodeDestroy(Node* node, DispositionChangePhase phase) {}
49 virtual void OnNodeActiveViewChange(Node* node,
52 DispositionChangePhase phase) {}
54 virtual void OnNodeBoundsChange(Node* node,
55 const gfx::Rect& old_bounds,
56 const gfx::Rect& new_bounds,
57 DispositionChangePhase phase) {}
60 virtual ~NodeObserver() {}
63 } // namespace view_manager
66 #endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_NODE_OBSERVER_H_