1424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// found in the LICENSE file. 4424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 5424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#include "skia/ext/opacity_draw_filter.h" 6424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#include "third_party/skia/include/core/SkPaint.h" 7424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 8424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)namespace skia { 9424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 10424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)OpacityDrawFilter::OpacityDrawFilter(float opacity, 11424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) bool disable_image_filtering) 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) : alpha_(SkScalarRoundToInt(opacity * 255)), 13424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) disable_image_filtering_(disable_image_filtering) {} 14424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 15424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)OpacityDrawFilter::~OpacityDrawFilter() {} 16424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 17424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)bool OpacityDrawFilter::filter(SkPaint* paint, Type type) { 18424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) if (alpha_ < 255) 19424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) paint->setAlpha(alpha_); 20424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) if (disable_image_filtering_) 21424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) paint->setFilterLevel(SkPaint::kNone_FilterLevel); 22424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) return true; 23424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)} 24424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 25424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)} // namespace skia 26424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 27424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) 28