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_VIEW_OBSERVER_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_VIEW_OBSERVER_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <vector> 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/basictypes.h" 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "mojo/services/public/interfaces/input_events/input_events.mojom.h" 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace mojo { 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace view_manager { 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class View; 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class ViewObserver { 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) enum DispositionChangePhase { 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) DISPOSITION_CHANGING, 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) DISPOSITION_CHANGED 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) }; 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void OnViewDestroy(View* view, DispositionChangePhase phase) {} 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) virtual void OnViewInputEvent(View* view, const EventPtr& event) {} 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) protected: 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual ~ViewObserver() {} 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace view_manager 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace mojo 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_VIEW_OBSERVER_H_ 38