1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>Skia: SkXfermode Class Reference</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
10
<!-- Generated by Doxygen 1.6.1 -->
11
<div class="navigation" id="top">
14
<li><a href="main.html"><span>Main Page</span></a></li>
15
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
16
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
17
<li><a href="files.html"><span>Files</span></a></li>
22
<li><a href="annotated.html"><span>Class List</span></a></li>
23
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
24
<li><a href="functions.html"><span>Class Members</span></a></li>
28
<div class="contents">
29
<h1>SkXfermode Class Reference</h1><!-- doxytag: class="SkXfermode" --><!-- doxytag: inherits="SkFlattenable" -->
30
<p><code>#include <<a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a>></code></p>
32
<p>Inherits <a class="el" href="class_sk_flattenable.html">SkFlattenable</a>.</p>
34
<p>Inherited by <a class="el" href="class_sk_avoid_xfermode.html">SkAvoidXfermode</a>, <a class="el" href="class_sk_pixel_xor_xfermode.html">SkPixelXorXfermode</a>, and <a class="el" href="class_sk_proc_xfermode.html">SkProcXfermode</a>.</p>
35
<div class="dynheader">
36
Collaboration diagram for SkXfermode:</div>
37
<div class="dynsection">
38
<div class="center"><img src="class_sk_xfermode__coll__graph.png" border="0" usemap="#_sk_xfermode_coll__map" alt="Collaboration graph"/></div>
39
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
41
<p><a href="class_sk_xfermode-members.html">List of all members.</a></p>
42
<table border="0" cellpadding="0" cellspacing="0">
43
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> { <br/>
45
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42ae9747aecb7032fc2aec5c7233e845a46">kZero_Coeff</a>,
46
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42a743ad24318d9f7c0e4d6c22991973b61">kOne_Coeff</a>,
47
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42a1211a9a893e1c478cfec0d162830c82d">kSC_Coeff</a>,
48
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42a4ebc10129afdc98c49d791e008fef412">kISC_Coeff</a>,
50
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42ab9e9f6ccce46add2de23f0e6947a0bfe">kDC_Coeff</a>,
51
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42ac12c339c41c76da2cbcb49547e2c49f1">kIDC_Coeff</a>,
52
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42a0be4baebd03cb2baec72c6e93758cca9">kSA_Coeff</a>,
53
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42a81c52d2b29e5672e2e6d794959c13e9a">kISA_Coeff</a>,
55
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42a03c3a41805fc597f881f7033d2862535">kDA_Coeff</a>,
56
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42a59abc889333ac7a21111c2b0754c6a5d">kIDA_Coeff</a>,
57
<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42abd99dd1e14f02f9eb7a071c6d0ad626d">kCoeffCount</a>
60
<tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> { <br/>
61
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a6258d0a49a66252e2e79a1dfa03d5808">kClear_Mode</a>,
62
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a02b9cda2d64bea196a268ef048f38319">kSrc_Mode</a>,
63
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a35853096dbe7ff3ffbfabff4b77fec43">kDst_Mode</a>,
64
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40ad9ce55f93750f582bd1e2dbd1b4bc682">kSrcOver_Mode</a>,
66
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40ace07e61b45973fb2b02aabcbce9280fc">kDstOver_Mode</a>,
67
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a9831704fe28c3286614d777eefb6e92c">kSrcIn_Mode</a>,
68
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40aa809d24d17d806d3c225c7ccedd5cede">kDstIn_Mode</a>,
69
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a5582f94bbe9678cf8a8664621a8d5726">kSrcOut_Mode</a>,
71
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40afb4d7c1d11c543182b9bb4e2c4a2a422">kDstOut_Mode</a>,
72
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a78b45cdb6d82afff9a21aa87624941a1">kSrcATop_Mode</a>,
73
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40ae1d6b61bd0d80cc6d33f2d8b982cf13b">kDstATop_Mode</a>,
74
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a0a77d825a567a083adffbb384efe7de5">kXor_Mode</a>,
76
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a2fc7bd168c47d50f966a0d0291cdfda0">kPlus_Mode</a>,
77
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a17aefb0bacf48a1b79239ae2749a0d74">kMultiply_Mode</a>,
78
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40aca9a4502d0a5c306ccfd500b602346e9">kScreen_Mode</a>,
79
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a1f31bcf0623f2368338d8047693afbf9">kOverlay_Mode</a>,
81
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40acaecaeae6b0c2bc320eeddd4941edc6e">kDarken_Mode</a>,
82
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40ac6e471b1de65b645138f444c76adf196">kLighten_Mode</a>,
83
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40aa5ef311527a49eb22eb5ec0c7e4811cb">kColorDodge_Mode</a>,
84
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40ab847bca89f7224f996400d44e0e530cd">kColorBurn_Mode</a>,
86
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a3e7e31992fdfd0eb84e81bd6031b7926">kHardLight_Mode</a>,
87
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a4cf89b0eafabc1e1b63fb328d2cc1685">kSoftLight_Mode</a>,
88
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a61a5c762c59d0337eb5dd9f980850fc0">kDifference_Mode</a>,
89
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40a0b47fb4f340348dc968dc4e658972383">kExclusion_Mode</a>,
91
<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40aa0fc96110a4ff5158b6b85101740cabb">kLastMode</a> = kExclusion_Mode
94
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
95
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a2061d626f726c1f5bd660e3df14d618c">SkXfermode</a> ()</td></tr>
96
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a02a8c0186b0b05670deb677c31152fff">xfer32</a> (<a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> dst[], const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> src[], int count, const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> aa[])</td></tr>
97
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a4d7eb3559e6975836315e3332cb0f920">xfer16</a> (uint16_t dst[], const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> src[], int count, const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> aa[])</td></tr>
98
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a2b674254aec828bd98b92166844c35b6">xfer4444</a> (uint16_t dst[], const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> src[], int count, const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> aa[])</td></tr>
99
<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a42f60564908990cc95238bf6b544d9d1">xferA8</a> (<a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> dst[], const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> src[], int count, const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> aa[])</td></tr>
100
<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a3236676496fdb7d30881582ce2110ef5">asCoeff</a> (<a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> *src, <a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> *dst)</td></tr>
101
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
102
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_sk_xfermode.html">SkXfermode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a0537d5be65be00ef5c0322ace1cea0f9">Create</a> (<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> mode)</td></tr>
103
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="_sk_color_8h.html#a470a9390037f83c8e7bfd23d67f765b2">SkXfermodeProc</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#afc8cf95373a7fcdd8c082ad2b505fe69">GetProc</a> (<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> mode)</td></tr>
104
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="_sk_color_8h.html#ac2005c65c75a292e4f1a54cf986ec834">SkXfermodeProc16</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a0d76cd38740117270842337ea55e8512">GetProc16</a> (<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> mode, <a class="el" href="_sk_color_8h.html#a84c81e6a24ff07a55333acf5603046a8">SkColor</a> srcColor)</td></tr>
105
<tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a715dfaa236d7d9c55a3e1220bb488a1d">IsMode</a> (<a class="el" href="class_sk_xfermode.html">SkXfermode</a> *, <a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> *mode)</td></tr>
106
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
107
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a5ab03bc4a8b1eab89b4e5194d87e7614">SkXfermode</a> (<a class="el" href="class_sk_flattenable_read_buffer.html">SkFlattenableReadBuffer</a> &rb)</td></tr>
108
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#acfe486577509fa1d1c723819841f738a">xferColor</a> (<a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> src, <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> dst)</td></tr>
110
<hr/><a name="_details"></a><h2>Detailed Description</h2>
111
<p><a class="el" href="class_sk_xfermode.html">SkXfermode</a> is the base class for objects that are called to implement custom "transfer-modes" in the drawing pipeline. The static function Create(Modes) can be called to return an instance of any of the predefined subclasses as specified in the Modes enum. When an <a class="el" href="class_sk_xfermode.html">SkXfermode</a> is assigned to an <a class="el" href="class_sk_paint.html">SkPaint</a>, then objects drawn with that paint have the xfermode applied. </p>
113
<p>Definition at line <a class="el" href="_sk_xfermode_8h_source.html#l00031">31</a> of file <a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a>.</p>
114
<hr/><h2>Member Enumeration Documentation</h2>
115
<a class="anchor" id="a4746add8b21d09d94bf01a7026384a42"></a><!-- doxytag: member="SkXfermode::Coeff" ref="a4746add8b21d09d94bf01a7026384a42" args="" -->
116
<div class="memitem">
117
<div class="memproto">
118
<table class="memname">
120
<td class="memname">enum <a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">SkXfermode::Coeff</a></td>
125
<p>Enum of possible coefficients to describe some xfermodes </p>
126
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
127
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42ae9747aecb7032fc2aec5c7233e845a46"></a><!-- doxytag: member="kZero_Coeff" ref="a4746add8b21d09d94bf01a7026384a42ae9747aecb7032fc2aec5c7233e845a46" args="" -->kZero_Coeff</em> </td><td>
129
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a743ad24318d9f7c0e4d6c22991973b61"></a><!-- doxytag: member="kOne_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a743ad24318d9f7c0e4d6c22991973b61" args="" -->kOne_Coeff</em> </td><td>
132
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a1211a9a893e1c478cfec0d162830c82d"></a><!-- doxytag: member="kSC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a1211a9a893e1c478cfec0d162830c82d" args="" -->kSC_Coeff</em> </td><td>
135
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a4ebc10129afdc98c49d791e008fef412"></a><!-- doxytag: member="kISC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a4ebc10129afdc98c49d791e008fef412" args="" -->kISC_Coeff</em> </td><td>
138
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42ab9e9f6ccce46add2de23f0e6947a0bfe"></a><!-- doxytag: member="kDC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42ab9e9f6ccce46add2de23f0e6947a0bfe" args="" -->kDC_Coeff</em> </td><td>
139
<p>inverse src color (i.e. 1 - sc) </p>
141
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42ac12c339c41c76da2cbcb49547e2c49f1"></a><!-- doxytag: member="kIDC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42ac12c339c41c76da2cbcb49547e2c49f1" args="" -->kIDC_Coeff</em> </td><td>
144
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a0be4baebd03cb2baec72c6e93758cca9"></a><!-- doxytag: member="kSA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a0be4baebd03cb2baec72c6e93758cca9" args="" -->kSA_Coeff</em> </td><td>
145
<p>inverse dst color (i.e. 1 - dc) </p>
147
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a81c52d2b29e5672e2e6d794959c13e9a"></a><!-- doxytag: member="kISA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a81c52d2b29e5672e2e6d794959c13e9a" args="" -->kISA_Coeff</em> </td><td>
150
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a03c3a41805fc597f881f7033d2862535"></a><!-- doxytag: member="kDA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a03c3a41805fc597f881f7033d2862535" args="" -->kDA_Coeff</em> </td><td>
151
<p>inverse src alpha (i.e. 1 - sa) </p>
153
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a59abc889333ac7a21111c2b0754c6a5d"></a><!-- doxytag: member="kIDA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a59abc889333ac7a21111c2b0754c6a5d" args="" -->kIDA_Coeff</em> </td><td>
156
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42abd99dd1e14f02f9eb7a071c6d0ad626d"></a><!-- doxytag: member="kCoeffCount" ref="a4746add8b21d09d94bf01a7026384a42abd99dd1e14f02f9eb7a071c6d0ad626d" args="" -->kCoeffCount</em> </td><td>
157
<p>inverse dst alpha (i.e. 1 - da) </p>
163
<p>Definition at line <a class="el" href="_sk_xfermode_8h_source.html#l00046">46</a> of file <a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a>.</p>
167
<a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40"></a><!-- doxytag: member="SkXfermode::Mode" ref="a73b1831c1491b0a841a20ecf445fff40" args="" -->
168
<div class="memitem">
169
<div class="memproto">
170
<table class="memname">
172
<td class="memname">enum <a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">SkXfermode::Mode</a></td>
177
<p>List of predefined xfermodes. The algebra for the modes uses the following symbols: Sa, Sc - source alpha and color Da, Dc - destination alpha and color (before compositing) [a, c] - Resulting (alpha, color) values For these equations, the colors are in premultiplied state. If no xfermode is specified, kSrcOver is assumed. </p>
178
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
179
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a6258d0a49a66252e2e79a1dfa03d5808"></a><!-- doxytag: member="kClear_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a6258d0a49a66252e2e79a1dfa03d5808" args="" -->kClear_Mode</em> </td><td>
182
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a02b9cda2d64bea196a268ef048f38319"></a><!-- doxytag: member="kSrc_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a02b9cda2d64bea196a268ef048f38319" args="" -->kSrc_Mode</em> </td><td>
185
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a35853096dbe7ff3ffbfabff4b77fec43"></a><!-- doxytag: member="kDst_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a35853096dbe7ff3ffbfabff4b77fec43" args="" -->kDst_Mode</em> </td><td>
188
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ad9ce55f93750f582bd1e2dbd1b4bc682"></a><!-- doxytag: member="kSrcOver_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ad9ce55f93750f582bd1e2dbd1b4bc682" args="" -->kSrcOver_Mode</em> </td><td>
189
<p>[Sa + Da - Sa*Da, Rc = Sc + (1 - Sa)*Dc] </p>
191
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ace07e61b45973fb2b02aabcbce9280fc"></a><!-- doxytag: member="kDstOver_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ace07e61b45973fb2b02aabcbce9280fc" args="" -->kDstOver_Mode</em> </td><td>
192
<p>[Sa + Da - Sa*Da, Rc = Dc + (1 - Da)*Sc] </p>
194
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a9831704fe28c3286614d777eefb6e92c"></a><!-- doxytag: member="kSrcIn_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a9831704fe28c3286614d777eefb6e92c" args="" -->kSrcIn_Mode</em> </td><td>
195
<p>[Sa * Da, Sc * Da] </p>
197
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aa809d24d17d806d3c225c7ccedd5cede"></a><!-- doxytag: member="kDstIn_Mode" ref="a73b1831c1491b0a841a20ecf445fff40aa809d24d17d806d3c225c7ccedd5cede" args="" -->kDstIn_Mode</em> </td><td>
198
<p>[Sa * Da, Sa * Dc] </p>
200
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a5582f94bbe9678cf8a8664621a8d5726"></a><!-- doxytag: member="kSrcOut_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a5582f94bbe9678cf8a8664621a8d5726" args="" -->kSrcOut_Mode</em> </td><td>
201
<p>[Sa * (1 - Da), Sc * (1 - Da)] </p>
203
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40afb4d7c1d11c543182b9bb4e2c4a2a422"></a><!-- doxytag: member="kDstOut_Mode" ref="a73b1831c1491b0a841a20ecf445fff40afb4d7c1d11c543182b9bb4e2c4a2a422" args="" -->kDstOut_Mode</em> </td><td>
204
<p>[Da * (1 - Sa), Dc * (1 - Sa)] </p>
206
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a78b45cdb6d82afff9a21aa87624941a1"></a><!-- doxytag: member="kSrcATop_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a78b45cdb6d82afff9a21aa87624941a1" args="" -->kSrcATop_Mode</em> </td><td>
207
<p>[Da, Sc * Da + (1 - Sa) * Dc] </p>
209
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ae1d6b61bd0d80cc6d33f2d8b982cf13b"></a><!-- doxytag: member="kDstATop_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ae1d6b61bd0d80cc6d33f2d8b982cf13b" args="" -->kDstATop_Mode</em> </td><td>
210
<p>[Sa, Sa * Dc + Sc * (1 - Da)] </p>
212
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a0a77d825a567a083adffbb384efe7de5"></a><!-- doxytag: member="kXor_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a0a77d825a567a083adffbb384efe7de5" args="" -->kXor_Mode</em> </td><td>
213
<p>[Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc] </p>
215
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a2fc7bd168c47d50f966a0d0291cdfda0"></a><!-- doxytag: member="kPlus_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a2fc7bd168c47d50f966a0d0291cdfda0" args="" -->kPlus_Mode</em> </td><td>
217
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a17aefb0bacf48a1b79239ae2749a0d74"></a><!-- doxytag: member="kMultiply_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a17aefb0bacf48a1b79239ae2749a0d74" args="" -->kMultiply_Mode</em> </td><td>
219
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aca9a4502d0a5c306ccfd500b602346e9"></a><!-- doxytag: member="kScreen_Mode" ref="a73b1831c1491b0a841a20ecf445fff40aca9a4502d0a5c306ccfd500b602346e9" args="" -->kScreen_Mode</em> </td><td>
221
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a1f31bcf0623f2368338d8047693afbf9"></a><!-- doxytag: member="kOverlay_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a1f31bcf0623f2368338d8047693afbf9" args="" -->kOverlay_Mode</em> </td><td>
223
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40acaecaeae6b0c2bc320eeddd4941edc6e"></a><!-- doxytag: member="kDarken_Mode" ref="a73b1831c1491b0a841a20ecf445fff40acaecaeae6b0c2bc320eeddd4941edc6e" args="" -->kDarken_Mode</em> </td><td>
225
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ac6e471b1de65b645138f444c76adf196"></a><!-- doxytag: member="kLighten_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ac6e471b1de65b645138f444c76adf196" args="" -->kLighten_Mode</em> </td><td>
227
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aa5ef311527a49eb22eb5ec0c7e4811cb"></a><!-- doxytag: member="kColorDodge_Mode" ref="a73b1831c1491b0a841a20ecf445fff40aa5ef311527a49eb22eb5ec0c7e4811cb" args="" -->kColorDodge_Mode</em> </td><td>
229
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ab847bca89f7224f996400d44e0e530cd"></a><!-- doxytag: member="kColorBurn_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ab847bca89f7224f996400d44e0e530cd" args="" -->kColorBurn_Mode</em> </td><td>
231
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a3e7e31992fdfd0eb84e81bd6031b7926"></a><!-- doxytag: member="kHardLight_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a3e7e31992fdfd0eb84e81bd6031b7926" args="" -->kHardLight_Mode</em> </td><td>
233
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a4cf89b0eafabc1e1b63fb328d2cc1685"></a><!-- doxytag: member="kSoftLight_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a4cf89b0eafabc1e1b63fb328d2cc1685" args="" -->kSoftLight_Mode</em> </td><td>
235
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a61a5c762c59d0337eb5dd9f980850fc0"></a><!-- doxytag: member="kDifference_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a61a5c762c59d0337eb5dd9f980850fc0" args="" -->kDifference_Mode</em> </td><td>
237
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a0b47fb4f340348dc968dc4e658972383"></a><!-- doxytag: member="kExclusion_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a0b47fb4f340348dc968dc4e658972383" args="" -->kExclusion_Mode</em> </td><td>
239
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aa0fc96110a4ff5158b6b85101740cabb"></a><!-- doxytag: member="kLastMode" ref="a73b1831c1491b0a841a20ecf445fff40aa0fc96110a4ff5158b6b85101740cabb" args="" -->kLastMode</em> </td><td>
245
<p>Reimplemented in <a class="el" href="class_sk_avoid_xfermode.html#afdf68f1c7d7ee715bcfa0243720ff5f0">SkAvoidXfermode</a>.</p>
247
<p>Definition at line <a class="el" href="_sk_xfermode_8h_source.html#l00086">86</a> of file <a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a>.</p>
251
<hr/><h2>Constructor & Destructor Documentation</h2>
252
<a class="anchor" id="a2061d626f726c1f5bd660e3df14d618c"></a><!-- doxytag: member="SkXfermode::SkXfermode" ref="a2061d626f726c1f5bd660e3df14d618c" args="()" -->
253
<div class="memitem">
254
<div class="memproto">
255
<table class="memname">
257
<td class="memname">SkXfermode::SkXfermode </td>
259
<td class="paramname"></td>
260
<td> ) </td>
261
<td><code> [inline]</code></td>
267
<p>Definition at line <a class="el" href="_sk_xfermode_8h_source.html#l00033">33</a> of file <a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a>.</p>
271
<a class="anchor" id="a5ab03bc4a8b1eab89b4e5194d87e7614"></a><!-- doxytag: member="SkXfermode::SkXfermode" ref="a5ab03bc4a8b1eab89b4e5194d87e7614" args="(SkFlattenableReadBuffer &rb)" -->
272
<div class="memitem">
273
<div class="memproto">
274
<table class="memname">
276
<td class="memname">SkXfermode::SkXfermode </td>
278
<td class="paramtype"><a class="el" href="class_sk_flattenable_read_buffer.html">SkFlattenableReadBuffer</a> & </td>
279
<td class="paramname"> <em>rb</em></td>
280
<td> ) </td>
281
<td><code> [inline, protected]</code></td>
287
<p>Definition at line <a class="el" href="_sk_xfermode_8h_source.html#l00142">142</a> of file <a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a>.</p>
291
<hr/><h2>Member Function Documentation</h2>
292
<a class="anchor" id="a3236676496fdb7d30881582ce2110ef5"></a><!-- doxytag: member="SkXfermode::asCoeff" ref="a3236676496fdb7d30881582ce2110ef5" args="(Coeff *src, Coeff *dst)" -->
293
<div class="memitem">
294
<div class="memproto">
295
<table class="memname">
297
<td class="memname">virtual bool SkXfermode::asCoeff </td>
299
<td class="paramtype"><a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> * </td>
300
<td class="paramname"> <em>src</em>, </td>
303
<td class="paramkey"></td>
305
<td class="paramtype"><a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> * </td>
306
<td class="paramname"> <em>dst</em></td><td> </td>
311
<td></td><td></td><td><code> [virtual]</code></td>
316
<p>If the xfermode can be expressed as an equation using the coefficients in Coeff, then <a class="el" href="class_sk_xfermode.html#a3236676496fdb7d30881582ce2110ef5">asCoeff()</a> returns true, and sets (if not null) src and dst accordingly.</p>
317
<p>result = src_coeff * src_color + dst_coeff * dst_color;</p>
318
<p>As examples, here are some of the porterduff coefficients</p>
319
<p>MODE SRC_COEFF DST_COEFF clear zero zero src one zero dst zero one srcover one isa dstover ida one </p>
323
<a class="anchor" id="a0537d5be65be00ef5c0322ace1cea0f9"></a><!-- doxytag: member="SkXfermode::Create" ref="a0537d5be65be00ef5c0322ace1cea0f9" args="(Mode mode)" -->
324
<div class="memitem">
325
<div class="memproto">
326
<table class="memname">
328
<td class="memname">static <a class="el" href="class_sk_xfermode.html">SkXfermode</a>* SkXfermode::Create </td>
330
<td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> </td>
331
<td class="paramname"> <em>mode</em></td>
332
<td> ) </td>
333
<td><code> [static]</code></td>
338
<p>Return an <a class="el" href="class_sk_xfermode.html">SkXfermode</a> object for the specified mode. </p>
342
<a class="anchor" id="afc8cf95373a7fcdd8c082ad2b505fe69"></a><!-- doxytag: member="SkXfermode::GetProc" ref="afc8cf95373a7fcdd8c082ad2b505fe69" args="(Mode mode)" -->
343
<div class="memitem">
344
<div class="memproto">
345
<table class="memname">
347
<td class="memname">static <a class="el" href="_sk_color_8h.html#a470a9390037f83c8e7bfd23d67f765b2">SkXfermodeProc</a> SkXfermode::GetProc </td>
349
<td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> </td>
350
<td class="paramname"> <em>mode</em></td>
351
<td> ) </td>
352
<td><code> [static]</code></td>
357
<p>Return a function pointer to a routine that applies the specified porter-duff transfer mode. </p>
361
<a class="anchor" id="a0d76cd38740117270842337ea55e8512"></a><!-- doxytag: member="SkXfermode::GetProc16" ref="a0d76cd38740117270842337ea55e8512" args="(Mode mode, SkColor srcColor)" -->
362
<div class="memitem">
363
<div class="memproto">
364
<table class="memname">
366
<td class="memname">static <a class="el" href="_sk_color_8h.html#ac2005c65c75a292e4f1a54cf986ec834">SkXfermodeProc16</a> SkXfermode::GetProc16 </td>
368
<td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> </td>
369
<td class="paramname"> <em>mode</em>, </td>
372
<td class="paramkey"></td>
374
<td class="paramtype"><a class="el" href="_sk_color_8h.html#a84c81e6a24ff07a55333acf5603046a8">SkColor</a> </td>
375
<td class="paramname"> <em>srcColor</em></td><td> </td>
380
<td></td><td></td><td><code> [static]</code></td>
385
<p>Return a function pointer to a routine that applies the specified porter-duff transfer mode and srcColor to a 16bit device color. Note, if the mode+srcColor might return a non-opaque color, then there is not 16bit proc, and this will return NULL. </p>
389
<a class="anchor" id="a715dfaa236d7d9c55a3e1220bb488a1d"></a><!-- doxytag: member="SkXfermode::IsMode" ref="a715dfaa236d7d9c55a3e1220bb488a1d" args="(SkXfermode *, Mode *mode)" -->
390
<div class="memitem">
391
<div class="memproto">
392
<table class="memname">
394
<td class="memname">static bool SkXfermode::IsMode </td>
396
<td class="paramtype"><a class="el" href="class_sk_xfermode.html">SkXfermode</a> * </td>
397
<td class="paramname">, </td>
400
<td class="paramkey"></td>
402
<td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> * </td>
403
<td class="paramname"> <em>mode</em></td><td> </td>
408
<td></td><td></td><td><code> [static]</code></td>
413
<p>If the specified xfermode advertises itself as one of the porterduff modes (via <a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">SkXfermode::Coeff</a>), return true and if not null, set mode to the corresponding porterduff mode. If it is not recognized as a one, return false and ignore the mode parameter. </p>
417
<a class="anchor" id="a4d7eb3559e6975836315e3332cb0f920"></a><!-- doxytag: member="SkXfermode::xfer16" ref="a4d7eb3559e6975836315e3332cb0f920" args="(uint16_t dst[], const SkPMColor src[], int count, const SkAlpha aa[])" -->
418
<div class="memitem">
419
<div class="memproto">
420
<table class="memname">
422
<td class="memname">virtual void SkXfermode::xfer16 </td>
424
<td class="paramtype">uint16_t </td>
425
<td class="paramname"> <em>dst</em>[], </td>
428
<td class="paramkey"></td>
430
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td>
431
<td class="paramname"> <em>src</em>[], </td>
434
<td class="paramkey"></td>
436
<td class="paramtype">int </td>
437
<td class="paramname"> <em>count</em>, </td>
440
<td class="paramkey"></td>
442
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> </td>
443
<td class="paramname"> <em>aa</em>[]</td><td> </td>
448
<td></td><td></td><td><code> [virtual]</code></td>
454
<p>Reimplemented in <a class="el" href="class_sk_proc_xfermode.html#aec4679933a73060858fec8ed7d9cb8d3">SkProcXfermode</a>, and <a class="el" href="class_sk_avoid_xfermode.html#a59884f646974d601e26b0529a7367bf9">SkAvoidXfermode</a>.</p>
458
<a class="anchor" id="a02a8c0186b0b05670deb677c31152fff"></a><!-- doxytag: member="SkXfermode::xfer32" ref="a02a8c0186b0b05670deb677c31152fff" args="(SkPMColor dst[], const SkPMColor src[], int count, const SkAlpha aa[])" -->
459
<div class="memitem">
460
<div class="memproto">
461
<table class="memname">
463
<td class="memname">virtual void SkXfermode::xfer32 </td>
465
<td class="paramtype"><a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td>
466
<td class="paramname"> <em>dst</em>[], </td>
469
<td class="paramkey"></td>
471
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td>
472
<td class="paramname"> <em>src</em>[], </td>
475
<td class="paramkey"></td>
477
<td class="paramtype">int </td>
478
<td class="paramname"> <em>count</em>, </td>
481
<td class="paramkey"></td>
483
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> </td>
484
<td class="paramname"> <em>aa</em>[]</td><td> </td>
489
<td></td><td></td><td><code> [virtual]</code></td>
495
<p>Reimplemented in <a class="el" href="class_sk_proc_xfermode.html#a8d6e5b7a420b4f2884f3243a93049d25">SkProcXfermode</a>, and <a class="el" href="class_sk_avoid_xfermode.html#a1cd8cb1026e29ddf4e5995dbff63099f">SkAvoidXfermode</a>.</p>
499
<a class="anchor" id="a2b674254aec828bd98b92166844c35b6"></a><!-- doxytag: member="SkXfermode::xfer4444" ref="a2b674254aec828bd98b92166844c35b6" args="(uint16_t dst[], const SkPMColor src[], int count, const SkAlpha aa[])" -->
500
<div class="memitem">
501
<div class="memproto">
502
<table class="memname">
504
<td class="memname">virtual void SkXfermode::xfer4444 </td>
506
<td class="paramtype">uint16_t </td>
507
<td class="paramname"> <em>dst</em>[], </td>
510
<td class="paramkey"></td>
512
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td>
513
<td class="paramname"> <em>src</em>[], </td>
516
<td class="paramkey"></td>
518
<td class="paramtype">int </td>
519
<td class="paramname"> <em>count</em>, </td>
522
<td class="paramkey"></td>
524
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> </td>
525
<td class="paramname"> <em>aa</em>[]</td><td> </td>
530
<td></td><td></td><td><code> [virtual]</code></td>
536
<p>Reimplemented in <a class="el" href="class_sk_proc_xfermode.html#a5913f3d858a2ea5c60893b2b855bdc21">SkProcXfermode</a>, and <a class="el" href="class_sk_avoid_xfermode.html#a9fb3837107eb29022a7373131fcfe335">SkAvoidXfermode</a>.</p>
540
<a class="anchor" id="a42f60564908990cc95238bf6b544d9d1"></a><!-- doxytag: member="SkXfermode::xferA8" ref="a42f60564908990cc95238bf6b544d9d1" args="(SkAlpha dst[], const SkPMColor src[], int count, const SkAlpha aa[])" -->
541
<div class="memitem">
542
<div class="memproto">
543
<table class="memname">
545
<td class="memname">virtual void SkXfermode::xferA8 </td>
547
<td class="paramtype"><a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> </td>
548
<td class="paramname"> <em>dst</em>[], </td>
551
<td class="paramkey"></td>
553
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td>
554
<td class="paramname"> <em>src</em>[], </td>
557
<td class="paramkey"></td>
559
<td class="paramtype">int </td>
560
<td class="paramname"> <em>count</em>, </td>
563
<td class="paramkey"></td>
565
<td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a> </td>
566
<td class="paramname"> <em>aa</em>[]</td><td> </td>
571
<td></td><td></td><td><code> [virtual]</code></td>
577
<p>Reimplemented in <a class="el" href="class_sk_proc_xfermode.html#a4546666228e3faf544f529cbfd9b2a40">SkProcXfermode</a>, and <a class="el" href="class_sk_avoid_xfermode.html#a267d47070e8ddd789780e6fe8cae6e0f">SkAvoidXfermode</a>.</p>
581
<a class="anchor" id="acfe486577509fa1d1c723819841f738a"></a><!-- doxytag: member="SkXfermode::xferColor" ref="acfe486577509fa1d1c723819841f738a" args="(SkPMColor src, SkPMColor dst)" -->
582
<div class="memitem">
583
<div class="memproto">
584
<table class="memname">
586
<td class="memname">virtual <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> SkXfermode::xferColor </td>
588
<td class="paramtype"><a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td>
589
<td class="paramname"> <em>src</em>, </td>
592
<td class="paramkey"></td>
594
<td class="paramtype"><a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> </td>
595
<td class="paramname"> <em>dst</em></td><td> </td>
600
<td></td><td></td><td><code> [protected, virtual]</code></td>
605
<p>The default implementation of xfer32/xfer16/xferA8 in turn call this method, 1 color at a time (upscaled to a SkPMColor). The default implmentation of this method just returns dst. If performance is important, your subclass should override xfer32/xfer16/xferA8 directly.</p>
606
<p>This method will not be called directly by the client, so it need not be implemented if your subclass has overridden xfer32/xfer16/xferA8 </p>
608
<p>Reimplemented in <a class="el" href="class_sk_pixel_xor_xfermode.html#adb3a116e84bf58fbdd8354b5c1a971a8">SkPixelXorXfermode</a>.</p>
612
<hr/>The documentation for this class was generated from the following file:<ul>
613
<li>include/core/<a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a></li>
616
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Oct 20 11:03:42 2009 for Skia by
617
<a href="http://www.doxygen.org/index.html">
618
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>