180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru/* 280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Copyright 2011 Google Inc. 380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * 480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Use of this source code is governed by a BSD-style license that can be 580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * found in the LICENSE file. 680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru */ 780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkPaintFlagsDrawFilter.h" 980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkPaint.h" 1080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 1180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste QueruSkPaintFlagsDrawFilter::SkPaintFlagsDrawFilter(uint32_t clearFlags, 1280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru uint32_t setFlags) { 1380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru fClearFlags = SkToU16(clearFlags & SkPaint::kAllFlags); 1480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru fSetFlags = SkToU16(setFlags & SkPaint::kAllFlags); 1580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru} 1680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 17363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenbergerbool SkPaintFlagsDrawFilter::filter(SkPaint* paint, Type) { 1880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru paint->setFlags((paint->getFlags() & ~fClearFlags) | fSetFlags); 19363e546ed626b6dbbc42f5db87b3594bc0b5944bDerek Sollenberger return true; 2080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru} 21