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

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

Issue 1709753002: Mark existing image filter entry points that will be going away with Deprecated (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Update to ToT Created 4 years, 10 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
« no previous file with comments | « src/effects/SkImageSource.cpp ('k') | src/effects/SkMagnifierImageFilter.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"
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 class SkLightingImageFilterInternal : public SkLightingImageFilter { 348 class SkLightingImageFilterInternal : public SkLightingImageFilter {
349 protected: 349 protected:
350 SkLightingImageFilterInternal(SkImageFilterLight* light, 350 SkLightingImageFilterInternal(SkImageFilterLight* light,
351 SkScalar surfaceScale, 351 SkScalar surfaceScale,
352 SkImageFilter* input, 352 SkImageFilter* input,
353 const CropRect* cropRect) 353 const CropRect* cropRect)
354 : INHERITED(light, surfaceScale, input, cropRect) {} 354 : INHERITED(light, surfaceScale, input, cropRect) {}
355 355
356 #if SK_SUPPORT_GPU 356 #if SK_SUPPORT_GPU
357 bool canFilterImageGPU() const override { return true; } 357 bool canFilterImageGPU() const override { return true; }
358 bool filterImageGPU(Proxy*, const SkBitmap& src, const Context&, 358 bool filterImageGPUDeprecated(Proxy*, const SkBitmap& src, const Context&,
359 SkBitmap* result, SkIPoint* offset) const override; 359 SkBitmap* result, SkIPoint* offset) const over ride;
360 virtual GrFragmentProcessor* getFragmentProcessor(GrTexture*, 360 virtual GrFragmentProcessor* getFragmentProcessor(GrTexture*,
361 const SkMatrix&, 361 const SkMatrix&,
362 const SkIRect* srcBounds, 362 const SkIRect* srcBounds,
363 BoundaryMode boundaryMode) const = 0; 363 BoundaryMode boundaryMode) const = 0;
364 #endif 364 #endif
365 private: 365 private:
366 #if SK_SUPPORT_GPU 366 #if SK_SUPPORT_GPU
367 void drawRect(GrDrawContext* drawContext, 367 void drawRect(GrDrawContext* drawContext,
368 GrTexture* src, 368 GrTexture* src,
369 const SkMatrix& matrix, 369 const SkMatrix& matrix,
(...skipping 16 matching lines...) Expand all
386 const SkIRect* srcBounds, 386 const SkIRect* srcBounds,
387 const SkIRect& bounds) const { 387 const SkIRect& bounds) const {
388 SkRect srcRect = dstRect.makeOffset(SkIntToScalar(bounds.x()), SkIntToScalar (bounds.y())); 388 SkRect srcRect = dstRect.makeOffset(SkIntToScalar(bounds.x()), SkIntToScalar (bounds.y()));
389 GrPaint paint; 389 GrPaint paint;
390 GrFragmentProcessor* fp = this->getFragmentProcessor(src, matrix, srcBounds, boundaryMode); 390 GrFragmentProcessor* fp = this->getFragmentProcessor(src, matrix, srcBounds, boundaryMode);
391 paint.addColorFragmentProcessor(fp)->unref(); 391 paint.addColorFragmentProcessor(fp)->unref();
392 paint.setPorterDuffXPFactory(SkXfermode::kSrc_Mode); 392 paint.setPorterDuffXPFactory(SkXfermode::kSrc_Mode);
393 drawContext->fillRectToRect(clip, paint, SkMatrix::I(), dstRect, srcRect); 393 drawContext->fillRectToRect(clip, paint, SkMatrix::I(), dstRect, srcRect);
394 } 394 }
395 395
396 bool SkLightingImageFilterInternal::filterImageGPU(Proxy* proxy, 396 bool SkLightingImageFilterInternal::filterImageGPUDeprecated(Proxy* proxy,
397 const SkBitmap& src, 397 const SkBitmap& src ,
398 const Context& ctx, 398 const Context& ctx,
399 SkBitmap* result, 399 SkBitmap* result,
400 SkIPoint* offset) const { 400 SkIPoint* offset) c onst {
401 SkBitmap input = src; 401 SkBitmap input = src;
402 SkIPoint srcOffset = SkIPoint::Make(0, 0); 402 SkIPoint srcOffset = SkIPoint::Make(0, 0);
403 if (!this->filterInputGPU(0, proxy, src, ctx, &input, &srcOffset)) { 403 if (!this->filterInputGPUDeprecated(0, proxy, src, ctx, &input, &srcOffset)) {
404 return false; 404 return false;
405 } 405 }
406 SkIRect srcBounds = input.bounds(); 406 SkIRect srcBounds = input.bounds();
407 srcBounds.offset(srcOffset); 407 srcBounds.offset(srcOffset);
408 SkIRect bounds; 408 SkIRect bounds;
409 if (!this->applyCropRect(ctx, srcBounds, &bounds)) { 409 if (!this->applyCropRect(ctx, srcBounds, &bounds)) {
410 return false; 410 return false;
411 } 411 }
412 SkRect dstRect = SkRect::MakeWH(SkIntToScalar(bounds.width()), 412 SkRect dstRect = SkRect::MakeWH(SkIntToScalar(bounds.width()),
413 SkIntToScalar(bounds.height())); 413 SkIntToScalar(bounds.height()));
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 const CropRect*); 480 const CropRect*);
481 481
482 SK_TO_STRING_OVERRIDE() 482 SK_TO_STRING_OVERRIDE()
483 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiffuseLightingImageFi lter) 483 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiffuseLightingImageFi lter)
484 SkScalar kd() const { return fKD; } 484 SkScalar kd() const { return fKD; }
485 485
486 protected: 486 protected:
487 SkDiffuseLightingImageFilter(SkImageFilterLight* light, SkScalar surfaceScal e, 487 SkDiffuseLightingImageFilter(SkImageFilterLight* light, SkScalar surfaceScal e,
488 SkScalar kd, SkImageFilter* input, const CropRe ct* cropRect); 488 SkScalar kd, SkImageFilter* input, const CropRe ct* cropRect);
489 void flatten(SkWriteBuffer& buffer) const override; 489 void flatten(SkWriteBuffer& buffer) const override;
490 bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, 490 bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&,
491 SkBitmap* result, SkIPoint* offset) const override; 491 SkBitmap* result, SkIPoint* offset) const overr ide;
492 #if SK_SUPPORT_GPU 492 #if SK_SUPPORT_GPU
493 GrFragmentProcessor* getFragmentProcessor(GrTexture*, const SkMatrix&, const SkIRect* bounds, 493 GrFragmentProcessor* getFragmentProcessor(GrTexture*, const SkMatrix&, const SkIRect* bounds,
494 BoundaryMode) const override; 494 BoundaryMode) const override;
495 #endif 495 #endif
496 496
497 private: 497 private:
498 friend class SkLightingImageFilter; 498 friend class SkLightingImageFilter;
499 typedef SkLightingImageFilterInternal INHERITED; 499 typedef SkLightingImageFilterInternal INHERITED;
500 SkScalar fKD; 500 SkScalar fKD;
501 }; 501 };
502 502
503 class SkSpecularLightingImageFilter : public SkLightingImageFilterInternal { 503 class SkSpecularLightingImageFilter : public SkLightingImageFilterInternal {
504 public: 504 public:
505 static SkImageFilter* Create(SkImageFilterLight* light, SkScalar surfaceScal e, 505 static SkImageFilter* Create(SkImageFilterLight* light, SkScalar surfaceScal e,
506 SkScalar ks, SkScalar shininess, SkImageFilter* , const CropRect*); 506 SkScalar ks, SkScalar shininess, SkImageFilter* , const CropRect*);
507 507
508 SK_TO_STRING_OVERRIDE() 508 SK_TO_STRING_OVERRIDE()
509 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSpecularLightingImageF ilter) 509 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSpecularLightingImageF ilter)
510 510
511 SkScalar ks() const { return fKS; } 511 SkScalar ks() const { return fKS; }
512 SkScalar shininess() const { return fShininess; } 512 SkScalar shininess() const { return fShininess; }
513 513
514 protected: 514 protected:
515 SkSpecularLightingImageFilter(SkImageFilterLight* light, SkScalar surfaceSca le, SkScalar ks, 515 SkSpecularLightingImageFilter(SkImageFilterLight* light, SkScalar surfaceSca le, SkScalar ks,
516 SkScalar shininess, SkImageFilter* input, cons t CropRect*); 516 SkScalar shininess, SkImageFilter* input, cons t CropRect*);
517 void flatten(SkWriteBuffer& buffer) const override; 517 void flatten(SkWriteBuffer& buffer) const override;
518 bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, 518 bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&,
519 SkBitmap* result, SkIPoint* offset) const override; 519 SkBitmap* result, SkIPoint* offset) const overr ide;
520 #if SK_SUPPORT_GPU 520 #if SK_SUPPORT_GPU
521 GrFragmentProcessor* getFragmentProcessor(GrTexture*, const SkMatrix&, const SkIRect* bounds, 521 GrFragmentProcessor* getFragmentProcessor(GrTexture*, const SkMatrix&, const SkIRect* bounds,
522 BoundaryMode) const override; 522 BoundaryMode) const override;
523 #endif 523 #endif
524 524
525 private: 525 private:
526 SkScalar fKS; 526 SkScalar fKS;
527 SkScalar fShininess; 527 SkScalar fShininess;
528 friend class SkLightingImageFilter; 528 friend class SkLightingImageFilter;
529 typedef SkLightingImageFilterInternal INHERITED; 529 typedef SkLightingImageFilterInternal INHERITED;
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1216 SkScalar surfaceScale = buffer.readScalar(); 1216 SkScalar surfaceScale = buffer.readScalar();
1217 SkScalar kd = buffer.readScalar(); 1217 SkScalar kd = buffer.readScalar();
1218 return Create(light, surfaceScale, kd, common.getInput(0), &common.cropRect( )); 1218 return Create(light, surfaceScale, kd, common.getInput(0), &common.cropRect( ));
1219 } 1219 }
1220 1220
1221 void SkDiffuseLightingImageFilter::flatten(SkWriteBuffer& buffer) const { 1221 void SkDiffuseLightingImageFilter::flatten(SkWriteBuffer& buffer) const {
1222 this->INHERITED::flatten(buffer); 1222 this->INHERITED::flatten(buffer);
1223 buffer.writeScalar(fKD); 1223 buffer.writeScalar(fKD);
1224 } 1224 }
1225 1225
1226 bool SkDiffuseLightingImageFilter::onFilterImage(Proxy* proxy, 1226 bool SkDiffuseLightingImageFilter::onFilterImageDeprecated(Proxy* proxy,
1227 const SkBitmap& source, 1227 const SkBitmap& sourc e,
1228 const Context& ctx, 1228 const Context& ctx,
1229 SkBitmap* dst, 1229 SkBitmap* dst,
1230 SkIPoint* offset) const { 1230 SkIPoint* offset) con st {
1231 SkBitmap src = source; 1231 SkBitmap src = source;
1232 SkIPoint srcOffset = SkIPoint::Make(0, 0); 1232 SkIPoint srcOffset = SkIPoint::Make(0, 0);
1233 if (!this->filterInput(0, proxy, source, ctx, &src, &srcOffset)) { 1233 if (!this->filterInputDeprecated(0, proxy, source, ctx, &src, &srcOffset)) {
1234 return false; 1234 return false;
1235 } 1235 }
1236 1236
1237 if (src.colorType() != kN32_SkColorType) { 1237 if (src.colorType() != kN32_SkColorType) {
1238 return false; 1238 return false;
1239 } 1239 }
1240 SkIRect srcBounds = src.bounds(); 1240 SkIRect srcBounds = src.bounds();
1241 srcBounds.offset(srcOffset); 1241 srcBounds.offset(srcOffset);
1242 SkIRect bounds; 1242 SkIRect bounds;
1243 if (!this->applyCropRect(ctx, srcBounds, &bounds)) { 1243 if (!this->applyCropRect(ctx, srcBounds, &bounds)) {
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 SkScalar shine = buffer.readScalar(); 1360 SkScalar shine = buffer.readScalar();
1361 return Create(light, surfaceScale, ks, shine, common.getInput(0), &common.cr opRect()); 1361 return Create(light, surfaceScale, ks, shine, common.getInput(0), &common.cr opRect());
1362 } 1362 }
1363 1363
1364 void SkSpecularLightingImageFilter::flatten(SkWriteBuffer& buffer) const { 1364 void SkSpecularLightingImageFilter::flatten(SkWriteBuffer& buffer) const {
1365 this->INHERITED::flatten(buffer); 1365 this->INHERITED::flatten(buffer);
1366 buffer.writeScalar(fKS); 1366 buffer.writeScalar(fKS);
1367 buffer.writeScalar(fShininess); 1367 buffer.writeScalar(fShininess);
1368 } 1368 }
1369 1369
1370 bool SkSpecularLightingImageFilter::onFilterImage(Proxy* proxy, 1370 bool SkSpecularLightingImageFilter::onFilterImageDeprecated(Proxy* proxy,
1371 const SkBitmap& source, 1371 const SkBitmap& sour ce,
1372 const Context& ctx, 1372 const Context& ctx,
1373 SkBitmap* dst, 1373 SkBitmap* dst,
1374 SkIPoint* offset) const { 1374 SkIPoint* offset) co nst {
1375 SkBitmap src = source; 1375 SkBitmap src = source;
1376 SkIPoint srcOffset = SkIPoint::Make(0, 0); 1376 SkIPoint srcOffset = SkIPoint::Make(0, 0);
1377 if (!this->filterInput(0, proxy, source, ctx, &src, &srcOffset)) { 1377 if (!this->filterInputDeprecated(0, proxy, source, ctx, &src, &srcOffset)) {
1378 return false; 1378 return false;
1379 } 1379 }
1380 1380
1381 if (src.colorType() != kN32_SkColorType) { 1381 if (src.colorType() != kN32_SkColorType) {
1382 return false; 1382 return false;
1383 } 1383 }
1384 1384
1385 SkIRect srcBounds = src.bounds(); 1385 SkIRect srcBounds = src.bounds();
1386 srcBounds.offset(srcOffset); 1386 srcBounds.offset(srcOffset);
1387 SkIRect bounds; 1387 SkIRect bounds;
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
2118 2118
2119 fragBuilder->codeAppendf("%s(%s)", fLightColorFunc.c_str(), surfaceToLight); 2119 fragBuilder->codeAppendf("%s(%s)", fLightColorFunc.c_str(), surfaceToLight);
2120 } 2120 }
2121 2121
2122 #endif 2122 #endif
2123 2123
2124 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingImageFilter) 2124 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingImageFilter)
2125 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiffuseLightingImageFilter) 2125 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiffuseLightingImageFilter)
2126 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSpecularLightingImageFilter) 2126 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSpecularLightingImageFilter)
2127 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END 2127 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
OLDNEW
« no previous file with comments | « src/effects/SkImageSource.cpp ('k') | src/effects/SkMagnifierImageFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698