~jammy-zhou/+junk/skia

« back to all changes in this revision

Viewing changes to docs/html/.svn/text-base/class_sk_xfermode.html.svn-base

  • Committer: Jammy Zhou
  • Date: 2010-11-05 22:47:35 UTC
  • Revision ID: jammy.zhou@linaro.org-20101105224735-i1miyqbyxwslg7t2
initial version (upstream r622)

http://code.google.com/p/skia/source/list

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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">
 
3
<head>
 
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"/>
 
8
</head>
 
9
<body>
 
10
<!-- Generated by Doxygen 1.6.1 -->
 
11
<div class="navigation" id="top">
 
12
  <div class="tabs">
 
13
    <ul>
 
14
      <li><a href="main.html"><span>Main&nbsp;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>
 
18
    </ul>
 
19
  </div>
 
20
  <div class="tabs">
 
21
    <ul>
 
22
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
 
23
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
 
24
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
 
25
    </ul>
 
26
  </div>
 
27
</div>
 
28
<div class="contents">
 
29
<h1>SkXfermode Class Reference</h1><!-- doxytag: class="SkXfermode" --><!-- doxytag: inherits="SkFlattenable" -->
 
30
<p><code>#include &lt;<a class="el" href="_sk_xfermode_8h_source.html">SkXfermode.h</a>&gt;</code></p>
 
31
 
 
32
<p>Inherits <a class="el" href="class_sk_flattenable.html">SkFlattenable</a>.</p>
 
33
 
 
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>
 
40
 
 
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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> { <br/>
 
45
&nbsp;&nbsp;<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>, 
 
49
<br/>
 
50
&nbsp;&nbsp;<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>, 
 
54
<br/>
 
55
&nbsp;&nbsp;<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>
 
58
<br/>
 
59
 }</td></tr>
 
60
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> { <br/>
 
61
&nbsp;&nbsp;<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>, 
 
65
<br/>
 
66
&nbsp;&nbsp;<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>, 
 
70
<br/>
 
71
&nbsp;&nbsp;<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>, 
 
75
<br/>
 
76
&nbsp;&nbsp;<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>, 
 
80
<br/>
 
81
&nbsp;&nbsp;<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>, 
 
85
<br/>
 
86
&nbsp;&nbsp;<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>, 
 
90
<br/>
 
91
&nbsp;&nbsp;<a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40aa0fc96110a4ff5158b6b85101740cabb">kLastMode</a> =  kExclusion_Mode
 
92
<br/>
 
93
 }</td></tr>
 
94
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
 
95
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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> *&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</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">&nbsp;</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> &amp;rb)</td></tr>
 
108
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</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>
 
109
</table>
 
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>
 
112
 
 
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">
 
119
        <tr>
 
120
          <td class="memname">enum <a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">SkXfermode::Coeff</a></td>
 
121
        </tr>
 
122
      </table>
 
123
</div>
 
124
<div class="memdoc">
 
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>&nbsp;</td><td>
 
128
</td></tr>
 
129
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a743ad24318d9f7c0e4d6c22991973b61"></a><!-- doxytag: member="kOne_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a743ad24318d9f7c0e4d6c22991973b61" args="" -->kOne_Coeff</em>&nbsp;</td><td>
 
130
<p>0 </p>
 
131
</td></tr>
 
132
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a1211a9a893e1c478cfec0d162830c82d"></a><!-- doxytag: member="kSC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a1211a9a893e1c478cfec0d162830c82d" args="" -->kSC_Coeff</em>&nbsp;</td><td>
 
133
<p>1 </p>
 
134
</td></tr>
 
135
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a4ebc10129afdc98c49d791e008fef412"></a><!-- doxytag: member="kISC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a4ebc10129afdc98c49d791e008fef412" args="" -->kISC_Coeff</em>&nbsp;</td><td>
 
136
<p>src color </p>
 
137
</td></tr>
 
138
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42ab9e9f6ccce46add2de23f0e6947a0bfe"></a><!-- doxytag: member="kDC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42ab9e9f6ccce46add2de23f0e6947a0bfe" args="" -->kDC_Coeff</em>&nbsp;</td><td>
 
139
<p>inverse src color (i.e. 1 - sc) </p>
 
140
</td></tr>
 
141
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42ac12c339c41c76da2cbcb49547e2c49f1"></a><!-- doxytag: member="kIDC_Coeff" ref="a4746add8b21d09d94bf01a7026384a42ac12c339c41c76da2cbcb49547e2c49f1" args="" -->kIDC_Coeff</em>&nbsp;</td><td>
 
142
<p>dst color </p>
 
143
</td></tr>
 
144
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a0be4baebd03cb2baec72c6e93758cca9"></a><!-- doxytag: member="kSA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a0be4baebd03cb2baec72c6e93758cca9" args="" -->kSA_Coeff</em>&nbsp;</td><td>
 
145
<p>inverse dst color (i.e. 1 - dc) </p>
 
146
</td></tr>
 
147
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a81c52d2b29e5672e2e6d794959c13e9a"></a><!-- doxytag: member="kISA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a81c52d2b29e5672e2e6d794959c13e9a" args="" -->kISA_Coeff</em>&nbsp;</td><td>
 
148
<p>src alpha </p>
 
149
</td></tr>
 
150
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a03c3a41805fc597f881f7033d2862535"></a><!-- doxytag: member="kDA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a03c3a41805fc597f881f7033d2862535" args="" -->kDA_Coeff</em>&nbsp;</td><td>
 
151
<p>inverse src alpha (i.e. 1 - sa) </p>
 
152
</td></tr>
 
153
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42a59abc889333ac7a21111c2b0754c6a5d"></a><!-- doxytag: member="kIDA_Coeff" ref="a4746add8b21d09d94bf01a7026384a42a59abc889333ac7a21111c2b0754c6a5d" args="" -->kIDA_Coeff</em>&nbsp;</td><td>
 
154
<p>dst alpha </p>
 
155
</td></tr>
 
156
<tr><td valign="top"><em><a class="anchor" id="a4746add8b21d09d94bf01a7026384a42abd99dd1e14f02f9eb7a071c6d0ad626d"></a><!-- doxytag: member="kCoeffCount" ref="a4746add8b21d09d94bf01a7026384a42abd99dd1e14f02f9eb7a071c6d0ad626d" args="" -->kCoeffCount</em>&nbsp;</td><td>
 
157
<p>inverse dst alpha (i.e. 1 - da) </p>
 
158
</td></tr>
 
159
</table>
 
160
</dd>
 
161
</dl>
 
162
 
 
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>
 
164
 
 
165
</div>
 
166
</div>
 
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">
 
171
        <tr>
 
172
          <td class="memname">enum <a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">SkXfermode::Mode</a></td>
 
173
        </tr>
 
174
      </table>
 
175
</div>
 
176
<div class="memdoc">
 
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>&nbsp;</td><td>
 
180
<p>[0, 0] </p>
 
181
</td></tr>
 
182
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a02b9cda2d64bea196a268ef048f38319"></a><!-- doxytag: member="kSrc_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a02b9cda2d64bea196a268ef048f38319" args="" -->kSrc_Mode</em>&nbsp;</td><td>
 
183
<p>[Sa, Sc] </p>
 
184
</td></tr>
 
185
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a35853096dbe7ff3ffbfabff4b77fec43"></a><!-- doxytag: member="kDst_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a35853096dbe7ff3ffbfabff4b77fec43" args="" -->kDst_Mode</em>&nbsp;</td><td>
 
186
<p>[Da, Dc] </p>
 
187
</td></tr>
 
188
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ad9ce55f93750f582bd1e2dbd1b4bc682"></a><!-- doxytag: member="kSrcOver_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ad9ce55f93750f582bd1e2dbd1b4bc682" args="" -->kSrcOver_Mode</em>&nbsp;</td><td>
 
189
<p>[Sa + Da - Sa*Da, Rc = Sc + (1 - Sa)*Dc] </p>
 
190
</td></tr>
 
191
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ace07e61b45973fb2b02aabcbce9280fc"></a><!-- doxytag: member="kDstOver_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ace07e61b45973fb2b02aabcbce9280fc" args="" -->kDstOver_Mode</em>&nbsp;</td><td>
 
192
<p>[Sa + Da - Sa*Da, Rc = Dc + (1 - Da)*Sc] </p>
 
193
</td></tr>
 
194
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a9831704fe28c3286614d777eefb6e92c"></a><!-- doxytag: member="kSrcIn_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a9831704fe28c3286614d777eefb6e92c" args="" -->kSrcIn_Mode</em>&nbsp;</td><td>
 
195
<p>[Sa * Da, Sc * Da] </p>
 
196
</td></tr>
 
197
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aa809d24d17d806d3c225c7ccedd5cede"></a><!-- doxytag: member="kDstIn_Mode" ref="a73b1831c1491b0a841a20ecf445fff40aa809d24d17d806d3c225c7ccedd5cede" args="" -->kDstIn_Mode</em>&nbsp;</td><td>
 
198
<p>[Sa * Da, Sa * Dc] </p>
 
199
</td></tr>
 
200
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a5582f94bbe9678cf8a8664621a8d5726"></a><!-- doxytag: member="kSrcOut_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a5582f94bbe9678cf8a8664621a8d5726" args="" -->kSrcOut_Mode</em>&nbsp;</td><td>
 
201
<p>[Sa * (1 - Da), Sc * (1 - Da)] </p>
 
202
</td></tr>
 
203
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40afb4d7c1d11c543182b9bb4e2c4a2a422"></a><!-- doxytag: member="kDstOut_Mode" ref="a73b1831c1491b0a841a20ecf445fff40afb4d7c1d11c543182b9bb4e2c4a2a422" args="" -->kDstOut_Mode</em>&nbsp;</td><td>
 
204
<p>[Da * (1 - Sa), Dc * (1 - Sa)] </p>
 
205
</td></tr>
 
206
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a78b45cdb6d82afff9a21aa87624941a1"></a><!-- doxytag: member="kSrcATop_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a78b45cdb6d82afff9a21aa87624941a1" args="" -->kSrcATop_Mode</em>&nbsp;</td><td>
 
207
<p>[Da, Sc * Da + (1 - Sa) * Dc] </p>
 
208
</td></tr>
 
209
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ae1d6b61bd0d80cc6d33f2d8b982cf13b"></a><!-- doxytag: member="kDstATop_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ae1d6b61bd0d80cc6d33f2d8b982cf13b" args="" -->kDstATop_Mode</em>&nbsp;</td><td>
 
210
<p>[Sa, Sa * Dc + Sc * (1 - Da)] </p>
 
211
</td></tr>
 
212
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a0a77d825a567a083adffbb384efe7de5"></a><!-- doxytag: member="kXor_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a0a77d825a567a083adffbb384efe7de5" args="" -->kXor_Mode</em>&nbsp;</td><td>
 
213
<p>[Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc] </p>
 
214
</td></tr>
 
215
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a2fc7bd168c47d50f966a0d0291cdfda0"></a><!-- doxytag: member="kPlus_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a2fc7bd168c47d50f966a0d0291cdfda0" args="" -->kPlus_Mode</em>&nbsp;</td><td>
 
216
</td></tr>
 
217
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a17aefb0bacf48a1b79239ae2749a0d74"></a><!-- doxytag: member="kMultiply_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a17aefb0bacf48a1b79239ae2749a0d74" args="" -->kMultiply_Mode</em>&nbsp;</td><td>
 
218
</td></tr>
 
219
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aca9a4502d0a5c306ccfd500b602346e9"></a><!-- doxytag: member="kScreen_Mode" ref="a73b1831c1491b0a841a20ecf445fff40aca9a4502d0a5c306ccfd500b602346e9" args="" -->kScreen_Mode</em>&nbsp;</td><td>
 
220
</td></tr>
 
221
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a1f31bcf0623f2368338d8047693afbf9"></a><!-- doxytag: member="kOverlay_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a1f31bcf0623f2368338d8047693afbf9" args="" -->kOverlay_Mode</em>&nbsp;</td><td>
 
222
</td></tr>
 
223
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40acaecaeae6b0c2bc320eeddd4941edc6e"></a><!-- doxytag: member="kDarken_Mode" ref="a73b1831c1491b0a841a20ecf445fff40acaecaeae6b0c2bc320eeddd4941edc6e" args="" -->kDarken_Mode</em>&nbsp;</td><td>
 
224
</td></tr>
 
225
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ac6e471b1de65b645138f444c76adf196"></a><!-- doxytag: member="kLighten_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ac6e471b1de65b645138f444c76adf196" args="" -->kLighten_Mode</em>&nbsp;</td><td>
 
226
</td></tr>
 
227
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aa5ef311527a49eb22eb5ec0c7e4811cb"></a><!-- doxytag: member="kColorDodge_Mode" ref="a73b1831c1491b0a841a20ecf445fff40aa5ef311527a49eb22eb5ec0c7e4811cb" args="" -->kColorDodge_Mode</em>&nbsp;</td><td>
 
228
</td></tr>
 
229
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40ab847bca89f7224f996400d44e0e530cd"></a><!-- doxytag: member="kColorBurn_Mode" ref="a73b1831c1491b0a841a20ecf445fff40ab847bca89f7224f996400d44e0e530cd" args="" -->kColorBurn_Mode</em>&nbsp;</td><td>
 
230
</td></tr>
 
231
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a3e7e31992fdfd0eb84e81bd6031b7926"></a><!-- doxytag: member="kHardLight_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a3e7e31992fdfd0eb84e81bd6031b7926" args="" -->kHardLight_Mode</em>&nbsp;</td><td>
 
232
</td></tr>
 
233
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a4cf89b0eafabc1e1b63fb328d2cc1685"></a><!-- doxytag: member="kSoftLight_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a4cf89b0eafabc1e1b63fb328d2cc1685" args="" -->kSoftLight_Mode</em>&nbsp;</td><td>
 
234
</td></tr>
 
235
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a61a5c762c59d0337eb5dd9f980850fc0"></a><!-- doxytag: member="kDifference_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a61a5c762c59d0337eb5dd9f980850fc0" args="" -->kDifference_Mode</em>&nbsp;</td><td>
 
236
</td></tr>
 
237
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40a0b47fb4f340348dc968dc4e658972383"></a><!-- doxytag: member="kExclusion_Mode" ref="a73b1831c1491b0a841a20ecf445fff40a0b47fb4f340348dc968dc4e658972383" args="" -->kExclusion_Mode</em>&nbsp;</td><td>
 
238
</td></tr>
 
239
<tr><td valign="top"><em><a class="anchor" id="a73b1831c1491b0a841a20ecf445fff40aa0fc96110a4ff5158b6b85101740cabb"></a><!-- doxytag: member="kLastMode" ref="a73b1831c1491b0a841a20ecf445fff40aa0fc96110a4ff5158b6b85101740cabb" args="" -->kLastMode</em>&nbsp;</td><td>
 
240
</td></tr>
 
241
</table>
 
242
</dd>
 
243
</dl>
 
244
 
 
245
<p>Reimplemented in <a class="el" href="class_sk_avoid_xfermode.html#afdf68f1c7d7ee715bcfa0243720ff5f0">SkAvoidXfermode</a>.</p>
 
246
 
 
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>
 
248
 
 
249
</div>
 
250
</div>
 
251
<hr/><h2>Constructor &amp; 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">
 
256
        <tr>
 
257
          <td class="memname">SkXfermode::SkXfermode </td>
 
258
          <td>(</td>
 
259
          <td class="paramname"></td>
 
260
          <td>&nbsp;)&nbsp;</td>
 
261
          <td><code> [inline]</code></td>
 
262
        </tr>
 
263
      </table>
 
264
</div>
 
265
<div class="memdoc">
 
266
 
 
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>
 
268
 
 
269
</div>
 
270
</div>
 
271
<a class="anchor" id="a5ab03bc4a8b1eab89b4e5194d87e7614"></a><!-- doxytag: member="SkXfermode::SkXfermode" ref="a5ab03bc4a8b1eab89b4e5194d87e7614" args="(SkFlattenableReadBuffer &amp;rb)" -->
 
272
<div class="memitem">
 
273
<div class="memproto">
 
274
      <table class="memname">
 
275
        <tr>
 
276
          <td class="memname">SkXfermode::SkXfermode </td>
 
277
          <td>(</td>
 
278
          <td class="paramtype"><a class="el" href="class_sk_flattenable_read_buffer.html">SkFlattenableReadBuffer</a> &amp;&nbsp;</td>
 
279
          <td class="paramname"> <em>rb</em></td>
 
280
          <td>&nbsp;)&nbsp;</td>
 
281
          <td><code> [inline, protected]</code></td>
 
282
        </tr>
 
283
      </table>
 
284
</div>
 
285
<div class="memdoc">
 
286
 
 
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>
 
288
 
 
289
</div>
 
290
</div>
 
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">
 
296
        <tr>
 
297
          <td class="memname">virtual bool SkXfermode::asCoeff </td>
 
298
          <td>(</td>
 
299
          <td class="paramtype"><a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> *&nbsp;</td>
 
300
          <td class="paramname"> <em>src</em>, </td>
 
301
        </tr>
 
302
        <tr>
 
303
          <td class="paramkey"></td>
 
304
          <td></td>
 
305
          <td class="paramtype"><a class="el" href="class_sk_xfermode.html#a4746add8b21d09d94bf01a7026384a42">Coeff</a> *&nbsp;</td>
 
306
          <td class="paramname"> <em>dst</em></td><td>&nbsp;</td>
 
307
        </tr>
 
308
        <tr>
 
309
          <td></td>
 
310
          <td>)</td>
 
311
          <td></td><td></td><td><code> [virtual]</code></td>
 
312
        </tr>
 
313
      </table>
 
314
</div>
 
315
<div class="memdoc">
 
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>
 
320
 
 
321
</div>
 
322
</div>
 
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">
 
327
        <tr>
 
328
          <td class="memname">static <a class="el" href="class_sk_xfermode.html">SkXfermode</a>* SkXfermode::Create </td>
 
329
          <td>(</td>
 
330
          <td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a>&nbsp;</td>
 
331
          <td class="paramname"> <em>mode</em></td>
 
332
          <td>&nbsp;)&nbsp;</td>
 
333
          <td><code> [static]</code></td>
 
334
        </tr>
 
335
      </table>
 
336
</div>
 
337
<div class="memdoc">
 
338
<p>Return an <a class="el" href="class_sk_xfermode.html">SkXfermode</a> object for the specified mode. </p>
 
339
 
 
340
</div>
 
341
</div>
 
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">
 
346
        <tr>
 
347
          <td class="memname">static <a class="el" href="_sk_color_8h.html#a470a9390037f83c8e7bfd23d67f765b2">SkXfermodeProc</a> SkXfermode::GetProc </td>
 
348
          <td>(</td>
 
349
          <td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a>&nbsp;</td>
 
350
          <td class="paramname"> <em>mode</em></td>
 
351
          <td>&nbsp;)&nbsp;</td>
 
352
          <td><code> [static]</code></td>
 
353
        </tr>
 
354
      </table>
 
355
</div>
 
356
<div class="memdoc">
 
357
<p>Return a function pointer to a routine that applies the specified porter-duff transfer mode. </p>
 
358
 
 
359
</div>
 
360
</div>
 
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">
 
365
        <tr>
 
366
          <td class="memname">static <a class="el" href="_sk_color_8h.html#ac2005c65c75a292e4f1a54cf986ec834">SkXfermodeProc16</a> SkXfermode::GetProc16 </td>
 
367
          <td>(</td>
 
368
          <td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a>&nbsp;</td>
 
369
          <td class="paramname"> <em>mode</em>, </td>
 
370
        </tr>
 
371
        <tr>
 
372
          <td class="paramkey"></td>
 
373
          <td></td>
 
374
          <td class="paramtype"><a class="el" href="_sk_color_8h.html#a84c81e6a24ff07a55333acf5603046a8">SkColor</a>&nbsp;</td>
 
375
          <td class="paramname"> <em>srcColor</em></td><td>&nbsp;</td>
 
376
        </tr>
 
377
        <tr>
 
378
          <td></td>
 
379
          <td>)</td>
 
380
          <td></td><td></td><td><code> [static]</code></td>
 
381
        </tr>
 
382
      </table>
 
383
</div>
 
384
<div class="memdoc">
 
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>
 
386
 
 
387
</div>
 
388
</div>
 
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">
 
393
        <tr>
 
394
          <td class="memname">static bool SkXfermode::IsMode </td>
 
395
          <td>(</td>
 
396
          <td class="paramtype"><a class="el" href="class_sk_xfermode.html">SkXfermode</a> *&nbsp;</td>
 
397
          <td class="paramname">, </td>
 
398
        </tr>
 
399
        <tr>
 
400
          <td class="paramkey"></td>
 
401
          <td></td>
 
402
          <td class="paramtype"><a class="el" href="class_sk_xfermode.html#a73b1831c1491b0a841a20ecf445fff40">Mode</a> *&nbsp;</td>
 
403
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
 
404
        </tr>
 
405
        <tr>
 
406
          <td></td>
 
407
          <td>)</td>
 
408
          <td></td><td></td><td><code> [static]</code></td>
 
409
        </tr>
 
410
      </table>
 
411
</div>
 
412
<div class="memdoc">
 
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>
 
414
 
 
415
</div>
 
416
</div>
 
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">
 
421
        <tr>
 
422
          <td class="memname">virtual void SkXfermode::xfer16 </td>
 
423
          <td>(</td>
 
424
          <td class="paramtype">uint16_t&nbsp;</td>
 
425
          <td class="paramname"> <em>dst</em>[], </td>
 
426
        </tr>
 
427
        <tr>
 
428
          <td class="paramkey"></td>
 
429
          <td></td>
 
430
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</td>
 
431
          <td class="paramname"> <em>src</em>[], </td>
 
432
        </tr>
 
433
        <tr>
 
434
          <td class="paramkey"></td>
 
435
          <td></td>
 
436
          <td class="paramtype">int&nbsp;</td>
 
437
          <td class="paramname"> <em>count</em>, </td>
 
438
        </tr>
 
439
        <tr>
 
440
          <td class="paramkey"></td>
 
441
          <td></td>
 
442
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a>&nbsp;</td>
 
443
          <td class="paramname"> <em>aa</em>[]</td><td>&nbsp;</td>
 
444
        </tr>
 
445
        <tr>
 
446
          <td></td>
 
447
          <td>)</td>
 
448
          <td></td><td></td><td><code> [virtual]</code></td>
 
449
        </tr>
 
450
      </table>
 
451
</div>
 
452
<div class="memdoc">
 
453
 
 
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>
 
455
 
 
456
</div>
 
457
</div>
 
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">
 
462
        <tr>
 
463
          <td class="memname">virtual void SkXfermode::xfer32 </td>
 
464
          <td>(</td>
 
465
          <td class="paramtype"><a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</td>
 
466
          <td class="paramname"> <em>dst</em>[], </td>
 
467
        </tr>
 
468
        <tr>
 
469
          <td class="paramkey"></td>
 
470
          <td></td>
 
471
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</td>
 
472
          <td class="paramname"> <em>src</em>[], </td>
 
473
        </tr>
 
474
        <tr>
 
475
          <td class="paramkey"></td>
 
476
          <td></td>
 
477
          <td class="paramtype">int&nbsp;</td>
 
478
          <td class="paramname"> <em>count</em>, </td>
 
479
        </tr>
 
480
        <tr>
 
481
          <td class="paramkey"></td>
 
482
          <td></td>
 
483
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a>&nbsp;</td>
 
484
          <td class="paramname"> <em>aa</em>[]</td><td>&nbsp;</td>
 
485
        </tr>
 
486
        <tr>
 
487
          <td></td>
 
488
          <td>)</td>
 
489
          <td></td><td></td><td><code> [virtual]</code></td>
 
490
        </tr>
 
491
      </table>
 
492
</div>
 
493
<div class="memdoc">
 
494
 
 
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>
 
496
 
 
497
</div>
 
498
</div>
 
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">
 
503
        <tr>
 
504
          <td class="memname">virtual void SkXfermode::xfer4444 </td>
 
505
          <td>(</td>
 
506
          <td class="paramtype">uint16_t&nbsp;</td>
 
507
          <td class="paramname"> <em>dst</em>[], </td>
 
508
        </tr>
 
509
        <tr>
 
510
          <td class="paramkey"></td>
 
511
          <td></td>
 
512
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</td>
 
513
          <td class="paramname"> <em>src</em>[], </td>
 
514
        </tr>
 
515
        <tr>
 
516
          <td class="paramkey"></td>
 
517
          <td></td>
 
518
          <td class="paramtype">int&nbsp;</td>
 
519
          <td class="paramname"> <em>count</em>, </td>
 
520
        </tr>
 
521
        <tr>
 
522
          <td class="paramkey"></td>
 
523
          <td></td>
 
524
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a>&nbsp;</td>
 
525
          <td class="paramname"> <em>aa</em>[]</td><td>&nbsp;</td>
 
526
        </tr>
 
527
        <tr>
 
528
          <td></td>
 
529
          <td>)</td>
 
530
          <td></td><td></td><td><code> [virtual]</code></td>
 
531
        </tr>
 
532
      </table>
 
533
</div>
 
534
<div class="memdoc">
 
535
 
 
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>
 
537
 
 
538
</div>
 
539
</div>
 
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">
 
544
        <tr>
 
545
          <td class="memname">virtual void SkXfermode::xferA8 </td>
 
546
          <td>(</td>
 
547
          <td class="paramtype"><a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a>&nbsp;</td>
 
548
          <td class="paramname"> <em>dst</em>[], </td>
 
549
        </tr>
 
550
        <tr>
 
551
          <td class="paramkey"></td>
 
552
          <td></td>
 
553
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</td>
 
554
          <td class="paramname"> <em>src</em>[], </td>
 
555
        </tr>
 
556
        <tr>
 
557
          <td class="paramkey"></td>
 
558
          <td></td>
 
559
          <td class="paramtype">int&nbsp;</td>
 
560
          <td class="paramname"> <em>count</em>, </td>
 
561
        </tr>
 
562
        <tr>
 
563
          <td class="paramkey"></td>
 
564
          <td></td>
 
565
          <td class="paramtype">const <a class="el" href="_sk_color_8h.html#a918cf5a3a68406ac8107f6be48fb906e">SkAlpha</a>&nbsp;</td>
 
566
          <td class="paramname"> <em>aa</em>[]</td><td>&nbsp;</td>
 
567
        </tr>
 
568
        <tr>
 
569
          <td></td>
 
570
          <td>)</td>
 
571
          <td></td><td></td><td><code> [virtual]</code></td>
 
572
        </tr>
 
573
      </table>
 
574
</div>
 
575
<div class="memdoc">
 
576
 
 
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>
 
578
 
 
579
</div>
 
580
</div>
 
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">
 
585
        <tr>
 
586
          <td class="memname">virtual <a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a> SkXfermode::xferColor </td>
 
587
          <td>(</td>
 
588
          <td class="paramtype"><a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</td>
 
589
          <td class="paramname"> <em>src</em>, </td>
 
590
        </tr>
 
591
        <tr>
 
592
          <td class="paramkey"></td>
 
593
          <td></td>
 
594
          <td class="paramtype"><a class="el" href="_sk_color_8h.html#a9ec12bd74c4b63b5da802b419106b8ea">SkPMColor</a>&nbsp;</td>
 
595
          <td class="paramname"> <em>dst</em></td><td>&nbsp;</td>
 
596
        </tr>
 
597
        <tr>
 
598
          <td></td>
 
599
          <td>)</td>
 
600
          <td></td><td></td><td><code> [protected, virtual]</code></td>
 
601
        </tr>
 
602
      </table>
 
603
</div>
 
604
<div class="memdoc">
 
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>
 
607
 
 
608
<p>Reimplemented in <a class="el" href="class_sk_pixel_xor_xfermode.html#adb3a116e84bf58fbdd8354b5c1a971a8">SkPixelXorXfermode</a>.</p>
 
609
 
 
610
</div>
 
611
</div>
 
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>
 
614
</ul>
 
615
</div>
 
616
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Oct 20 11:03:42 2009 for Skia by&nbsp;
 
617
<a href="http://www.doxygen.org/index.html">
 
618
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
 
619
</body>
 
620
</html>