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

Side by Side Diff: src/core/SkXfermode.cpp

Issue 13334011: Add Xfermode bench. Also clear before rendering in bench (rather than after). (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 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
« bench/XfermodeBench.cpp ('K') | « include/core/SkXfermode.h ('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 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 #include "SkXfermode.h" 10 #include "SkXfermode.h"
(...skipping 1089 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 buffer.write32(fMode); 1100 buffer.write32(fMode);
1101 } 1101 }
1102 1102
1103 private: 1103 private:
1104 Mode fMode; 1104 Mode fMode;
1105 Coeff fSrcCoeff, fDstCoeff; 1105 Coeff fSrcCoeff, fDstCoeff;
1106 1106
1107 typedef SkProcXfermode INHERITED; 1107 typedef SkProcXfermode INHERITED;
1108 }; 1108 };
1109 1109
1110 const char* SkXfermode::ModeName(Mode mode) {
1111 SkASSERT((unsigned) mode <= (unsigned)kLastMode);
1112 const char* gModeStrings[] = {
1113 "Clear", "Src", "Dst", "SrcOver", "DstOver", "SrcIn", "DstIn",
1114 "SrcOut", "DstOut", "SrcATop", "DstATop", "Xor", "Plus",
1115 "Modulate", "Screen", "Overlay", "Darken", "Lighten", "ColorDodge",
1116 "ColorBurn", "HardLight", "SoftLight", "Difference", "Exclusion",
1117 "Multiply", "Hue", "Saturation", "Color", "Luminosity"
1118 };
1119 return gModeStrings[mode];
1120 SK_COMPILE_ASSERT(SK_ARRAY_COUNT(gModeStrings) == kLastMode + 1, mode_count) ;
1121 }
1122
1110 #ifdef SK_DEVELOPER 1123 #ifdef SK_DEVELOPER
1111 void SkProcCoeffXfermode::toString(SkString* str) const { 1124 void SkProcCoeffXfermode::toString(SkString* str) const {
1112 str->append("SkProcCoeffXfermode: "); 1125 str->append("SkProcCoeffXfermode: ");
1113 1126
1114 const char *gModeStrings[kLastMode+1] = {
1115 "Clear", "Src", "Dst", "SrcOver", "DstOver", "SrcIn", "DstIn",
1116 "SrcOut", "DstOut", "SrcATop", "DstATop", "Xor", "Plus",
1117 "Modulate", "Screen", "Overlay", "Darken", "Lighten", "ColorDodge",
1118 "ColorBurn", "HardLight", "SoftLight", "Difference", "Exclusion"
1119 };
1120
1121 str->append("mode: "); 1127 str->append("mode: ");
1122 str->append(gModeStrings[fMode]); 1128 str->append(ModeName(fMode));
1123 1129
1124 static const char* gCoeffStrings[kCoeffCount] = { 1130 static const char* gCoeffStrings[kCoeffCount] = {
1125 "Zero", "One", "SC", "ISC", "DC", "IDC", "SA", "ISA", "DA", "IDA" 1131 "Zero", "One", "SC", "ISC", "DC", "IDC", "SA", "ISA", "DA", "IDA"
1126 }; 1132 };
1127 1133
1128 str->append(" src: "); 1134 str->append(" src: ");
1129 if (CANNOT_USE_COEFF == fSrcCoeff) { 1135 if (CANNOT_USE_COEFF == fSrcCoeff) {
1130 str->append("can't use"); 1136 str->append("can't use");
1131 } else { 1137 } else {
1132 str->append(gCoeffStrings[fSrcCoeff]); 1138 str->append(gCoeffStrings[fSrcCoeff]);
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
1612 return proc16; 1618 return proc16;
1613 } 1619 }
1614 1620
1615 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode) 1621 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode)
1616 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode) 1622 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode)
1617 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkClearXfermode) 1623 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkClearXfermode)
1618 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode) 1624 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode)
1619 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode) 1625 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode)
1620 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode) 1626 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode)
1621 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END 1627 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
OLDNEW
« bench/XfermodeBench.cpp ('K') | « include/core/SkXfermode.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698