Home | History | Annotate | Download | only in core
      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