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

Side by Side Diff: gm/xfermodes.cpp

Issue 22918012: Add luminance mask transfer modes. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 4 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 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
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 #include "gm.h" 8 #include "gm.h"
9 #include "SkBitmap.h" 9 #include "SkBitmap.h"
10 #include "SkShader.h" 10 #include "SkShader.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 const static int W = 64; 71 const static int W = 64;
72 const static int H = 64; 72 const static int H = 64;
73 XfermodesGM() {} 73 XfermodesGM() {}
74 74
75 protected: 75 protected:
76 virtual SkString onShortName() { 76 virtual SkString onShortName() {
77 return SkString("xfermodes"); 77 return SkString("xfermodes");
78 } 78 }
79 79
80 virtual SkISize onISize() { 80 virtual SkISize onISize() {
81 return make_isize(790, 640); 81 return make_isize(790, 680);
82 } 82 }
83 83
84 virtual void onDraw(SkCanvas* canvas) { 84 virtual void onDraw(SkCanvas* canvas) {
85 canvas->translate(SkIntToScalar(10), SkIntToScalar(20)); 85 canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
86 86
87 const struct { 87 const struct {
88 SkXfermode::Mode fMode; 88 SkXfermode::Mode fMode;
89 const char* fLabel; 89 const char* fLabel;
90 } gModes[] = { 90 } gModes[] = {
91 { SkXfermode::kClear_Mode, "Clear" }, 91 { SkXfermode::kClear_Mode, "Clear" },
(...skipping 19 matching lines...) Expand all
111 { SkXfermode::kColorBurn_Mode, "ColorBurn" }, 111 { SkXfermode::kColorBurn_Mode, "ColorBurn" },
112 { SkXfermode::kHardLight_Mode, "HardLight" }, 112 { SkXfermode::kHardLight_Mode, "HardLight" },
113 { SkXfermode::kSoftLight_Mode, "SoftLight" }, 113 { SkXfermode::kSoftLight_Mode, "SoftLight" },
114 { SkXfermode::kDifference_Mode, "Difference" }, 114 { SkXfermode::kDifference_Mode, "Difference" },
115 { SkXfermode::kExclusion_Mode, "Exclusion" }, 115 { SkXfermode::kExclusion_Mode, "Exclusion" },
116 { SkXfermode::kMultiply_Mode, "Multiply" }, 116 { SkXfermode::kMultiply_Mode, "Multiply" },
117 { SkXfermode::kHue_Mode, "Hue" }, 117 { SkXfermode::kHue_Mode, "Hue" },
118 { SkXfermode::kSaturation_Mode, "Saturation" }, 118 { SkXfermode::kSaturation_Mode, "Saturation" },
119 { SkXfermode::kColor_Mode, "Color" }, 119 { SkXfermode::kColor_Mode, "Color" },
120 { SkXfermode::kLuminosity_Mode, "Luminosity" }, 120 { SkXfermode::kLuminosity_Mode, "Luminosity" },
121 { SkXfermode::kSrcInLum_Mode, "SrcInLum" },
122 { SkXfermode::kDstInLum_Mode, "DstInLum" },
121 }; 123 };
122 124
123 const SkScalar w = SkIntToScalar(W); 125 const SkScalar w = SkIntToScalar(W);
124 const SkScalar h = SkIntToScalar(H); 126 const SkScalar h = SkIntToScalar(H);
125 SkShader* s = SkShader::CreateBitmapShader(fBG, 127 SkShader* s = SkShader::CreateBitmapShader(fBG,
126 SkShader::kRepeat_TileMode, 128 SkShader::kRepeat_TileMode,
127 SkShader::kRepeat_TileMode); 129 SkShader::kRepeat_TileMode);
128 SkMatrix m; 130 SkMatrix m;
129 m.setScale(SkIntToScalar(6), SkIntToScalar(6)); 131 m.setScale(SkIntToScalar(6), SkIntToScalar(6));
130 s->setLocalMatrix(m); 132 s->setLocalMatrix(m);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 private: 178 private:
177 typedef GM INHERITED; 179 typedef GM INHERITED;
178 }; 180 };
179 181
180 ////////////////////////////////////////////////////////////////////////////// 182 //////////////////////////////////////////////////////////////////////////////
181 183
182 static GM* MyFactory(void*) { return new XfermodesGM; } 184 static GM* MyFactory(void*) { return new XfermodesGM; }
183 static GMRegistry reg(MyFactory); 185 static GMRegistry reg(MyFactory);
184 186
185 } 187 }
OLDNEW
« no previous file with comments | « bench/XfermodeBench.cpp ('k') | gm/xfermodes2.cpp » ('j') | include/core/SkXfermode.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698