| OLD | NEW |
| (Empty) |
| 1 #include "SkPixelXorXfermode.h" | |
| 2 #include "SkColorPriv.h" | |
| 3 | |
| 4 // we always return an opaque color, 'cause I don't know what to do with | |
| 5 // the alpha-component and still return a valid premultiplied color. | |
| 6 SkPMColor SkPixelXorXfermode::xferColor(SkPMColor src, SkPMColor dst) | |
| 7 { | |
| 8 SkPMColor res = src ^ dst ^ fOpColor; | |
| 9 res |= (SK_A32_MASK << SK_A32_SHIFT); // force it to be opaque | |
| 10 return res; | |
| 11 } | |
| 12 | |
| 13 void SkPixelXorXfermode::flatten(SkFlattenableWriteBuffer& wb) | |
| 14 { | |
| 15 this->INHERITED::flatten(wb); | |
| 16 wb.write32(fOpColor); | |
| 17 } | |
| 18 | |
| 19 SkPixelXorXfermode::SkPixelXorXfermode(SkFlattenableReadBuffer& rb) | |
| 20 : SkXfermode(rb) | |
| 21 { | |
| 22 fOpColor = rb.readU32(); | |
| 23 } | |
| 24 | |
| 25 SkFlattenable::Factory SkPixelXorXfermode::getFactory() | |
| 26 { | |
| 27 return Create; | |
| 28 } | |
| 29 | |
| 30 SkFlattenable* SkPixelXorXfermode::Create(SkFlattenableReadBuffer& rb) | |
| 31 { | |
| 32 return SkNEW_ARGS(SkPixelXorXfermode, (rb)); | |
| 33 } | |
| 34 | |
| 35 | |
| 36 | |
| OLD | NEW |