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 #include "SkPaint.h" | 9 #include "SkPaint.h" |
10 #include "SkAnnotation.h" | 10 #include "SkAnnotation.h" |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 SkSafeRef(fTypeface); | 94 SkSafeRef(fTypeface); |
95 SkSafeRef(fPathEffect); | 95 SkSafeRef(fPathEffect); |
96 SkSafeRef(fShader); | 96 SkSafeRef(fShader); |
97 SkSafeRef(fXfermode); | 97 SkSafeRef(fXfermode); |
98 SkSafeRef(fMaskFilter); | 98 SkSafeRef(fMaskFilter); |
99 SkSafeRef(fColorFilter); | 99 SkSafeRef(fColorFilter); |
100 SkSafeRef(fRasterizer); | 100 SkSafeRef(fRasterizer); |
101 SkSafeRef(fLooper); | 101 SkSafeRef(fLooper); |
102 SkSafeRef(fImageFilter); | 102 SkSafeRef(fImageFilter); |
103 SkSafeRef(fAnnotation); | 103 SkSafeRef(fAnnotation); |
| 104 |
| 105 #ifdef SK_BUILD_FOR_ANDROID |
| 106 new (&fPaintOptionsAndroid) SkPaintOptionsAndroid(src.fPaintOptionsAndroid); |
| 107 #endif |
104 } | 108 } |
105 | 109 |
106 SkPaint::~SkPaint() { | 110 SkPaint::~SkPaint() { |
107 SkSafeUnref(fTypeface); | 111 SkSafeUnref(fTypeface); |
108 SkSafeUnref(fPathEffect); | 112 SkSafeUnref(fPathEffect); |
109 SkSafeUnref(fShader); | 113 SkSafeUnref(fShader); |
110 SkSafeUnref(fXfermode); | 114 SkSafeUnref(fXfermode); |
111 SkSafeUnref(fMaskFilter); | 115 SkSafeUnref(fMaskFilter); |
112 SkSafeUnref(fColorFilter); | 116 SkSafeUnref(fColorFilter); |
113 SkSafeUnref(fRasterizer); | 117 SkSafeUnref(fRasterizer); |
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
908 SkASSERT(index < SK_ARRAY_COUNT(gDrawCacheProcs)); | 912 SkASSERT(index < SK_ARRAY_COUNT(gDrawCacheProcs)); |
909 return gDrawCacheProcs[index]; | 913 return gDrawCacheProcs[index]; |
910 } | 914 } |
911 | 915 |
912 /////////////////////////////////////////////////////////////////////////////// | 916 /////////////////////////////////////////////////////////////////////////////// |
913 | 917 |
914 class SkAutoRestorePaintTextSizeAndFrame { | 918 class SkAutoRestorePaintTextSizeAndFrame { |
915 public: | 919 public: |
916 SkAutoRestorePaintTextSizeAndFrame(const SkPaint* paint) | 920 SkAutoRestorePaintTextSizeAndFrame(const SkPaint* paint) |
917 : fPaint((SkPaint*)paint) { | 921 : fPaint((SkPaint*)paint) { |
| 922 #ifdef SK_BUILD_FOR_ANDROID |
| 923 fGenerationID = fPaint->getGenerationID(); |
| 924 #endif |
918 fTextSize = paint->getTextSize(); | 925 fTextSize = paint->getTextSize(); |
919 fStyle = paint->getStyle(); | 926 fStyle = paint->getStyle(); |
920 fPaint->setStyle(SkPaint::kFill_Style); | 927 fPaint->setStyle(SkPaint::kFill_Style); |
921 #ifdef SK_BUILD_FOR_ANDROID | |
922 fGenerationID = fPaint->getGenerationID(); | |
923 #endif | |
924 } | 928 } |
925 | 929 |
926 ~SkAutoRestorePaintTextSizeAndFrame() { | 930 ~SkAutoRestorePaintTextSizeAndFrame() { |
927 fPaint->setStyle(fStyle); | 931 fPaint->setStyle(fStyle); |
928 fPaint->setTextSize(fTextSize); | 932 fPaint->setTextSize(fTextSize); |
929 #ifdef SK_BUILD_FOR_ANDROID | 933 #ifdef SK_BUILD_FOR_ANDROID |
930 fPaint->setGenerationID(fGenerationID); | 934 fPaint->setGenerationID(fGenerationID); |
931 #endif | 935 #endif |
932 } | 936 } |
933 | 937 |
(...skipping 1611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2545 case SkXfermode::kPlus_Mode: | 2549 case SkXfermode::kPlus_Mode: |
2546 return 0 == this->getAlpha(); | 2550 return 0 == this->getAlpha(); |
2547 case SkXfermode::kDst_Mode: | 2551 case SkXfermode::kDst_Mode: |
2548 return true; | 2552 return true; |
2549 default: | 2553 default: |
2550 break; | 2554 break; |
2551 } | 2555 } |
2552 } | 2556 } |
2553 return false; | 2557 return false; |
2554 } | 2558 } |
OLD | NEW |