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

Side by Side Diff: src/effects/SkColorMatrix.cpp

Issue 85463005: remove SkFloatToScalar macro (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: add flag to expose SkFloatToScalar to chromium Created 7 years 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 | « src/effects/SkBlurMaskFilter.cpp ('k') | src/effects/SkDisplacementMapEffect.cpp » ('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 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 "SkColorMatrix.h" 8 #include "SkColorMatrix.h"
9 #include "SkFlattenableBuffers.h" 9 #include "SkFlattenableBuffers.h"
10 10
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 } 101 }
102 102
103 /////////////////////////////////////////////////////////////////////////////// 103 ///////////////////////////////////////////////////////////////////////////////
104 104
105 static void setrow(SkScalar row[], SkScalar r, SkScalar g, SkScalar b) { 105 static void setrow(SkScalar row[], SkScalar r, SkScalar g, SkScalar b) {
106 row[0] = r; 106 row[0] = r;
107 row[1] = g; 107 row[1] = g;
108 row[2] = b; 108 row[2] = b;
109 } 109 }
110 110
111 static const SkScalar kHueR = SkFloatToScalar(0.213f); 111 static const SkScalar kHueR = 0.213f;
112 static const SkScalar kHueG = SkFloatToScalar(0.715f); 112 static const SkScalar kHueG = 0.715f;
113 static const SkScalar kHueB = SkFloatToScalar(0.072f); 113 static const SkScalar kHueB = 0.072f;
114 114
115 void SkColorMatrix::setSaturation(SkScalar sat) { 115 void SkColorMatrix::setSaturation(SkScalar sat) {
116 memset(fMat, 0, sizeof(fMat)); 116 memset(fMat, 0, sizeof(fMat));
117 117
118 const SkScalar R = SkScalarMul(kHueR, SK_Scalar1 - sat); 118 const SkScalar R = SkScalarMul(kHueR, SK_Scalar1 - sat);
119 const SkScalar G = SkScalarMul(kHueG, SK_Scalar1 - sat); 119 const SkScalar G = SkScalarMul(kHueG, SK_Scalar1 - sat);
120 const SkScalar B = SkScalarMul(kHueB, SK_Scalar1 - sat); 120 const SkScalar B = SkScalarMul(kHueB, SK_Scalar1 - sat);
121 121
122 setrow(fMat + 0, R + sat, G, B); 122 setrow(fMat + 0, R + sat, G, B);
123 setrow(fMat + 5, R, G + sat, B); 123 setrow(fMat + 5, R, G + sat, B);
124 setrow(fMat + 10, R, G, B + sat); 124 setrow(fMat + 10, R, G, B + sat);
125 fMat[18] = SK_Scalar1; 125 fMat[18] = SK_Scalar1;
126 } 126 }
127 127
128 static const SkScalar kR2Y = SkFloatToScalar(0.299f); 128 static const SkScalar kR2Y = 0.299f;
129 static const SkScalar kG2Y = SkFloatToScalar(0.587f); 129 static const SkScalar kG2Y = 0.587f;
130 static const SkScalar kB2Y = SkFloatToScalar(0.114f); 130 static const SkScalar kB2Y = 0.114f;
131 131
132 static const SkScalar kR2U = SkFloatToScalar(-0.16874f); 132 static const SkScalar kR2U = -0.16874f;
133 static const SkScalar kG2U = SkFloatToScalar(-0.33126f); 133 static const SkScalar kG2U = -0.33126f;
134 static const SkScalar kB2U = SkFloatToScalar(0.5f); 134 static const SkScalar kB2U = 0.5f;
135 135
136 static const SkScalar kR2V = SkFloatToScalar(0.5f); 136 static const SkScalar kR2V = 0.5f;
137 static const SkScalar kG2V = SkFloatToScalar(-0.41869f); 137 static const SkScalar kG2V = -0.41869f;
138 static const SkScalar kB2V = SkFloatToScalar(-0.08131f); 138 static const SkScalar kB2V = -0.08131f;
139 139
140 void SkColorMatrix::setRGB2YUV() { 140 void SkColorMatrix::setRGB2YUV() {
141 memset(fMat, 0, sizeof(fMat)); 141 memset(fMat, 0, sizeof(fMat));
142 142
143 setrow(fMat + 0, kR2Y, kG2Y, kB2Y); 143 setrow(fMat + 0, kR2Y, kG2Y, kB2Y);
144 setrow(fMat + 5, kR2U, kG2U, kB2U); 144 setrow(fMat + 5, kR2U, kG2U, kB2U);
145 setrow(fMat + 10, kR2V, kG2V, kB2V); 145 setrow(fMat + 10, kR2V, kG2V, kB2V);
146 fMat[18] = SK_Scalar1; 146 fMat[18] = SK_Scalar1;
147 } 147 }
148 148
149 static const SkScalar kV2R = SkFloatToScalar(1.402f); 149 static const SkScalar kV2R = 1.402f;
150 static const SkScalar kU2G = SkFloatToScalar(-0.34414f); 150 static const SkScalar kU2G = -0.34414f;
151 static const SkScalar kV2G = SkFloatToScalar(-0.71414f); 151 static const SkScalar kV2G = -0.71414f;
152 static const SkScalar kU2B = SkFloatToScalar(1.772f); 152 static const SkScalar kU2B = 1.772f;
153 153
154 void SkColorMatrix::setYUV2RGB() { 154 void SkColorMatrix::setYUV2RGB() {
155 memset(fMat, 0, sizeof(fMat)); 155 memset(fMat, 0, sizeof(fMat));
156 156
157 setrow(fMat + 0, SK_Scalar1, 0, kV2R); 157 setrow(fMat + 0, SK_Scalar1, 0, kV2R);
158 setrow(fMat + 5, SK_Scalar1, kU2G, kV2G); 158 setrow(fMat + 5, SK_Scalar1, kU2G, kV2G);
159 setrow(fMat + 10, SK_Scalar1, kU2B, 0); 159 setrow(fMat + 10, SK_Scalar1, kU2B, 0);
160 fMat[18] = SK_Scalar1; 160 fMat[18] = SK_Scalar1;
161 } 161 }
OLDNEW
« no previous file with comments | « src/effects/SkBlurMaskFilter.cpp ('k') | src/effects/SkDisplacementMapEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698