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. 4 5#ifndef MOJO_SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 6#define MOJO_SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 7 8#include "mojo/services/view_manager/view_manager_export.h" 9 10namespace gfx { 11class Rect; 12} 13 14namespace mojo { 15namespace service { 16 17class ServerView; 18 19class MOJO_VIEW_MANAGER_EXPORT ServerViewDelegate { 20 public: 21 // Invoked at the end of the View's destructor (after it has been removed from 22 // the hierarchy). 23 virtual void OnViewDestroyed(const ServerView* view) = 0; 24 25 virtual void OnWillChangeViewHierarchy(const ServerView* view, 26 const ServerView* new_parent, 27 const ServerView* old_parent) = 0; 28 29 virtual void OnViewHierarchyChanged(const ServerView* view, 30 const ServerView* new_parent, 31 const ServerView* old_parent) = 0; 32 33 virtual void OnViewBoundsChanged(const ServerView* view, 34 const gfx::Rect& old_bounds, 35 const gfx::Rect& new_bounds) = 0; 36 37 virtual void OnViewSurfaceIdChanged(const ServerView* view) = 0; 38 39 virtual void OnWillChangeViewVisibility(const ServerView* view) = 0; 40 41 protected: 42 virtual ~ServerViewDelegate() {} 43}; 44 45} // namespace service 46} // namespace mojo 47 48#endif // MOJO_SERVICES_VIEW_MANAGER_SERVER_VIEW_DELEGATE_H_ 49