1 /* 2 * Copyright 2015 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 SkXfermodeInterpretation_DEFINED 9 #define SkXfermodeInterpretation_DEFINED 10 11 class SkPaint; 12 13 /** 14 * By analyzing the paint, we may decide we can take special 15 * action. This enum lists our possible actions. 16 */ 17 enum SkXfermodeInterpretation { 18 kNormal_SkXfermodeInterpretation, //< draw normally 19 kSrcOver_SkXfermodeInterpretation, //< draw as if in srcover mode 20 kSkipDrawing_SkXfermodeInterpretation //< draw nothing 21 }; 22 23 /** 24 * Given a paint, determine whether the paint's transfer mode can be 25 * replaced with kSrcOver_Mode or not drawn at all. This is used by 26 * SkBlitter and SkPDFDevice. 27 */ 28 SkXfermodeInterpretation SkInterpretXfermode(const SkPaint&, bool dstIsOpaque); 29 30 #endif // SkXfermodeInterpretation_DEFINED 31