1 // Copyright 2012 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 CC_TEST_FAKE_LAYER_TREE_HOST_CLIENT_H_ 6 #define CC_TEST_FAKE_LAYER_TREE_HOST_CLIENT_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "cc/input/input_handler.h" 10 #include "cc/test/fake_context_provider.h" 11 #include "cc/test/fake_output_surface.h" 12 #include "cc/trees/layer_tree_host.h" 13 14 namespace cc { 15 16 class FakeLayerTreeHostClient : public LayerTreeHostClient { 17 public: 18 enum RendererOptions { 19 DIRECT_3D, 20 DIRECT_SOFTWARE, 21 DELEGATED_3D, 22 DELEGATED_SOFTWARE 23 }; 24 explicit FakeLayerTreeHostClient(RendererOptions options); 25 virtual ~FakeLayerTreeHostClient(); 26 27 virtual void WillBeginFrame() OVERRIDE {} 28 virtual void DidBeginFrame() OVERRIDE {} 29 virtual void Animate(double frame_begin_time) OVERRIDE {} 30 virtual void Layout() OVERRIDE {} 31 virtual void ApplyScrollAndScale(gfx::Vector2d scroll_delta, 32 float page_scale) OVERRIDE {} 33 34 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) OVERRIDE; 35 virtual void DidInitializeOutputSurface(bool success) OVERRIDE {} 36 virtual void WillCommit() OVERRIDE {} 37 virtual void DidCommit() OVERRIDE {} 38 virtual void DidCommitAndDrawFrame() OVERRIDE {} 39 virtual void DidCompleteSwapBuffers() OVERRIDE {} 40 41 // Used only in the single-threaded path. 42 virtual void ScheduleComposite() OVERRIDE {} 43 44 virtual scoped_refptr<cc::ContextProvider> 45 OffscreenContextProviderForMainThread() OVERRIDE; 46 virtual scoped_refptr<cc::ContextProvider> 47 OffscreenContextProviderForCompositorThread() OVERRIDE; 48 49 private: 50 bool use_software_rendering_; 51 bool use_delegating_renderer_; 52 53 scoped_refptr<FakeContextProvider> main_thread_contexts_; 54 scoped_refptr<FakeContextProvider> compositor_thread_contexts_; 55 }; 56 57 } // namespace cc 58 59 #endif // CC_TEST_FAKE_LAYER_TREE_HOST_CLIENT_H_ 60