1 #include "SkPaintFlagsDrawFilter.h" 2 #include "SkPaint.h" 3 4 SkPaintFlagsDrawFilter::SkPaintFlagsDrawFilter(uint32_t clearFlags, 5 uint32_t setFlags) 6 { 7 fClearFlags = SkToU16(clearFlags & SkPaint::kAllFlags); 8 fSetFlags = SkToU16(setFlags & SkPaint::kAllFlags); 9 } 10 11 bool SkPaintFlagsDrawFilter::filter(SkCanvas*, SkPaint* paint, Type) 12 { 13 fPrevFlags = paint->getFlags(); 14 paint->setFlags((fPrevFlags & ~fClearFlags) | fSetFlags); 15 return true; 16 } 17 18 void SkPaintFlagsDrawFilter::restore(SkCanvas*, SkPaint* paint, Type) 19 { 20 paint->setFlags(fPrevFlags); 21 } 22 23