Chromium Code Reviews| Index: cc/resources/resource_provider.cc |
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc |
| index 3ce8d6361ee257e22c49c7b9203656a9e8b29dba..4da3f7faf88f06321d41a067a764e6b5c97f2636 100644 |
| --- a/cc/resources/resource_provider.cc |
| +++ b/cc/resources/resource_provider.cc |
| @@ -431,8 +431,11 @@ bool ResourceProvider::RasterBuffer::UnlockForWrite() { |
| ResourceProvider::DirectRasterBuffer::DirectRasterBuffer( |
| const Resource* resource, |
| - ResourceProvider* resource_provider) |
| - : RasterBuffer(resource, resource_provider), surface_generation_id_(0u) {} |
| + ResourceProvider* resource_provider, |
| + bool use_distance_field_text ) |
| + : RasterBuffer(resource, resource_provider), |
| + use_distance_field_text_(use_distance_field_text), |
| + surface_generation_id_(0u) {} |
| ResourceProvider::DirectRasterBuffer::~DirectRasterBuffer() {} |
| @@ -466,8 +469,11 @@ skia::RefPtr<SkSurface> ResourceProvider::DirectRasterBuffer::CreateSurface() { |
| desc.fTextureHandle = resource()->gl_id; |
| skia::RefPtr<GrTexture> gr_texture = |
| skia::AdoptRef(gr_context->wrapBackendTexture(desc)); |
| - surface = skia::AdoptRef( |
| - SkSurface::NewRenderTargetDirect(gr_texture->asRenderTarget())); |
| + SkSurface::TextRenderMode trm = |
|
alokp
2014/05/06 18:41:11
nit: style guide does not like abbreviations.
jvanverth1
2014/05/06 20:09:39
Done.
|
| + use_distance_field_text_ ? SkSurface::kDistanceField_TextRenderMode |
| + : SkSurface::kStandard_TextRenderMode; |
| + surface = skia::AdoptRef(SkSurface::NewRenderTargetDirect( |
| + gr_texture->asRenderTarget(), trm)); |
| } |
| break; |
| } |
| @@ -592,13 +598,15 @@ scoped_ptr<ResourceProvider> ResourceProvider::Create( |
| SharedBitmapManager* shared_bitmap_manager, |
| int highp_threshold_min, |
| bool use_rgba_4444_texture_format, |
| - size_t id_allocation_chunk_size) { |
| + size_t id_allocation_chunk_size, |
| + bool use_distance_field_text) { |
| scoped_ptr<ResourceProvider> resource_provider( |
| new ResourceProvider(output_surface, |
| shared_bitmap_manager, |
| highp_threshold_min, |
| use_rgba_4444_texture_format, |
| - id_allocation_chunk_size)); |
| + id_allocation_chunk_size, |
| + use_distance_field_text)); |
| if (resource_provider->ContextGL()) |
| resource_provider->InitializeGL(); |
| @@ -1247,7 +1255,8 @@ ResourceProvider::ResourceProvider(OutputSurface* output_surface, |
| SharedBitmapManager* shared_bitmap_manager, |
| int highp_threshold_min, |
| bool use_rgba_4444_texture_format, |
| - size_t id_allocation_chunk_size) |
| + size_t id_allocation_chunk_size, |
| + bool use_distance_field_text) |
| : output_surface_(output_surface), |
| shared_bitmap_manager_(shared_bitmap_manager), |
| lost_output_surface_(false), |
| @@ -1262,7 +1271,8 @@ ResourceProvider::ResourceProvider(OutputSurface* output_surface, |
| best_texture_format_(RGBA_8888), |
| use_rgba_4444_texture_format_(use_rgba_4444_texture_format), |
| id_allocation_chunk_size_(id_allocation_chunk_size), |
| - use_sync_query_(false) { |
| + use_sync_query_(false), |
| + use_distance_field_text_(use_distance_field_text) { |
| DCHECK(output_surface_->HasClient()); |
| DCHECK(id_allocation_chunk_size_); |
| } |
| @@ -1757,7 +1767,7 @@ SkCanvas* ResourceProvider::MapDirectRasterBuffer(ResourceId id) { |
| Resource* resource = GetResource(id); |
| if (!resource->direct_raster_buffer.get()) { |
| resource->direct_raster_buffer.reset( |
| - new DirectRasterBuffer(resource, this)); |
| + new DirectRasterBuffer(resource, this, use_distance_field_text_)); |
| } |
| return resource->direct_raster_buffer->LockForWrite(); |
| } |