OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
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 "SkCanvas.h" | 8 #include "SkCanvas.h" |
9 #include "SkData.h" | 9 #include "SkData.h" |
10 #include "SkImageFilter.h" | 10 #include "SkImageFilter.h" |
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
748 #undef M | 748 #undef M |
749 | 749 |
750 void SkLiteDL::onDraw (SkCanvas* canvas) { this->map(draw_fns, canvas); } | 750 void SkLiteDL::onDraw (SkCanvas* canvas) { this->map(draw_fns, canvas); } |
751 void SkLiteDL::optimizeFor (GrContext* ctx) { this->map(optimize_for_fns, ct
x); } | 751 void SkLiteDL::optimizeFor (GrContext* ctx) { this->map(optimize_for_fns, ct
x); } |
752 void SkLiteDL::makeThreadsafe() { this->map(make_threadsafe_fns)
; } | 752 void SkLiteDL::makeThreadsafe() { this->map(make_threadsafe_fns)
; } |
753 | 753 |
754 SkRect SkLiteDL::onGetBounds() { | 754 SkRect SkLiteDL::onGetBounds() { |
755 return fBounds; | 755 return fBounds; |
756 } | 756 } |
757 | 757 |
| 758 bool SkLiteDL::empty() const { |
| 759 return fUsed == 0; |
| 760 } |
| 761 |
758 #if !defined(SK_LITEDL_USES) | 762 #if !defined(SK_LITEDL_USES) |
759 #define SK_LITEDL_USES 16 | 763 #define SK_LITEDL_USES 16 |
760 #endif | 764 #endif |
761 | 765 |
762 SkLiteDL:: SkLiteDL() : fUsed(0), fReserved(0), fUsesRemaining(SK_LITEDL_USES) {
} | 766 SkLiteDL:: SkLiteDL() : fUsed(0), fReserved(0), fUsesRemaining(SK_LITEDL_USES) {
} |
763 SkLiteDL::~SkLiteDL() {} | 767 SkLiteDL::~SkLiteDL() {} |
764 | 768 |
765 // If you're tempted to make this lock free, please don't forget about ABA. | 769 // If you're tempted to make this lock free, please don't forget about ABA. |
766 static SkSpinlock gFreeStackLock; | 770 static SkSpinlock gFreeStackLock; |
767 static SkLiteDL* gFreeStack = nullptr; | 771 static SkLiteDL* gFreeStack = nullptr; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 } | 809 } |
806 | 810 |
807 void SkLiteDL::PurgeFreelist() { | 811 void SkLiteDL::PurgeFreelist() { |
808 SkAutoMutexAcquire lock(gFreeStackLock); | 812 SkAutoMutexAcquire lock(gFreeStackLock); |
809 while (gFreeStack) { | 813 while (gFreeStack) { |
810 SkLiteDL* top = gFreeStack; | 814 SkLiteDL* top = gFreeStack; |
811 gFreeStack = gFreeStack->fNext; | 815 gFreeStack = gFreeStack->fNext; |
812 delete top; // Calling unref() here would just put it back on the list
! | 816 delete top; // Calling unref() here would just put it back on the list
! |
813 } | 817 } |
814 } | 818 } |
OLD | NEW |