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

Side by Side Diff: src/animator/SkDrawGradient.cpp

Issue 1772463002: use Make instead of Create to return a shared shader (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: partial update of skia call-sites Created 4 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
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 "SkDrawGradient.h" 10 #include "SkDrawGradient.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 } 119 }
120 120
121 #ifdef SK_DUMP_ENABLED 121 #ifdef SK_DUMP_ENABLED
122 void SkDrawLinearGradient::dump(SkAnimateMaker* maker) { 122 void SkDrawLinearGradient::dump(SkAnimateMaker* maker) {
123 dumpBase(maker); 123 dumpBase(maker);
124 dumpRest(maker); 124 dumpRest(maker);
125 } 125 }
126 #endif 126 #endif
127 127
128 SkShader* SkDrawLinearGradient::getShader() { 128 SkShader* SkDrawLinearGradient::getShader() {
129 if (addPrelude() == 0 || points.count() != 4) 129 if (addPrelude() == 0 || points.count() != 4) {
130 return nullptr; 130 return nullptr;
131 SkShader* shader = SkGradientShader::CreateLinear((SkPoint*)points.begin(), 131 }
132 return SkGradientShader::MakeLinear((SkPoint*)points.begin(),
132 fColors.begin(), offsets.begin(), fColors.count(), (SkShader::TileMode) tileMode, 133 fColors.begin(), offsets.begin(), fColors.count(), (SkShader::TileMode) tileMode,
133 0, getMatrix()); 134 0, getMatrix()).release();
134 SkAutoTDelete<SkShader> autoDel(shader);
mtklein 2016/03/08 14:55:15 Was this just pointless?
reed1 2016/03/08 15:15:19 I think so
135 (void)autoDel.detach();
136 return shader;
137 } 135 }
138 136
139 137
140 #if SK_USE_CONDENSED_INFO == 0 138 #if SK_USE_CONDENSED_INFO == 0
141 139
142 const SkMemberInfo SkDrawRadialGradient::fInfo[] = { 140 const SkMemberInfo SkDrawRadialGradient::fInfo[] = {
143 SK_MEMBER_INHERITED, 141 SK_MEMBER_INHERITED,
144 SK_MEMBER(center, Point), 142 SK_MEMBER(center, Point),
145 SK_MEMBER(radius, Float) 143 SK_MEMBER(radius, Float)
146 }; 144 };
147 145
148 #endif 146 #endif
149 147
150 DEFINE_GET_MEMBER(SkDrawRadialGradient); 148 DEFINE_GET_MEMBER(SkDrawRadialGradient);
151 149
152 SkDrawRadialGradient::SkDrawRadialGradient() : radius(0) { 150 SkDrawRadialGradient::SkDrawRadialGradient() : radius(0) {
153 center.set(0, 0); 151 center.set(0, 0);
154 } 152 }
155 153
156 #ifdef SK_DUMP_ENABLED 154 #ifdef SK_DUMP_ENABLED
157 void SkDrawRadialGradient::dump(SkAnimateMaker* maker) { 155 void SkDrawRadialGradient::dump(SkAnimateMaker* maker) {
158 dumpBase(maker); 156 dumpBase(maker);
159 dumpRest(maker); 157 dumpRest(maker);
160 } 158 }
161 #endif 159 #endif
162 160
163 SkShader* SkDrawRadialGradient::getShader() { 161 SkShader* SkDrawRadialGradient::getShader() {
164 if (addPrelude() == 0) 162 if (addPrelude() == 0) {
165 return nullptr; 163 return nullptr;
166 SkShader* shader = SkGradientShader::CreateRadial(center, 164 }
165 return SkGradientShader::MakeRadial(center,
167 radius, fColors.begin(), offsets.begin(), fColors.count(), (SkShader::Ti leMode) tileMode, 166 radius, fColors.begin(), offsets.begin(), fColors.count(), (SkShader::Ti leMode) tileMode,
168 0, getMatrix()); 167 0, getMatrix()).release();
169 SkAutoTDelete<SkShader> autoDel(shader);
170 (void)autoDel.detach();
171 return shader;
172 } 168 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698