OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef GrXferProcessor_DEFINED | 8 #ifndef GrXferProcessor_DEFINED |
9 #define GrXferProcessor_DEFINED | 9 #define GrXferProcessor_DEFINED |
10 | 10 |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 }; | 270 }; |
271 | 271 |
272 /** | 272 /** |
273 * This function returns known information about the output of the xfer proc
essor produced by | 273 * This function returns known information about the output of the xfer proc
essor produced by |
274 * this xp factory. The invariant color information returned by this functio
n refers to the | 274 * this xp factory. The invariant color information returned by this functio
n refers to the |
275 * final color produced after all blending. | 275 * final color produced after all blending. |
276 */ | 276 */ |
277 virtual void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcO
ptInfo& coveragePOI, | 277 virtual void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcO
ptInfo& coveragePOI, |
278 InvariantOutput*) const = 0; | 278 InvariantOutput*) const = 0; |
279 | 279 |
280 /** | |
281 * Determines whether multiplying the computed per-pixel color by the pixel'
s fractional | |
282 * coverage before the blend will give the correct final destination color.
In general it | |
283 * will not as coverage is applied after blending. | |
284 */ | |
285 virtual bool canTweakAlphaForCoverage() const = 0; | |
286 | |
287 bool willNeedDstCopy(const GrDrawTargetCaps& caps, const GrProcOptInfo& colo
rPOI, | 280 bool willNeedDstCopy(const GrDrawTargetCaps& caps, const GrProcOptInfo& colo
rPOI, |
288 const GrProcOptInfo& coveragePOI) const; | 281 const GrProcOptInfo& coveragePOI) const; |
289 | 282 |
290 bool isEqual(const GrXPFactory& that) const { | 283 bool isEqual(const GrXPFactory& that) const { |
291 if (this->classID() != that.classID()) { | 284 if (this->classID() != that.classID()) { |
292 return false; | 285 return false; |
293 } | 286 } |
294 return this->onIsEqual(that); | 287 return this->onIsEqual(that); |
295 } | 288 } |
296 | 289 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 enum { | 334 enum { |
342 kIllegalXPFClassID = 0, | 335 kIllegalXPFClassID = 0, |
343 }; | 336 }; |
344 static int32_t gCurrXPFClassID; | 337 static int32_t gCurrXPFClassID; |
345 | 338 |
346 typedef GrProgramElement INHERITED; | 339 typedef GrProgramElement INHERITED; |
347 }; | 340 }; |
348 | 341 |
349 #endif | 342 #endif |
350 | 343 |
OLD | NEW |