| 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 |  | 
|---|