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 CC_SCHEDULER_SCHEDULER_SETTINGS_H_ 6 #define CC_SCHEDULER_SCHEDULER_SETTINGS_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "base/values.h" 10 #include "cc/base/cc_export.h" 11 12 namespace cc { 13 class LayerTreeSettings; 14 15 class CC_EXPORT SchedulerSettings { 16 public: 17 SchedulerSettings(); 18 explicit SchedulerSettings(const LayerTreeSettings& settings); 19 ~SchedulerSettings(); 20 21 bool begin_frame_scheduling_enabled; 22 bool main_frame_before_draw_enabled; 23 bool main_frame_before_activation_enabled; 24 bool impl_side_painting; 25 bool timeout_and_draw_when_animation_checkerboards; 26 int maximum_number_of_failed_draws_before_draw_is_forced_; 27 bool using_synchronous_renderer_compositor; 28 bool throttle_frame_production; 29 30 scoped_ptr<base::Value> AsValue() const; 31 }; 32 33 } // namespace cc 34 35 #endif // CC_SCHEDULER_SCHEDULER_SETTINGS_H_ 36