| OLD | NEW |
| 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 #include "GrXferProcessor.h" |
| 10 #include "SkXfermode.h" | 10 #include "SkXfermode.h" |
| 11 #include "SkXfermode_opts_SSE2.h" | 11 #include "SkXfermode_opts_SSE2.h" |
| 12 #include "SkXfermode_proccoeff.h" | 12 #include "SkXfermode_proccoeff.h" |
| 13 #include "SkColorPriv.h" | 13 #include "SkColorPriv.h" |
| 14 #include "SkLazyPtr.h" | 14 #include "SkLazyPtr.h" |
| 15 #include "SkMathPriv.h" | 15 #include "SkMathPriv.h" |
| 16 #include "SkReadBuffer.h" | 16 #include "SkReadBuffer.h" |
| 17 #include "SkString.h" | 17 #include "SkString.h" |
| 18 #include "SkUtilsArm.h" | 18 #include "SkUtilsArm.h" |
| 19 #include "SkWriteBuffer.h" | 19 #include "SkWriteBuffer.h" |
| (...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 673 } | 673 } |
| 674 | 674 |
| 675 bool SkXfermode::asMode(Mode* mode) const { | 675 bool SkXfermode::asMode(Mode* mode) const { |
| 676 return false; | 676 return false; |
| 677 } | 677 } |
| 678 | 678 |
| 679 bool SkXfermode::asFragmentProcessor(GrFragmentProcessor**, GrTexture*) const { | 679 bool SkXfermode::asFragmentProcessor(GrFragmentProcessor**, GrTexture*) const { |
| 680 return false; | 680 return false; |
| 681 } | 681 } |
| 682 | 682 |
| 683 bool SkXfermode::asFragmentProcessorOrCoeff(SkXfermode* xfermode, GrFragmentProc
essor** fp, | 683 bool SkXfermode::asXPFactory(GrXPFactory**) const { |
| 684 Coeff* src, Coeff* dst, GrTexture* b
ackground) { | 684 return false; |
| 685 } |
| 686 |
| 687 bool SkXfermode::asFragmentProcessorOrXPFactoryOrCoeff(SkXfermode* xfermode, |
| 688 GrFragmentProcessor** fp, |
| 689 GrXPFactory** xpf, |
| 690 Coeff* src, Coeff* dst, |
| 691 GrTexture* background) { |
| 685 if (NULL == xfermode) { | 692 if (NULL == xfermode) { |
| 686 return ModeAsCoeff(kSrcOver_Mode, src, dst); | 693 return ModeAsCoeff(kSrcOver_Mode, src, dst); |
| 687 } else if (xfermode->asCoeff(src, dst)) { | 694 } else if (xfermode->asCoeff(src, dst)) { |
| 688 return true; | 695 return true; |
| 696 } else if (NULL == background && xfermode->asXPFactory(xpf)) { |
| 697 return true; |
| 689 } else { | 698 } else { |
| 690 return xfermode->asFragmentProcessor(fp, background); | 699 return xfermode->asFragmentProcessor(fp, background); |
| 691 } | 700 } |
| 692 } | 701 } |
| 693 | 702 |
| 694 SkPMColor SkXfermode::xferColor(SkPMColor src, SkPMColor dst) const{ | 703 SkPMColor SkXfermode::xferColor(SkPMColor src, SkPMColor dst) const{ |
| 695 // no-op. subclasses should override this | 704 // no-op. subclasses should override this |
| 696 return dst; | 705 return dst; |
| 697 } | 706 } |
| 698 | 707 |
| (...skipping 1255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1954 } else { | 1963 } else { |
| 1955 proc16 = rec.fProc16_General; | 1964 proc16 = rec.fProc16_General; |
| 1956 } | 1965 } |
| 1957 } | 1966 } |
| 1958 return proc16; | 1967 return proc16; |
| 1959 } | 1968 } |
| 1960 | 1969 |
| 1961 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode) | 1970 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode) |
| 1962 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode) | 1971 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode) |
| 1963 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 1972 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
| OLD | NEW |