Update V8 to version 4.7.42.
[chromium-blink-merge.git] / cc / raster / gpu_rasterizer.h
blob76e8639869c88c1ab9ff0ce10e92364b9d202610
1 // Copyright 2015 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.
5 #ifndef CC_RASTER_GPU_RASTERIZER_H_
6 #define CC_RASTER_GPU_RASTERIZER_H_
8 #include <vector>
10 #include "cc/base/cc_export.h"
11 #include "cc/resources/resource_pool.h"
12 #include "cc/tiles/tile.h"
13 #include "third_party/skia/include/core/SkMultiPictureDraw.h"
15 namespace cc {
17 class ContextProvider;
18 class ResourceProvider;
19 class RasterSource;
21 class CC_EXPORT GpuRasterizer {
22 public:
23 ~GpuRasterizer();
25 void RasterizeSource(ResourceProvider::ScopedWriteLockGr* write_lock,
26 const RasterSource* raster_source,
27 const gfx::Rect& raster_full_rect,
28 const gfx::Rect& playback_rect,
29 float scale);
31 ResourceProvider* resource_provider() { return resource_provider_; }
33 private:
34 GpuRasterizer(ContextProvider* context_provider,
35 ResourceProvider* resource_provider,
36 bool use_distance_filed_text,
37 int msaa_sample_count);
39 ResourceProvider* resource_provider_;
41 bool use_distance_field_text_;
42 int msaa_sample_count_;
44 friend class GpuTileTaskWorkerPool;
45 DISALLOW_COPY_AND_ASSIGN(GpuRasterizer);
48 } // namespace cc
50 #endif // CC_RASTER_GPU_RASTERIZER_H_