Home | History | Annotate | Download | only in effects
      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