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

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

Issue 197763008: Allow toString capability to be toggled independent of developer mode (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: remove gyp changes Created 6 years, 9 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 | « include/core/SkTypes.h ('k') | include/effects/SkAvoidXfermode.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 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkXfermode_DEFINED 10 #ifndef SkXfermode_DEFINED
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 (effect). This helper calls the asCoeff() and asNewEffect() virtuals. If the xfermode is 204 (effect). This helper calls the asCoeff() and asNewEffect() virtuals. If the xfermode is
205 NULL, it is treated as kSrcOver_Mode. It is legal to call this with all params NULL to 205 NULL, it is treated as kSrcOver_Mode. It is legal to call this with all params NULL to
206 simply test the return value. effect, src, and dst must all be NULL or all non-NULL. 206 simply test the return value. effect, src, and dst must all be NULL or all non-NULL.
207 */ 207 */
208 static bool AsNewEffectOrCoeff(SkXfermode*, 208 static bool AsNewEffectOrCoeff(SkXfermode*,
209 GrEffectRef** effect, 209 GrEffectRef** effect,
210 Coeff* src, 210 Coeff* src,
211 Coeff* dst, 211 Coeff* dst,
212 GrTexture* background = NULL); 212 GrTexture* background = NULL);
213 213
214 SkDEVCODE(virtual void toString(SkString* str) const = 0;) 214 SK_TO_STRING_PUREVIRT()
215 SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() 215 SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
216 SK_DEFINE_FLATTENABLE_TYPE(SkXfermode) 216 SK_DEFINE_FLATTENABLE_TYPE(SkXfermode)
217 217
218 protected: 218 protected:
219 SkXfermode(SkReadBuffer& rb) : SkFlattenable(rb) {} 219 SkXfermode(SkReadBuffer& rb) : SkFlattenable(rb) {}
220 220
221 /** The default implementation of xfer32/xfer16/xferA8 in turn call this 221 /** The default implementation of xfer32/xfer16/xferA8 in turn call this
222 method, 1 color at a time (upscaled to a SkPMColor). The default 222 method, 1 color at a time (upscaled to a SkPMColor). The default
223 implmentation of this method just returns dst. If performance is 223 implmentation of this method just returns dst. If performance is
224 important, your subclass should override xfer32/xfer16/xferA8 directly. 224 important, your subclass should override xfer32/xfer16/xferA8 directly.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 } 258 }
259 259
260 // overrides from SkXfermode 260 // overrides from SkXfermode
261 virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count, 261 virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count,
262 const SkAlpha aa[]) const SK_OVERRIDE; 262 const SkAlpha aa[]) const SK_OVERRIDE;
263 virtual void xfer16(uint16_t dst[], const SkPMColor src[], int count, 263 virtual void xfer16(uint16_t dst[], const SkPMColor src[], int count,
264 const SkAlpha aa[]) const SK_OVERRIDE; 264 const SkAlpha aa[]) const SK_OVERRIDE;
265 virtual void xferA8(SkAlpha dst[], const SkPMColor src[], int count, 265 virtual void xferA8(SkAlpha dst[], const SkPMColor src[], int count,
266 const SkAlpha aa[]) const SK_OVERRIDE; 266 const SkAlpha aa[]) const SK_OVERRIDE;
267 267
268 SK_DEVELOPER_TO_STRING() 268 SK_TO_STRING_OVERRIDE()
269 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcXfermode) 269 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcXfermode)
270 270
271 protected: 271 protected:
272 SkProcXfermode(SkReadBuffer&); 272 SkProcXfermode(SkReadBuffer&);
273 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; 273 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
274 274
275 // allow subclasses to update this after we unflatten 275 // allow subclasses to update this after we unflatten
276 void setProc(SkXfermodeProc proc) { 276 void setProc(SkXfermodeProc proc) {
277 fProc = proc; 277 fProc = proc;
278 } 278 }
279 279
280 SkXfermodeProc getProc() const { 280 SkXfermodeProc getProc() const {
281 return fProc; 281 return fProc;
282 } 282 }
283 283
284 #ifdef SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS 284 #ifdef SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS
285 public: 285 public:
286 #endif 286 #endif
287 SkProcXfermode(SkXfermodeProc proc) : fProc(proc) {} 287 SkProcXfermode(SkXfermodeProc proc) : fProc(proc) {}
288 288
289 private: 289 private:
290 SkXfermodeProc fProc; 290 SkXfermodeProc fProc;
291 291
292 typedef SkXfermode INHERITED; 292 typedef SkXfermode INHERITED;
293 }; 293 };
294 294
295 #endif 295 #endif
OLDNEW
« no previous file with comments | « include/core/SkTypes.h ('k') | include/effects/SkAvoidXfermode.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698