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

Side by Side Diff: ui/gfx/canvas_skia.cc

Issue 8681001: Revert 111288 - Possibly broke media_unittests on Mac (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 1 month 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 | « ui/gfx/canvas_skia.h ('k') | ui/gfx/canvas_skia_win.cc » ('j') | 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) 2011 The Chromium Authors. All rights reserved. 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 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 "ui/gfx/canvas_skia.h" 5 #include "ui/gfx/canvas_skia.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 FillRect(color, rect, SkXfermode::kSrcOver_Mode); 126 FillRect(color, rect, SkXfermode::kSrcOver_Mode);
127 } 127 }
128 128
129 void CanvasSkia::FillRect(const SkColor& color, 129 void CanvasSkia::FillRect(const SkColor& color,
130 const gfx::Rect& rect, 130 const gfx::Rect& rect,
131 SkXfermode::Mode mode) { 131 SkXfermode::Mode mode) {
132 SkPaint paint; 132 SkPaint paint;
133 paint.setColor(color); 133 paint.setColor(color);
134 paint.setStyle(SkPaint::kFill_Style); 134 paint.setStyle(SkPaint::kFill_Style);
135 paint.setXfermodeMode(mode); 135 paint.setXfermodeMode(mode);
136 DrawRect(rect, paint); 136 DrawRectInt(rect.x(), rect.y(), rect.width(), rect.height(), paint);
137 } 137 }
138 138
139 void CanvasSkia::FillRect(const gfx::Brush* brush, const gfx::Rect& rect) { 139 void CanvasSkia::FillRect(const gfx::Brush* brush, const gfx::Rect& rect) {
140 const SkiaShader* shader = static_cast<const SkiaShader*>(brush); 140 const SkiaShader* shader = static_cast<const SkiaShader*>(brush);
141 SkPaint paint; 141 SkPaint paint;
142 paint.setShader(shader->shader()); 142 paint.setShader(shader->shader());
143 // TODO(beng): set shader transform to match canvas transform. 143 // TODO(beng): set shader transform to match canvas transform.
144 DrawRect(rect, paint); 144 DrawRectInt(rect.x(), rect.y(), rect.width(), rect.height(), paint);
145 } 145 }
146 146
147 void CanvasSkia::DrawRect(const gfx::Rect& rect, const SkColor& color) { 147 void CanvasSkia::DrawRectInt(const SkColor& color, int x, int y, int w, int h) {
148 DrawRect(rect, color, SkXfermode::kSrcOver_Mode); 148 DrawRectInt(color, x, y, w, h, SkXfermode::kSrcOver_Mode);
149 } 149 }
150 150
151 void CanvasSkia::DrawRect(const gfx::Rect& rect, 151 void CanvasSkia::DrawRectInt(const SkColor& color,
152 const SkColor& color, 152 int x, int y, int w, int h,
153 SkXfermode::Mode mode) { 153 SkXfermode::Mode mode) {
154 SkPaint paint; 154 SkPaint paint;
155 paint.setColor(color); 155 paint.setColor(color);
156 paint.setStyle(SkPaint::kStroke_Style); 156 paint.setStyle(SkPaint::kStroke_Style);
157 // Set a stroke width of 0, which will put us down the stroke rect path. If 157 // Set a stroke width of 0, which will put us down the stroke rect path. If
158 // we set a stroke width of 1, for example, this will internally create a 158 // we set a stroke width of 1, for example, this will internally create a
159 // path and fill it, which causes problems near the edge of the canvas. 159 // path and fill it, which causes problems near the edge of the canvas.
160 paint.setStrokeWidth(SkIntToScalar(0)); 160 paint.setStrokeWidth(SkIntToScalar(0));
161 paint.setXfermodeMode(mode); 161 paint.setXfermodeMode(mode);
162 162
163 DrawRect(rect, paint); 163 DrawRectInt(x, y, w, h, paint);
164 } 164 }
165 165
166 void CanvasSkia::DrawRect(const gfx::Rect& rect, const SkPaint& paint) { 166 void CanvasSkia::DrawRectInt(int x, int y, int w, int h, const SkPaint& paint) {
167 canvas_->drawIRect(RectToSkIRect(rect), paint); 167 SkIRect rc = { x, y, x + w, y + h };
168 canvas_->drawIRect(rc, paint);
168 } 169 }
169 170
170 void CanvasSkia::DrawLineInt(const SkColor& color, 171 void CanvasSkia::DrawLineInt(const SkColor& color,
171 int x1, int y1, 172 int x1, int y1,
172 int x2, int y2) { 173 int x2, int y2) {
173 SkPaint paint; 174 SkPaint paint;
174 paint.setColor(color); 175 paint.setColor(color);
175 paint.setStrokeWidth(SkIntToScalar(1)); 176 paint.setStrokeWidth(SkIntToScalar(1));
176 canvas_->drawLine(SkIntToScalar(x1), SkIntToScalar(y1), SkIntToScalar(x2), 177 canvas_->drawLine(SkIntToScalar(x1), SkIntToScalar(y1), SkIntToScalar(x2),
177 SkIntToScalar(y2), paint); 178 SkIntToScalar(y2), paint);
(...skipping 28 matching lines...) Expand all
206 // shader is refcounted and will have an initial refcount of 1. 207 // shader is refcounted and will have an initial refcount of 1.
207 SkShader* shader = SkShader::CreateBitmapShader( 208 SkShader* shader = SkShader::CreateBitmapShader(
208 *dots, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode); 209 *dots, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);
209 // Assign the shader to the paint & release our reference. The paint will 210 // Assign the shader to the paint & release our reference. The paint will
210 // now own the shader and the shader will be destroyed when the paint goes 211 // now own the shader and the shader will be destroyed when the paint goes
211 // out of scope. 212 // out of scope.
212 SkPaint paint; 213 SkPaint paint;
213 paint.setShader(shader); 214 paint.setShader(shader);
214 shader->unref(); 215 shader->unref();
215 216
216 DrawRect(gfx::Rect(rect.x(), rect.y(), rect.width(), 1), paint); 217 DrawRectInt(rect.x(), rect.y(), rect.width(), 1, paint);
217 DrawRect(gfx::Rect(rect.x(), rect.y() + rect.height() - 1, rect.width(), 1), 218 DrawRectInt(rect.x(), rect.y() + rect.height() - 1, rect.width(), 1, paint);
218 paint); 219 DrawRectInt(rect.x(), rect.y(), 1, rect.height(), paint);
219 DrawRect(gfx::Rect(rect.x(), rect.y(), 1, rect.height()), paint); 220 DrawRectInt(rect.x() + rect.width() - 1, rect.y(), 1, rect.height(), paint);
220 DrawRect(gfx::Rect(rect.x() + rect.width() - 1, rect.y(), 1, rect.height()),
221 paint);
222 } 221 }
223 222
224 void CanvasSkia::DrawBitmapInt(const SkBitmap& bitmap, int x, int y) { 223 void CanvasSkia::DrawBitmapInt(const SkBitmap& bitmap, int x, int y) {
225 canvas_->drawBitmap(bitmap, SkIntToScalar(x), SkIntToScalar(y)); 224 canvas_->drawBitmap(bitmap, SkIntToScalar(x), SkIntToScalar(y));
226 } 225 }
227 226
228 void CanvasSkia::DrawBitmapInt(const SkBitmap& bitmap, 227 void CanvasSkia::DrawBitmapInt(const SkBitmap& bitmap,
229 int x, int y, 228 int x, int y,
230 const SkPaint& paint) { 229 const SkPaint& paint) {
231 canvas_->drawBitmap(bitmap, SkIntToScalar(x), SkIntToScalar(y), &paint); 230 canvas_->drawBitmap(bitmap, SkIntToScalar(x), SkIntToScalar(y), &paint);
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 412
414 CanvasPaint* CanvasPaint::CreateCanvasPaint(gfx::NativeView view) { 413 CanvasPaint* CanvasPaint::CreateCanvasPaint(gfx::NativeView view) {
415 #if defined(OS_WIN) && !defined(USE_AURA) 414 #if defined(OS_WIN) && !defined(USE_AURA)
416 return new CanvasPaintWin(view); 415 return new CanvasPaintWin(view);
417 #else 416 #else
418 return NULL; 417 return NULL;
419 #endif 418 #endif
420 } 419 }
421 420
422 } // namespace gfx 421 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gfx/canvas_skia.h ('k') | ui/gfx/canvas_skia_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698