1 /* 2 * Copyright 2013 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkPaintPriv_DEFINED 9 #define SkPaintPriv_DEFINED 10 11 class SkBitmap; 12 class SkPaint; 13 14 #include "SkTypes.h" 15 /** Returns true if draw calls that use the paint will completely occlude 16 canvas contents that are covered by the draw. 17 @param paint The paint to be analyzed, NULL is equivalent to 18 the default paint. 19 @param bmpReplacesShader a bitmap to be used in place of the paint's 20 shader. 21 @return true if paint is opaque 22 */ 23 bool isPaintOpaque(const SkPaint* paint, 24 const SkBitmap* bmpReplacesShader = NULL); 25 26 /** Returns true if the provided paint has fields which are not 27 immutable (and will thus require deep copying). 28 @param paint the paint to be analyzed 29 @return true if the paint requires a deep copy 30 */ 31 bool NeedsDeepCopy(const SkPaint& paint); 32 #endif 33