OLD | NEW |
(Empty) | |
| 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 CC_TEST_MOCK_OCCLUSION_TRACKER_H_ |
| 6 #define CC_TEST_MOCK_OCCLUSION_TRACKER_H_ |
| 7 |
| 8 #include "cc/trees/occlusion_tracker.h" |
| 9 |
| 10 namespace cc { |
| 11 |
| 12 template <typename LayerType> |
| 13 class MockOcclusionTracker : public OcclusionTracker<LayerType> { |
| 14 // This class is used for testing only. It fakes just enough information to |
| 15 // calculate unoccluded content rect and unoccluded contributing surface |
| 16 // content rect. It calls the helper function of occlusion tracker to avoid |
| 17 // DCHECKs since testing environment won't be set up properly to pass those. |
| 18 public: |
| 19 MockOcclusionTracker() |
| 20 : OcclusionTracker<LayerType>(gfx::Rect(0, 0, 1000, 1000)) { |
| 21 typename OcclusionTracker<LayerType>::StackObject stack_obj; |
| 22 OcclusionTracker<LayerType>::stack_.push_back(stack_obj); |
| 23 OcclusionTracker<LayerType>::stack_.push_back(stack_obj); |
| 24 } |
| 25 |
| 26 explicit MockOcclusionTracker(const gfx::Rect& screen_scissor_rect) |
| 27 : OcclusionTracker<LayerType>(screen_scissor_rect) { |
| 28 typename OcclusionTracker<LayerType>::StackObject stack_obj; |
| 29 OcclusionTracker<LayerType>::stack_.push_back(stack_obj); |
| 30 OcclusionTracker<LayerType>::stack_.push_back(stack_obj); |
| 31 } |
| 32 |
| 33 void set_occluded_target_rect(const gfx::Rect& occluded) { |
| 34 OcclusionTracker<LayerType>::stack_.back().occlusion_from_inside_target = |
| 35 occluded; |
| 36 } |
| 37 |
| 38 void set_occluded_target_rect_for_contributing_surface( |
| 39 const gfx::Rect& occluded) { |
| 40 OcclusionTracker< |
| 41 LayerType>::stack_[OcclusionTracker<LayerType>::stack_.size() - 2] |
| 42 .occlusion_from_inside_target = occluded; |
| 43 } |
| 44 |
| 45 private: |
| 46 DISALLOW_COPY_AND_ASSIGN(MockOcclusionTracker); |
| 47 }; |
| 48 |
| 49 } // namespace cc |
| 50 |
| 51 #endif // CC_TEST_MOCK_OCCLUSION_TRACKER_H_ |
OLD | NEW |