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

Side by Side Diff: include/core/SkCanvas.h

Issue 269693003: SkClipStack::Element tweaks. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 6 years, 7 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
« no previous file with comments | « no previous file | include/core/SkClipStack.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkCanvas_DEFINED 8 #ifndef SkCanvas_DEFINED
9 #define SkCanvas_DEFINED 9 #define SkCanvas_DEFINED
10 10
(...skipping 15 matching lines...) Expand all
26 //#define SK_SUPPORT_LEGACY_GETTOTALCLIP 26 //#define SK_SUPPORT_LEGACY_GETTOTALCLIP
27 //#define SK_SUPPORT_LEGACY_GETTOPDEVICE 27 //#define SK_SUPPORT_LEGACY_GETTOPDEVICE
28 28
29 //#define SK_SUPPORT_LEGACY_DRAWTEXT_VIRTUAL 29 //#define SK_SUPPORT_LEGACY_DRAWTEXT_VIRTUAL
30 #ifdef SK_SUPPORT_LEGACY_DRAWTEXT_VIRTUAL 30 #ifdef SK_SUPPORT_LEGACY_DRAWTEXT_VIRTUAL
31 #define SK_LEGACY_DRAWTEXT_VIRTUAL virtual 31 #define SK_LEGACY_DRAWTEXT_VIRTUAL virtual
32 #else 32 #else
33 #define SK_LEGACY_DRAWTEXT_VIRTUAL 33 #define SK_LEGACY_DRAWTEXT_VIRTUAL
34 #endif 34 #endif
35 35
36 class SkCanvasClipVisitor;
36 class SkBounder; 37 class SkBounder;
37 class SkBaseDevice; 38 class SkBaseDevice;
38 class SkDraw; 39 class SkDraw;
39 class SkDrawFilter; 40 class SkDrawFilter;
40 class SkMetaData; 41 class SkMetaData;
41 class SkPicture; 42 class SkPicture;
42 class SkRRect; 43 class SkRRect;
43 class SkSurface; 44 class SkSurface;
44 class SkSurface_Base; 45 class SkSurface_Base;
45 class GrContext; 46 class GrContext;
(...skipping 1096 matching lines...) Expand 10 before | Expand all | Expand 10 after
1142 1143
1143 /** Return the clip stack. The clip stack stores all the individual 1144 /** Return the clip stack. The clip stack stores all the individual
1144 * clips organized by the save/restore frame in which they were 1145 * clips organized by the save/restore frame in which they were
1145 * added. 1146 * added.
1146 * @return the current clip stack ("list" of individual clip elements) 1147 * @return the current clip stack ("list" of individual clip elements)
1147 */ 1148 */
1148 const SkClipStack* getClipStack() const { 1149 const SkClipStack* getClipStack() const {
1149 return &fClipStack; 1150 return &fClipStack;
1150 } 1151 }
1151 1152
1152 class ClipVisitor { 1153 typedef SkCanvasClipVisitor ClipVisitor;
1153 public:
1154 virtual ~ClipVisitor();
1155 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0;
1156 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0 ;
1157 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0;
1158 };
1159
1160 /** 1154 /**
1161 * Replays the clip operations, back to front, that have been applied to 1155 * Replays the clip operations, back to front, that have been applied to
1162 * the canvas, calling the appropriate method on the visitor for each 1156 * the canvas, calling the appropriate method on the visitor for each
1163 * clip. All clips have already been transformed into device space. 1157 * clip. All clips have already been transformed into device space.
1164 */ 1158 */
1165 void replayClips(ClipVisitor*) const; 1159 void replayClips(ClipVisitor*) const;
1166 1160
1167 /////////////////////////////////////////////////////////////////////////// 1161 ///////////////////////////////////////////////////////////////////////////
1168 1162
1169 /** After calling saveLayer(), there can be any number of devices that make 1163 /** After calling saveLayer(), there can be any number of devices that make
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
1496 // that the bitmap may reference the address returned by peekPixels(), so 1490 // that the bitmap may reference the address returned by peekPixels(), so
1497 // the caller must respect the restrictions associated with peekPixels(). 1491 // the caller must respect the restrictions associated with peekPixels().
1498 bool asROBitmap(SkBitmap*) const; 1492 bool asROBitmap(SkBitmap*) const;
1499 1493
1500 private: 1494 private:
1501 SkBitmap fBitmap; // used if peekPixels() fails 1495 SkBitmap fBitmap; // used if peekPixels() fails
1502 const void* fAddr; // NULL on failure 1496 const void* fAddr; // NULL on failure
1503 SkImageInfo fInfo; 1497 SkImageInfo fInfo;
1504 size_t fRowBytes; 1498 size_t fRowBytes;
1505 }; 1499 };
1506 1500
robertphillips 2014/05/02 12:35:38 I know this isn't due to this CL but, why isn't cl
f(malita) 2014/05/02 12:59:26 You just put your finger on my biggest concern: Sk
1501 class SkCanvasClipVisitor {
1502 public:
1503 virtual ~SkCanvasClipVisitor();
1504 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0;
1505 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0;
1506 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0;
1507 };
1508
1507 #endif 1509 #endif
OLDNEW
« no previous file with comments | « no previous file | include/core/SkClipStack.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698