Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Side by Side Diff: webkit/plugins/ppapi/ppb_flash_impl.cc

Issue 11428099: Use skia::RefPtr in place of manual ref-counting for Skia types. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_widget.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/plugins/ppapi/ppb_flash_impl.h" 5 #include "webkit/plugins/ppapi/ppb_flash_impl.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/time.h" 10 #include "base/time.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 87
88 // Set up the typeface. 88 // Set up the typeface.
89 StringVar* face_name = StringVar::FromPPVar(font_desc->face); 89 StringVar* face_name = StringVar::FromPPVar(font_desc->face);
90 if (!face_name) 90 if (!face_name)
91 return PP_FALSE; 91 return PP_FALSE;
92 int style = SkTypeface::kNormal; 92 int style = SkTypeface::kNormal;
93 if (font_desc->weight >= PP_FONTWEIGHT_BOLD) 93 if (font_desc->weight >= PP_FONTWEIGHT_BOLD)
94 style |= SkTypeface::kBold; 94 style |= SkTypeface::kBold;
95 if (font_desc->italic) 95 if (font_desc->italic)
96 style |= SkTypeface::kItalic; 96 style |= SkTypeface::kItalic;
97 SkTypeface* typeface = 97 skia::RefPtr<SkTypeface> typeface = skia::AdoptRef(
98 SkTypeface::CreateFromName(face_name->value().c_str(), 98 SkTypeface::CreateFromName(face_name->value().c_str(),
99 static_cast<SkTypeface::Style>(style)); 99 static_cast<SkTypeface::Style>(style)));
100 if (!typeface) 100 if (!typeface)
101 return PP_FALSE; 101 return PP_FALSE;
102 SkAutoUnref aur(typeface);
103 102
104 // Set up the canvas. 103 // Set up the canvas.
105 SkCanvas* canvas = image_resource->GetPlatformCanvas(); 104 SkCanvas* canvas = image_resource->GetPlatformCanvas();
106 SkAutoCanvasRestore acr(canvas, true); 105 SkAutoCanvasRestore acr(canvas, true);
107 106
108 // Clip is applied in pixels before the transform. 107 // Clip is applied in pixels before the transform.
109 SkRect clip_rect = { SkIntToScalar(clip->point.x), 108 SkRect clip_rect = { SkIntToScalar(clip->point.x),
110 SkIntToScalar(clip->point.y), 109 SkIntToScalar(clip->point.y),
111 SkIntToScalar(clip->point.x + clip->size.width), 110 SkIntToScalar(clip->point.x + clip->size.width),
112 SkIntToScalar(clip->point.y + clip->size.height) }; 111 SkIntToScalar(clip->point.y + clip->size.height) };
(...skipping 11 matching lines...) Expand all
124 matrix.set(SkMatrix::kMPersp1, SkFloatToScalar(transformation[2][1])); 123 matrix.set(SkMatrix::kMPersp1, SkFloatToScalar(transformation[2][1]));
125 matrix.set(SkMatrix::kMPersp2, SkFloatToScalar(transformation[2][2])); 124 matrix.set(SkMatrix::kMPersp2, SkFloatToScalar(transformation[2][2]));
126 canvas->concat(matrix); 125 canvas->concat(matrix);
127 126
128 SkPaint paint; 127 SkPaint paint;
129 paint.setColor(color); 128 paint.setColor(color);
130 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); 129 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
131 paint.setAntiAlias(true); 130 paint.setAntiAlias(true);
132 paint.setHinting(SkPaint::kFull_Hinting); 131 paint.setHinting(SkPaint::kFull_Hinting);
133 paint.setTextSize(SkIntToScalar(font_desc->size)); 132 paint.setTextSize(SkIntToScalar(font_desc->size));
134 paint.setTypeface(typeface); // Takes a ref and manages lifetime. 133 paint.setTypeface(typeface.get()); // Takes a ref and manages lifetime.
135 if (allow_subpixel_aa) { 134 if (allow_subpixel_aa) {
136 paint.setSubpixelText(true); 135 paint.setSubpixelText(true);
137 paint.setLCDRenderText(true); 136 paint.setLCDRenderText(true);
138 } 137 }
139 138
140 SkScalar x = SkIntToScalar(position->x); 139 SkScalar x = SkIntToScalar(position->x);
141 SkScalar y = SkIntToScalar(position->y); 140 SkScalar y = SkIntToScalar(position->y);
142 141
143 // Build up the skia advances. 142 // Build up the skia advances.
144 if (glyph_count == 0) 143 if (glyph_count == 0)
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 return PP_TRUE; 466 return PP_TRUE;
468 } 467 }
469 468
470 PP_Bool PPB_Flash_Impl::FlashGetScreenSize(PP_Instance instance, 469 PP_Bool PPB_Flash_Impl::FlashGetScreenSize(PP_Instance instance,
471 PP_Size* size) { 470 PP_Size* size) {
472 return instance_->GetScreenSize(instance, size); 471 return instance_->GetScreenSize(instance, size);
473 } 472 }
474 473
475 } // namespace ppapi 474 } // namespace ppapi
476 } // namespace webkit 475 } // namespace webkit
OLDNEW
« no previous file with comments | « content/renderer/render_widget.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698