1 // Copyright 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 CONTENT_PUBLIC_BROWSER_ANDROID_COMPOSITOR_CLIENT_H_ 6 #define CONTENT_PUBLIC_BROWSER_ANDROID_COMPOSITOR_CLIENT_H_ 7 8 #include "content/common/content_export.h" 9 10 namespace content { 11 12 class CONTENT_EXPORT CompositorClient { 13 public: 14 // Tells the client that it should schedule a composite. 15 virtual void ScheduleComposite() = 0; 16 17 // The compositor has completed swapping a frame. OnSwapBuffersCompleted()18 virtual void OnSwapBuffersCompleted() {} 19 20 // The compositor will eventually swap a frame. OnSwapBuffersPosted()21 virtual void OnSwapBuffersPosted() {} 22 23 // Tells the client that GL resources were lost and need to be reinitialized. DidLoseResources()24 virtual void DidLoseResources() {} 25 26 // Tells the client that UI resources were lost and need to be reinitialized. DidLoseUIResources()27 virtual void DidLoseUIResources() {} 28 29 // Mark the UI Resources as being invalid for use. UIResourcesAreInvalid()30 virtual void UIResourcesAreInvalid() {} 31 32 protected: CompositorClient()33 CompositorClient() {} ~CompositorClient()34 virtual ~CompositorClient() {} 35 36 private: 37 DISALLOW_COPY_AND_ASSIGN(CompositorClient); 38 }; 39 40 } // namespace content 41 42 #endif // CONTENT_PUBLIC_BROWSER_ANDROID_COMPOSITOR_CLIENT_H_ 43