// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CC_OUTPUT_RENDERER_SETTINGS_H_
#define CC_OUTPUT_RENDERER_SETTINGS_H_

#include "base/basictypes.h"

namespace cc {

class RendererSettings {
 public:
  RendererSettings();
  ~RendererSettings();

  bool allow_antialiasing;
  bool force_antialiasing;
  bool force_blending_with_shaders;
  bool partial_swap_enabled;
  bool finish_rendering_on_resize;
  bool should_clear_root_render_pass;
  double refresh_rate;
  int highp_threshold_min;
  bool use_rgba_4444_textures;
  size_t texture_id_allocation_chunk_size;
};

}  // namespace cc

#endif  // CC_OUTPUT_RENDERER_SETTINGS_H_
