Index: gpu/skia_runner/sk_picture_rasterizer.h |
diff --git a/gpu/skia_runner/sk_picture_rasterizer.h b/gpu/skia_runner/sk_picture_rasterizer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..380bfa0de06a6394355c23ce33ba15368962d4e4 |
--- /dev/null |
+++ b/gpu/skia_runner/sk_picture_rasterizer.h |
@@ -0,0 +1,40 @@ |
+// Copyright (c) 2015 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. |
+ |
+#include "base/memory/scoped_ptr.h" |
+#include "gpu/command_buffer/client/gl_in_process_context.h" |
+#include "skia/ext/refptr.h" |
+#include "third_party/skia/include/core/SkPicture.h" |
+#include "third_party/skia/include/gpu/GrContext.h" |
+ |
+namespace skia_runner { |
+ |
+class SkPictureRasterizer { |
+ public: |
+ SkPictureRasterizer(skia::RefPtr<GrContext> gr_context, int max_texture_size); |
+ ~SkPictureRasterizer(); |
+ |
+ skia::RefPtr<SkImage> Rasterize(const SkPicture* picture) const; |
+ |
+ void set_msaa_sample_count(int msaa_sample_count) { |
+ msaa_sample_count_ = msaa_sample_count; |
+ } |
+ void set_use_lcd_text(bool use_lcd_text) { use_lcd_text_ = use_lcd_text; } |
+ void set_use_distance_field_text(bool use_distance_field_text) { |
+ use_distance_field_text_ = use_distance_field_text; |
+ } |
+ |
+ private: |
+ skia::RefPtr<SkImage> RasterizeTile(const SkPicture* picture, |
+ const SkRect& rect) const; |
+ |
+ bool use_lcd_text_; |
+ bool use_distance_field_text_; |
+ int msaa_sample_count_; |
+ |
+ int max_texture_size_; |
+ skia::RefPtr<GrContext> gr_context_; |
+}; |
+ |
+} // namespace skia_runner |