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

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

Issue 778453002: Remove backend factories (Closed) Base URL: https://skia.googlesource.com/skia.git@unichoice
Patch Set: more clang warnings Created 6 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
« no previous file with comments | « src/effects/SkDisplacementMapEffect.cpp ('k') | src/effects/SkLumaColorFilter.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 * Copyright 2012 The Android Open Source Project 2 * Copyright 2012 The Android Open Source Project
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkLightingImageFilter.h" 8 #include "SkLightingImageFilter.h"
9 #include "SkBitmap.h" 9 #include "SkBitmap.h"
10 #include "SkColorPriv.h" 10 #include "SkColorPriv.h"
11 #include "SkReadBuffer.h" 11 #include "SkReadBuffer.h"
12 #include "SkWriteBuffer.h" 12 #include "SkWriteBuffer.h"
13 #include "SkReadBuffer.h" 13 #include "SkReadBuffer.h"
14 #include "SkWriteBuffer.h" 14 #include "SkWriteBuffer.h"
15 #include "SkTypes.h" 15 #include "SkTypes.h"
16 16
17 #if SK_SUPPORT_GPU 17 #if SK_SUPPORT_GPU
18 #include "GrFragmentProcessor.h"
19 #include "GrInvariantOutput.h"
18 #include "effects/GrSingleTextureEffect.h" 20 #include "effects/GrSingleTextureEffect.h"
19 #include "gl/GrGLProcessor.h" 21 #include "gl/GrGLProcessor.h"
20 #include "gl/builders/GrGLProgramBuilder.h" 22 #include "gl/builders/GrGLProgramBuilder.h"
21 #include "GrFragmentProcessor.h"
22 #include "GrInvariantOutput.h"
23 #include "GrTBackendProcessorFactory.h"
24 23
25 class GrGLDiffuseLightingEffect; 24 class GrGLDiffuseLightingEffect;
26 class GrGLSpecularLightingEffect; 25 class GrGLSpecularLightingEffect;
27 26
28 // For brevity 27 // For brevity
29 typedef GrGLProgramDataManager::UniformHandle UniformHandle; 28 typedef GrGLProgramDataManager::UniformHandle UniformHandle;
30 #endif 29 #endif
31 30
32 namespace { 31 namespace {
33 32
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 SkScalar surfaceScale, 366 SkScalar surfaceScale,
368 const SkMatrix& matrix, 367 const SkMatrix& matrix,
369 SkScalar kd) { 368 SkScalar kd) {
370 return SkNEW_ARGS(GrDiffuseLightingEffect, (texture, 369 return SkNEW_ARGS(GrDiffuseLightingEffect, (texture,
371 light, 370 light,
372 surfaceScale, 371 surfaceScale,
373 matrix, 372 matrix,
374 kd)); 373 kd));
375 } 374 }
376 375
377 static const char* Name() { return "DiffuseLighting"; } 376 virtual const char* name() const SK_OVERRIDE { return "DiffuseLighting"; }
378 377
379 typedef GrGLDiffuseLightingEffect GLProcessor; 378 virtual void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) cons t SK_OVERRIDE;
380 379
381 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE; 380 virtual GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE;
381
382 SkScalar kd() const { return fKD; } 382 SkScalar kd() const { return fKD; }
383 383
384 private: 384 private:
385 virtual bool onIsEqual(const GrFragmentProcessor&) const SK_OVERRIDE; 385 virtual bool onIsEqual(const GrFragmentProcessor&) const SK_OVERRIDE;
386 386
387 GrDiffuseLightingEffect(GrTexture* texture, 387 GrDiffuseLightingEffect(GrTexture* texture,
388 const SkLight* light, 388 const SkLight* light,
389 SkScalar surfaceScale, 389 SkScalar surfaceScale,
390 const SkMatrix& matrix, 390 const SkMatrix& matrix,
391 SkScalar kd); 391 SkScalar kd);
(...skipping 11 matching lines...) Expand all
403 const SkMatrix& matrix, 403 const SkMatrix& matrix,
404 SkScalar ks, 404 SkScalar ks,
405 SkScalar shininess) { 405 SkScalar shininess) {
406 return SkNEW_ARGS(GrSpecularLightingEffect, (texture, 406 return SkNEW_ARGS(GrSpecularLightingEffect, (texture,
407 light, 407 light,
408 surfaceScale, 408 surfaceScale,
409 matrix, 409 matrix,
410 ks, 410 ks,
411 shininess)); 411 shininess));
412 } 412 }
413 static const char* Name() { return "SpecularLighting"; }
414 413
415 typedef GrGLSpecularLightingEffect GLProcessor; 414 virtual const char* name() const SK_OVERRIDE { return "SpecularLighting"; }
416 415
417 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE; 416 virtual void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) cons t SK_OVERRIDE;
417
418 virtual GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE;
419
418 SkScalar ks() const { return fKS; } 420 SkScalar ks() const { return fKS; }
419 SkScalar shininess() const { return fShininess; } 421 SkScalar shininess() const { return fShininess; }
420 422
421 private: 423 private:
422 virtual bool onIsEqual(const GrFragmentProcessor&) const SK_OVERRIDE; 424 virtual bool onIsEqual(const GrFragmentProcessor&) const SK_OVERRIDE;
423 425
424 GrSpecularLightingEffect(GrTexture* texture, 426 GrSpecularLightingEffect(GrTexture* texture,
425 const SkLight* light, 427 const SkLight* light,
426 SkScalar surfaceScale, 428 SkScalar surfaceScale,
427 const SkMatrix& matrix, 429 const SkMatrix& matrix,
(...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after
1183 default: 1185 default:
1184 SkFAIL("Unexpected value."); 1186 SkFAIL("Unexpected value.");
1185 return NULL; 1187 return NULL;
1186 } 1188 }
1187 } 1189 }
1188 1190
1189 } 1191 }
1190 1192
1191 class GrGLLightingEffect : public GrGLFragmentProcessor { 1193 class GrGLLightingEffect : public GrGLFragmentProcessor {
1192 public: 1194 public:
1193 GrGLLightingEffect(const GrBackendProcessorFactory&, const GrProcessor&); 1195 GrGLLightingEffect(const GrProcessor&);
1194 virtual ~GrGLLightingEffect(); 1196 virtual ~GrGLLightingEffect();
1195 1197
1196 virtual void emitCode(GrGLFPBuilder*, 1198 virtual void emitCode(GrGLFPBuilder*,
1197 const GrFragmentProcessor&, 1199 const GrFragmentProcessor&,
1198 const char* outputColor, 1200 const char* outputColor,
1199 const char* inputColor, 1201 const char* inputColor,
1200 const TransformedCoordsArray&, 1202 const TransformedCoordsArray&,
1201 const TextureSamplerArray&) SK_OVERRIDE; 1203 const TextureSamplerArray&) SK_OVERRIDE;
1202 1204
1203 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder* b); 1205 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder* b);
(...skipping 11 matching lines...) Expand all
1215 1217
1216 UniformHandle fImageIncrementUni; 1218 UniformHandle fImageIncrementUni;
1217 UniformHandle fSurfaceScaleUni; 1219 UniformHandle fSurfaceScaleUni;
1218 GrGLLight* fLight; 1220 GrGLLight* fLight;
1219 }; 1221 };
1220 1222
1221 /////////////////////////////////////////////////////////////////////////////// 1223 ///////////////////////////////////////////////////////////////////////////////
1222 1224
1223 class GrGLDiffuseLightingEffect : public GrGLLightingEffect { 1225 class GrGLDiffuseLightingEffect : public GrGLLightingEffect {
1224 public: 1226 public:
1225 GrGLDiffuseLightingEffect(const GrBackendProcessorFactory&, const GrProcesso r&); 1227 GrGLDiffuseLightingEffect(const GrProcessor&);
1226 virtual void emitLightFunc(GrGLFPBuilder*, SkString* funcName) SK_OVERRIDE; 1228 virtual void emitLightFunc(GrGLFPBuilder*, SkString* funcName) SK_OVERRIDE;
1227 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE; 1229 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE;
1228 1230
1229 private: 1231 private:
1230 typedef GrGLLightingEffect INHERITED; 1232 typedef GrGLLightingEffect INHERITED;
1231 1233
1232 UniformHandle fKDUni; 1234 UniformHandle fKDUni;
1233 }; 1235 };
1234 1236
1235 /////////////////////////////////////////////////////////////////////////////// 1237 ///////////////////////////////////////////////////////////////////////////////
1236 1238
1237 class GrGLSpecularLightingEffect : public GrGLLightingEffect { 1239 class GrGLSpecularLightingEffect : public GrGLLightingEffect {
1238 public: 1240 public:
1239 GrGLSpecularLightingEffect(const GrBackendProcessorFactory&, const GrProcess or&); 1241 GrGLSpecularLightingEffect(const GrProcessor&);
1240 virtual void emitLightFunc(GrGLFPBuilder*, SkString* funcName) SK_OVERRIDE; 1242 virtual void emitLightFunc(GrGLFPBuilder*, SkString* funcName) SK_OVERRIDE;
1241 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE; 1243 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE;
1242 1244
1243 private: 1245 private:
1244 typedef GrGLLightingEffect INHERITED; 1246 typedef GrGLLightingEffect INHERITED;
1245 1247
1246 UniformHandle fKSUni; 1248 UniformHandle fKSUni;
1247 UniformHandle fShininessUni; 1249 UniformHandle fShininessUni;
1248 }; 1250 };
1249 1251
(...skipping 24 matching lines...) Expand all
1274 } 1276 }
1275 1277
1276 /////////////////////////////////////////////////////////////////////////////// 1278 ///////////////////////////////////////////////////////////////////////////////
1277 1279
1278 GrDiffuseLightingEffect::GrDiffuseLightingEffect(GrTexture* texture, 1280 GrDiffuseLightingEffect::GrDiffuseLightingEffect(GrTexture* texture,
1279 const SkLight* light, 1281 const SkLight* light,
1280 SkScalar surfaceScale, 1282 SkScalar surfaceScale,
1281 const SkMatrix& matrix, 1283 const SkMatrix& matrix,
1282 SkScalar kd) 1284 SkScalar kd)
1283 : INHERITED(texture, light, surfaceScale, matrix), fKD(kd) { 1285 : INHERITED(texture, light, surfaceScale, matrix), fKD(kd) {
1284 } 1286 this->initClassID<GrDiffuseLightingEffect>();
1285
1286 const GrBackendFragmentProcessorFactory& GrDiffuseLightingEffect::getFactory() c onst {
1287 return GrTBackendFragmentProcessorFactory<GrDiffuseLightingEffect>::getInsta nce();
1288 } 1287 }
1289 1288
1290 bool GrDiffuseLightingEffect::onIsEqual(const GrFragmentProcessor& sBase) const { 1289 bool GrDiffuseLightingEffect::onIsEqual(const GrFragmentProcessor& sBase) const {
1291 const GrDiffuseLightingEffect& s = sBase.cast<GrDiffuseLightingEffect>(); 1290 const GrDiffuseLightingEffect& s = sBase.cast<GrDiffuseLightingEffect>();
1292 return INHERITED::onIsEqual(sBase) && 1291 return INHERITED::onIsEqual(sBase) &&
1293 this->kd() == s.kd(); 1292 this->kd() == s.kd();
1294 } 1293 }
1295 1294
1295 void GrDiffuseLightingEffect::getGLProcessorKey(const GrGLCaps& caps,
1296 GrProcessorKeyBuilder* b) const {
1297 GrGLDiffuseLightingEffect::GenKey(*this, caps, b);
1298 }
1299
1300 GrGLFragmentProcessor* GrDiffuseLightingEffect::createGLInstance() const {
1301 return SkNEW_ARGS(GrGLDiffuseLightingEffect, (*this));
1302 }
1303
1296 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrDiffuseLightingEffect); 1304 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrDiffuseLightingEffect);
1297 1305
1298 GrFragmentProcessor* GrDiffuseLightingEffect::TestCreate(SkRandom* random, 1306 GrFragmentProcessor* GrDiffuseLightingEffect::TestCreate(SkRandom* random,
1299 GrContext* context, 1307 GrContext* context,
1300 const GrDrawTargetCaps&, 1308 const GrDrawTargetCaps&,
1301 GrTexture* textures[]) { 1309 GrTexture* textures[]) {
1302 SkScalar surfaceScale = random->nextSScalar1(); 1310 SkScalar surfaceScale = random->nextSScalar1();
1303 SkScalar kd = random->nextUScalar1(); 1311 SkScalar kd = random->nextUScalar1();
1304 SkAutoTUnref<SkLight> light(create_random_light(random)); 1312 SkAutoTUnref<SkLight> light(create_random_light(random));
1305 SkMatrix matrix; 1313 SkMatrix matrix;
1306 for (int i = 0; i < 9; i++) { 1314 for (int i = 0; i < 9; i++) {
1307 matrix[i] = random->nextUScalar1(); 1315 matrix[i] = random->nextUScalar1();
1308 } 1316 }
1309 return GrDiffuseLightingEffect::Create(textures[GrProcessorUnitTest::kAlphaT extureIdx], 1317 return GrDiffuseLightingEffect::Create(textures[GrProcessorUnitTest::kAlphaT extureIdx],
1310 light, surfaceScale, matrix, kd); 1318 light, surfaceScale, matrix, kd);
1311 } 1319 }
1312 1320
1313 1321
1314 /////////////////////////////////////////////////////////////////////////////// 1322 ///////////////////////////////////////////////////////////////////////////////
1315 1323
1316 GrGLLightingEffect::GrGLLightingEffect(const GrBackendProcessorFactory& factory, 1324 GrGLLightingEffect::GrGLLightingEffect(const GrProcessor& fp) {
1317 const GrProcessor& fp)
1318 : INHERITED(factory) {
1319 const GrLightingEffect& m = fp.cast<GrLightingEffect>(); 1325 const GrLightingEffect& m = fp.cast<GrLightingEffect>();
1320 fLight = m.light()->createGLLight(); 1326 fLight = m.light()->createGLLight();
1321 } 1327 }
1322 1328
1323 GrGLLightingEffect::~GrGLLightingEffect() { 1329 GrGLLightingEffect::~GrGLLightingEffect() {
1324 delete fLight; 1330 delete fLight;
1325 } 1331 }
1326 1332
1327 void GrGLLightingEffect::emitCode(GrGLFPBuilder* builder, 1333 void GrGLLightingEffect::emitCode(GrGLFPBuilder* builder,
1328 const GrFragmentProcessor&, 1334 const GrFragmentProcessor&,
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1433 pdman.set2f(fImageIncrementUni, 1.0f / texture->width(), ySign / texture->he ight()); 1439 pdman.set2f(fImageIncrementUni, 1.0f / texture->width(), ySign / texture->he ight());
1434 pdman.set1f(fSurfaceScaleUni, lighting.surfaceScale()); 1440 pdman.set1f(fSurfaceScaleUni, lighting.surfaceScale());
1435 SkAutoTUnref<SkLight> transformedLight(lighting.light()->transform(lighting. filterMatrix())); 1441 SkAutoTUnref<SkLight> transformedLight(lighting.light()->transform(lighting. filterMatrix()));
1436 fLight->setData(pdman, transformedLight); 1442 fLight->setData(pdman, transformedLight);
1437 } 1443 }
1438 1444
1439 /////////////////////////////////////////////////////////////////////////////// 1445 ///////////////////////////////////////////////////////////////////////////////
1440 1446
1441 /////////////////////////////////////////////////////////////////////////////// 1447 ///////////////////////////////////////////////////////////////////////////////
1442 1448
1443 GrGLDiffuseLightingEffect::GrGLDiffuseLightingEffect(const GrBackendProcessorFac tory& factory, 1449 GrGLDiffuseLightingEffect::GrGLDiffuseLightingEffect(const GrProcessor& proc)
1444 const GrProcessor& proc) 1450 : INHERITED(proc) {
1445 : INHERITED(factory, proc) {
1446 } 1451 }
1447 1452
1448 void GrGLDiffuseLightingEffect::emitLightFunc(GrGLFPBuilder* builder, SkString* funcName) { 1453 void GrGLDiffuseLightingEffect::emitLightFunc(GrGLFPBuilder* builder, SkString* funcName) {
1449 const char* kd; 1454 const char* kd;
1450 fKDUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, 1455 fKDUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
1451 kFloat_GrSLType, 1456 kFloat_GrSLType,
1452 "KD", 1457 "KD",
1453 &kd); 1458 &kd);
1454 1459
1455 static const GrGLShaderVar gLightArgs[] = { 1460 static const GrGLShaderVar gLightArgs[] = {
(...skipping 23 matching lines...) Expand all
1479 1484
1480 GrSpecularLightingEffect::GrSpecularLightingEffect(GrTexture* texture, 1485 GrSpecularLightingEffect::GrSpecularLightingEffect(GrTexture* texture,
1481 const SkLight* light, 1486 const SkLight* light,
1482 SkScalar surfaceScale, 1487 SkScalar surfaceScale,
1483 const SkMatrix& matrix, 1488 const SkMatrix& matrix,
1484 SkScalar ks, 1489 SkScalar ks,
1485 SkScalar shininess) 1490 SkScalar shininess)
1486 : INHERITED(texture, light, surfaceScale, matrix), 1491 : INHERITED(texture, light, surfaceScale, matrix),
1487 fKS(ks), 1492 fKS(ks),
1488 fShininess(shininess) { 1493 fShininess(shininess) {
1489 } 1494 this->initClassID<GrSpecularLightingEffect>();
1490
1491 const GrBackendFragmentProcessorFactory& GrSpecularLightingEffect::getFactory() const {
1492 return GrTBackendFragmentProcessorFactory<GrSpecularLightingEffect>::getInst ance();
1493 } 1495 }
1494 1496
1495 bool GrSpecularLightingEffect::onIsEqual(const GrFragmentProcessor& sBase) const { 1497 bool GrSpecularLightingEffect::onIsEqual(const GrFragmentProcessor& sBase) const {
1496 const GrSpecularLightingEffect& s = sBase.cast<GrSpecularLightingEffect>(); 1498 const GrSpecularLightingEffect& s = sBase.cast<GrSpecularLightingEffect>();
1497 return INHERITED::onIsEqual(sBase) && 1499 return INHERITED::onIsEqual(sBase) &&
1498 this->ks() == s.ks() && 1500 this->ks() == s.ks() &&
1499 this->shininess() == s.shininess(); 1501 this->shininess() == s.shininess();
1500 } 1502 }
1501 1503
1504 void GrSpecularLightingEffect::getGLProcessorKey(const GrGLCaps& caps,
1505 GrProcessorKeyBuilder* b) const {
1506 GrGLSpecularLightingEffect::GenKey(*this, caps, b);
1507 }
1508
1509 GrGLFragmentProcessor* GrSpecularLightingEffect::createGLInstance() const {
1510 return SkNEW_ARGS(GrGLSpecularLightingEffect, (*this));
1511 }
1512
1502 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSpecularLightingEffect); 1513 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSpecularLightingEffect);
1503 1514
1504 GrFragmentProcessor* GrSpecularLightingEffect::TestCreate(SkRandom* random, 1515 GrFragmentProcessor* GrSpecularLightingEffect::TestCreate(SkRandom* random,
1505 GrContext* context, 1516 GrContext* context,
1506 const GrDrawTargetCaps &, 1517 const GrDrawTargetCaps &,
1507 GrTexture* textures[]) { 1518 GrTexture* textures[]) {
1508 SkScalar surfaceScale = random->nextSScalar1(); 1519 SkScalar surfaceScale = random->nextSScalar1();
1509 SkScalar ks = random->nextUScalar1(); 1520 SkScalar ks = random->nextUScalar1();
1510 SkScalar shininess = random->nextUScalar1(); 1521 SkScalar shininess = random->nextUScalar1();
1511 SkAutoTUnref<SkLight> light(create_random_light(random)); 1522 SkAutoTUnref<SkLight> light(create_random_light(random));
1512 SkMatrix matrix; 1523 SkMatrix matrix;
1513 for (int i = 0; i < 9; i++) { 1524 for (int i = 0; i < 9; i++) {
1514 matrix[i] = random->nextUScalar1(); 1525 matrix[i] = random->nextUScalar1();
1515 } 1526 }
1516 return GrSpecularLightingEffect::Create(textures[GrProcessorUnitTest::kAlpha TextureIdx], 1527 return GrSpecularLightingEffect::Create(textures[GrProcessorUnitTest::kAlpha TextureIdx],
1517 light, surfaceScale, matrix, ks, shi niness); 1528 light, surfaceScale, matrix, ks, shi niness);
1518 } 1529 }
1519 1530
1520 /////////////////////////////////////////////////////////////////////////////// 1531 ///////////////////////////////////////////////////////////////////////////////
1521 1532
1522 GrGLSpecularLightingEffect::GrGLSpecularLightingEffect(const GrBackendProcessorF actory& factory, 1533 GrGLSpecularLightingEffect::GrGLSpecularLightingEffect(const GrProcessor& proc)
1523 const GrProcessor& proc) 1534 : INHERITED(proc) {
1524 : INHERITED(factory, proc) {
1525 } 1535 }
1526 1536
1527 void GrGLSpecularLightingEffect::emitLightFunc(GrGLFPBuilder* builder, SkString* funcName) { 1537 void GrGLSpecularLightingEffect::emitLightFunc(GrGLFPBuilder* builder, SkString* funcName) {
1528 const char* ks; 1538 const char* ks;
1529 const char* shininess; 1539 const char* shininess;
1530 1540
1531 fKSUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, 1541 fKSUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
1532 kFloat_GrSLType, "KS", &ks); 1542 kFloat_GrSLType, "KS", &ks);
1533 fShininessUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility , 1543 fShininessUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility ,
1534 kFloat_GrSLType, "Shininess", &shininess ); 1544 kFloat_GrSLType, "Shininess", &shininess );
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1681 1691
1682 fsBuilder->codeAppendf("%s(%s)", fLightColorFunc.c_str(), surfaceToLight); 1692 fsBuilder->codeAppendf("%s(%s)", fLightColorFunc.c_str(), surfaceToLight);
1683 } 1693 }
1684 1694
1685 #endif 1695 #endif
1686 1696
1687 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingImageFilter) 1697 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingImageFilter)
1688 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiffuseLightingImageFilter) 1698 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiffuseLightingImageFilter)
1689 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSpecularLightingImageFilter) 1699 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSpecularLightingImageFilter)
1690 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END 1700 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
OLDNEW
« no previous file with comments | « src/effects/SkDisplacementMapEffect.cpp ('k') | src/effects/SkLumaColorFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698