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

Side by Side Diff: Source/platform/graphics/GraphicsContext.h

Issue 1052873003: Explicitly use SkPaint(s) in SVGShapePainter (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 8 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2008-2009 Torch Mobile, Inc. 3 * Copyright (C) 2008-2009 Torch Mobile, Inc.
4 * Copyright (C) 2013 Google Inc. All rights reserved. 4 * Copyright (C) 2013 Google Inc. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 189
190 // These draw methods will do both stroking and filling. 190 // These draw methods will do both stroking and filling.
191 // FIXME: ...except drawRect(), which fills properly but always strokes 191 // FIXME: ...except drawRect(), which fills properly but always strokes
192 // using a 1-pixel stroke inset from the rect borders (of the correct 192 // using a 1-pixel stroke inset from the rect borders (of the correct
193 // stroke color). 193 // stroke color).
194 void drawRect(const IntRect&); 194 void drawRect(const IntRect&);
195 void drawLine(const IntPoint&, const IntPoint&); 195 void drawLine(const IntPoint&, const IntPoint&);
196 196
197 void fillPolygon(size_t numPoints, const FloatPoint*, const Color&, bool sho uldAntialias); 197 void fillPolygon(size_t numPoints, const FloatPoint*, const Color&, bool sho uldAntialias);
198 198
199 void fillPath(const Path&); 199 void fillPath(const Path&, const SkPaint* = nullptr);
fs 2015/04/02 15:01:47 This is a bit ugly, and only really to avoid addin
f(malita) 2015/04/02 15:23:00 Since the stroke/fill trait is specified on the Sk
fs 2015/04/07 12:03:56 Using the suggestion below.
200 void strokePath(const Path&); 200 void strokePath(const Path&, const SkPaint* = nullptr);
201 201
202 void fillEllipse(const FloatRect&); 202 void fillEllipse(const FloatRect&, const SkPaint* = nullptr);
203 void strokeEllipse(const FloatRect&); 203 void strokeEllipse(const FloatRect&, const SkPaint* = nullptr);
204 204
205 void fillRect(const FloatRect&); 205 void fillRect(const FloatRect&, const SkPaint* = nullptr);
206 void fillRect(const FloatRect&, const Color&, SkXfermode::Mode = SkXfermode: :kSrcOver_Mode); 206 void fillRect(const FloatRect&, const Color&, SkXfermode::Mode = SkXfermode: :kSrcOver_Mode);
207 void fillRoundedRect(const FloatRect&, const FloatSize& topLeft, const Float Size& topRight, const FloatSize& bottomLeft, const FloatSize& bottomRight, const Color&); 207 void fillRoundedRect(const FloatRect&, const FloatSize& topLeft, const Float Size& topRight, const FloatSize& bottomLeft, const FloatSize& bottomRight, const Color&);
208 void fillRoundedRect(const FloatRoundedRect&, const Color&); 208 void fillRoundedRect(const FloatRoundedRect&, const Color&);
209 209
210 void clearRect(const FloatRect&); 210 void clearRect(const FloatRect&);
211 211
212 void strokeRect(const FloatRect&); 212 void strokeRect(const FloatRect&);
213 void strokeRect(const FloatRect&, float lineWidth); 213 void strokeRect(const FloatRect&, float lineWidth);
214 void strokeRect(const FloatRect&, const SkPaint&);
f(malita) 2015/04/02 15:31:57 Same comment for fill/strokeRect -> drawRect fill
214 215
215 void fillBetweenRoundedRects(const FloatRect&, const FloatSize& outerTopLeft , const FloatSize& outerTopRight, const FloatSize& outerBottomLeft, const FloatS ize& outerBottomRight, 216 void fillBetweenRoundedRects(const FloatRect&, const FloatSize& outerTopLeft , const FloatSize& outerTopRight, const FloatSize& outerBottomLeft, const FloatS ize& outerBottomRight,
216 const FloatRect&, const FloatSize& innerTopLeft, const FloatSize& innerT opRight, const FloatSize& innerBottomLeft, const FloatSize& innerBottomRight, co nst Color&); 217 const FloatRect&, const FloatSize& innerTopLeft, const FloatSize& innerT opRight, const FloatSize& innerBottomLeft, const FloatSize& innerBottomRight, co nst Color&);
217 void fillBetweenRoundedRects(const FloatRoundedRect&, const FloatRoundedRect &, const Color&); 218 void fillBetweenRoundedRects(const FloatRoundedRect&, const FloatRoundedRect &, const Color&);
218 219
219 void drawPicture(const SkPicture*); 220 void drawPicture(const SkPicture*);
220 void compositePicture(SkPicture*, const FloatRect& dest, const FloatRect& sr c, SkXfermode::Mode); 221 void compositePicture(SkPicture*, const FloatRect& dest, const FloatRect& sr c, SkXfermode::Mode);
221 222
222 void drawImage(Image*, const IntPoint&, SkXfermode::Mode = SkXfermode::kSrcO ver_Mode, RespectImageOrientationEnum = DoNotRespectImageOrientation); 223 void drawImage(Image*, const IntPoint&, SkXfermode::Mode = SkXfermode::kSrcO ver_Mode, RespectImageOrientationEnum = DoNotRespectImageOrientation);
223 void drawImage(Image*, const IntRect&, SkXfermode::Mode = SkXfermode::kSrcOv er_Mode, RespectImageOrientationEnum = DoNotRespectImageOrientation); 224 void drawImage(Image*, const IntRect&, SkXfermode::Mode = SkXfermode::kSrcOv er_Mode, RespectImageOrientationEnum = DoNotRespectImageOrientation);
224 void drawImage(Image*, const FloatRect& destRect, const FloatRect& srcRect, SkXfermode::Mode = SkXfermode::kSrcOver_Mode, RespectImageOrientationEnum = DoNo tRespectImageOrientation); 225 void drawImage(Image*, const FloatRect& destRect, const FloatRect& srcRect, SkXfermode::Mode = SkXfermode::kSrcOver_Mode, RespectImageOrientationEnum = DoNo tRespectImageOrientation);
225 226
226 void drawTiledImage(Image*, const IntRect& destRect, const IntPoint& srcPoin t, const IntSize& tileSize, 227 void drawTiledImage(Image*, const IntRect& destRect, const IntPoint& srcPoin t, const IntSize& tileSize,
227 SkXfermode::Mode = SkXfermode::kSrcOver_Mode, const IntSize& repeatSpaci ng = IntSize()); 228 SkXfermode::Mode = SkXfermode::kSrcOver_Mode, const IntSize& repeatSpaci ng = IntSize());
228 void drawTiledImage(Image*, const IntRect& destRect, const IntRect& srcRect, 229 void drawTiledImage(Image*, const IntRect& destRect, const IntRect& srcRect,
229 const FloatSize& tileScaleFactor, Image::TileRule hRule = Image::Stretch Tile, Image::TileRule vRule = Image::StretchTile, 230 const FloatSize& tileScaleFactor, Image::TileRule hRule = Image::Stretch Tile, Image::TileRule vRule = Image::StretchTile,
230 SkXfermode::Mode = SkXfermode::kSrcOver_Mode); 231 SkXfermode::Mode = SkXfermode::kSrcOver_Mode);
231 232
232 void drawImageBuffer(ImageBuffer*, const FloatRect& destRect, const FloatRec t* srcRect = 0, SkXfermode::Mode = SkXfermode::kSrcOver_Mode); 233 void drawImageBuffer(ImageBuffer*, const FloatRect& destRect, const FloatRec t* srcRect = 0, SkXfermode::Mode = SkXfermode::kSrcOver_Mode);
233 234
234 // These methods write to the canvas. 235 // These methods write to the canvas.
235 // Also drawLine(const IntPoint& point1, const IntPoint& point2) and fillRou ndedRect 236 // Also drawLine(const IntPoint& point1, const IntPoint& point2) and fillRou ndedRect
236 void writePixels(const SkImageInfo&, const void* pixels, size_t rowBytes, in t x, int y); 237 void writePixels(const SkImageInfo&, const void* pixels, size_t rowBytes, in t x, int y);
237 void drawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkP aint* = 0); 238 void drawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkP aint* = 0);
238 void drawOval(const SkRect&, const SkPaint&); 239 void drawOval(const SkRect&, const SkPaint&);
239 void drawPath(const SkPath&, const SkPaint&); 240 void drawPath(const SkPath&, const SkPaint&);
f(malita) 2015/04/02 15:23:01 ... except we already have an SkPath version! :)
fs 2015/04/03 18:19:44 So many methods...
fs 2015/04/07 12:03:56 Using these three.
f(malita) 2015/04/07 12:44:30 Hopefully we get rid of all the fill/stroke varian
240 void drawRect(const SkRect&, const SkPaint&); 241 void drawRect(const SkRect&, const SkPaint&);
241 242
242 void clip(const IntRect& rect) { clipRect(rect); } 243 void clip(const IntRect& rect) { clipRect(rect); }
243 void clip(const FloatRect& rect) { clipRect(rect); } 244 void clip(const FloatRect& rect) { clipRect(rect); }
244 void clipRoundedRect(const FloatRoundedRect&, SkRegion::Op = SkRegion::kInte rsect_Op); 245 void clipRoundedRect(const FloatRoundedRect&, SkRegion::Op = SkRegion::kInte rsect_Op);
245 void clipOut(const IntRect& rect) { clipRect(rect, NotAntiAliased, SkRegion: :kDifference_Op); } 246 void clipOut(const IntRect& rect) { clipRect(rect, NotAntiAliased, SkRegion: :kDifference_Op); }
246 void clipOut(const FloatRect& rect) { clipRect(rect, NotAntiAliased, SkRegio n::kDifference_Op); } 247 void clipOut(const FloatRect& rect) { clipRect(rect, NotAntiAliased, SkRegio n::kDifference_Op); }
247 void clipOut(const Path&); 248 void clipOut(const Path&);
248 void clipOutRoundedRect(const FloatRoundedRect&); 249 void clipOutRoundedRect(const FloatRoundedRect&);
249 void clipPath(const Path&, WindRule = RULE_EVENODD, AntiAliasingMode = AntiA liased); 250 void clipPath(const Path&, WindRule = RULE_EVENODD, AntiAliasingMode = AntiA liased);
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 float m_deviceScaleFactor; 452 float m_deviceScaleFactor;
452 453
453 unsigned m_accelerated : 1; 454 unsigned m_accelerated : 1;
454 unsigned m_printing : 1; 455 unsigned m_printing : 1;
455 unsigned m_antialiasHairlineImages : 1; 456 unsigned m_antialiasHairlineImages : 1;
456 }; 457 };
457 458
458 } // namespace blink 459 } // namespace blink
459 460
460 #endif // GraphicsContext_h 461 #endif // GraphicsContext_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698