1// Copyright (c) 2011 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// A render model simulator for the original model used in Chromium.
6
7#ifndef GPU_TOOLS_COMPOSITOR_MODEL_BENCH_FORWARD_RENDER_MODEL_H_
8#define GPU_TOOLS_COMPOSITOR_MODEL_BENCH_FORWARD_RENDER_MODEL_H_
9
10#include "base/basictypes.h"
11#include "base/memory/scoped_ptr.h"
12#include "gpu/tools/compositor_model_bench/render_model_utils.h"
13#include "gpu/tools/compositor_model_bench/render_models.h"
14
15class ForwardRenderNodeVisitor;
16
17class ForwardRenderSimulator : public RenderModelSimulator {
18 public:
19  explicit ForwardRenderSimulator(RenderNode* root,
20                                  int window_width,
21                                  int window_height);
22  virtual ~ForwardRenderSimulator() OVERRIDE;
23  virtual void Update() OVERRIDE;
24  virtual void Resize(int width, int height) OVERRIDE;
25
26 private:
27  scoped_ptr<ForwardRenderNodeVisitor> visitor_;
28  scoped_ptr<TextureGenerator> textures_;
29
30  DISALLOW_IMPLICIT_CONSTRUCTORS(ForwardRenderSimulator);
31};
32
33#endif  // GPU_TOOLS_COMPOSITOR_MODEL_BENCH_FORWARD_RENDER_MODEL_H_
34
35