Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1113)

Side by Side Diff: src/core/SkXfermode.cpp

Issue 25430005: Fix for potential typedef issue Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/core/SkFilterShader.h ('k') | src/effects/SkBlurMaskFilter.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #include "SkXfermode.h" 10 #include "SkXfermode.h"
(...skipping 1357 matching lines...) Expand 10 before | Expand all | Expand 10 after
1368 static AutoEffectUnref gEffect(SkNEW_ARGS(XferEffect, (static_cast<SkXfermod e::Mode>(mode), NULL))); 1368 static AutoEffectUnref gEffect(SkNEW_ARGS(XferEffect, (static_cast<SkXfermod e::Mode>(mode), NULL)));
1369 return CreateEffectRef(gEffect); 1369 return CreateEffectRef(gEffect);
1370 } 1370 }
1371 1371
1372 #endif 1372 #endif
1373 1373
1374 /////////////////////////////////////////////////////////////////////////////// 1374 ///////////////////////////////////////////////////////////////////////////////
1375 /////////////////////////////////////////////////////////////////////////////// 1375 ///////////////////////////////////////////////////////////////////////////////
1376 1376
1377 class SkProcCoeffXfermode : public SkProcXfermode { 1377 class SkProcCoeffXfermode : public SkProcXfermode {
1378 typedef SkProcXfermode INHERITED;
1379
1378 public: 1380 public:
1379 SkProcCoeffXfermode(const ProcCoeff& rec, Mode mode) 1381 SkProcCoeffXfermode(const ProcCoeff& rec, Mode mode)
1380 : INHERITED(rec.fProc) { 1382 : INHERITED(rec.fProc) {
1381 fMode = mode; 1383 fMode = mode;
1382 // these may be valid, or may be CANNOT_USE_COEFF 1384 // these may be valid, or may be CANNOT_USE_COEFF
1383 fSrcCoeff = rec.fSC; 1385 fSrcCoeff = rec.fSC;
1384 fDstCoeff = rec.fDC; 1386 fDstCoeff = rec.fDC;
1385 } 1387 }
1386 1388
1387 virtual bool asMode(Mode* mode) const SK_OVERRIDE { 1389 virtual bool asMode(Mode* mode) const SK_OVERRIDE {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1441 } 1443 }
1442 1444
1443 virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE { 1445 virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE {
1444 this->INHERITED::flatten(buffer); 1446 this->INHERITED::flatten(buffer);
1445 buffer.write32(fMode); 1447 buffer.write32(fMode);
1446 } 1448 }
1447 1449
1448 private: 1450 private:
1449 Mode fMode; 1451 Mode fMode;
1450 Coeff fSrcCoeff, fDstCoeff; 1452 Coeff fSrcCoeff, fDstCoeff;
1451
1452 typedef SkProcXfermode INHERITED;
1453 }; 1453 };
1454 1454
1455 const char* SkXfermode::ModeName(Mode mode) { 1455 const char* SkXfermode::ModeName(Mode mode) {
1456 SkASSERT((unsigned) mode <= (unsigned)kLastMode); 1456 SkASSERT((unsigned) mode <= (unsigned)kLastMode);
1457 const char* gModeStrings[] = { 1457 const char* gModeStrings[] = {
1458 "Clear", "Src", "Dst", "SrcOver", "DstOver", "SrcIn", "DstIn", 1458 "Clear", "Src", "Dst", "SrcOver", "DstOver", "SrcIn", "DstIn",
1459 "SrcOut", "DstOut", "SrcATop", "DstATop", "Xor", "Plus", 1459 "SrcOut", "DstOut", "SrcATop", "DstATop", "Xor", "Plus",
1460 "Modulate", "Screen", "Overlay", "Darken", "Lighten", "ColorDodge", 1460 "Modulate", "Screen", "Overlay", "Darken", "Lighten", "ColorDodge",
1461 "ColorBurn", "HardLight", "SoftLight", "Difference", "Exclusion", 1461 "ColorBurn", "HardLight", "SoftLight", "Difference", "Exclusion",
1462 "Multiply", "Hue", "Saturation", "Color", "Luminosity" 1462 "Multiply", "Hue", "Saturation", "Color", "Luminosity"
(...skipping 25 matching lines...) Expand all
1488 str->append("can't use"); 1488 str->append("can't use");
1489 } else { 1489 } else {
1490 str->append(gCoeffStrings[fDstCoeff]); 1490 str->append(gCoeffStrings[fDstCoeff]);
1491 } 1491 }
1492 } 1492 }
1493 #endif 1493 #endif
1494 1494
1495 /////////////////////////////////////////////////////////////////////////////// 1495 ///////////////////////////////////////////////////////////////////////////////
1496 1496
1497 class SkClearXfermode : public SkProcCoeffXfermode { 1497 class SkClearXfermode : public SkProcCoeffXfermode {
1498 typedef SkProcCoeffXfermode INHERITED;
1499
1498 public: 1500 public:
1499 SkClearXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kClear_Mode ) {} 1501 SkClearXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kClear_Mode ) {}
1500 1502
1501 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE; 1503 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE;
1502 virtual void xferA8(SkAlpha*, const SkPMColor*, int, const SkAlpha*) const S K_OVERRIDE; 1504 virtual void xferA8(SkAlpha*, const SkPMColor*, int, const SkAlpha*) const S K_OVERRIDE;
1503 1505
1504 SK_DEVELOPER_TO_STRING() 1506 SK_DEVELOPER_TO_STRING()
1505 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkClearXfermode) 1507 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkClearXfermode)
1506 1508
1507 private: 1509 private:
1508 SkClearXfermode(SkFlattenableReadBuffer& buffer) 1510 SkClearXfermode(SkFlattenableReadBuffer& buffer)
1509 : SkProcCoeffXfermode(buffer) {} 1511 : SkProcCoeffXfermode(buffer) {}
1510
1511 typedef SkProcCoeffXfermode INHERITED;
1512 }; 1512 };
1513 1513
1514 void SkClearXfermode::xfer32(SkPMColor* SK_RESTRICT dst, 1514 void SkClearXfermode::xfer32(SkPMColor* SK_RESTRICT dst,
1515 const SkPMColor* SK_RESTRICT, int count, 1515 const SkPMColor* SK_RESTRICT, int count,
1516 const SkAlpha* SK_RESTRICT aa) const { 1516 const SkAlpha* SK_RESTRICT aa) const {
1517 SkASSERT(dst && count >= 0); 1517 SkASSERT(dst && count >= 0);
1518 1518
1519 if (NULL == aa) { 1519 if (NULL == aa) {
1520 memset(dst, 0, count << 2); 1520 memset(dst, 0, count << 2);
1521 } else { 1521 } else {
(...skipping 28 matching lines...) Expand all
1550 1550
1551 #ifdef SK_DEVELOPER 1551 #ifdef SK_DEVELOPER
1552 void SkClearXfermode::toString(SkString* str) const { 1552 void SkClearXfermode::toString(SkString* str) const {
1553 this->INHERITED::toString(str); 1553 this->INHERITED::toString(str);
1554 } 1554 }
1555 #endif 1555 #endif
1556 1556
1557 /////////////////////////////////////////////////////////////////////////////// 1557 ///////////////////////////////////////////////////////////////////////////////
1558 1558
1559 class SkSrcXfermode : public SkProcCoeffXfermode { 1559 class SkSrcXfermode : public SkProcCoeffXfermode {
1560 typedef SkProcCoeffXfermode INHERITED;
1561
1560 public: 1562 public:
1561 SkSrcXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kSrc_Mode) {} 1563 SkSrcXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kSrc_Mode) {}
1562 1564
1563 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE; 1565 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE;
1564 virtual void xferA8(SkAlpha*, const SkPMColor*, int, const SkAlpha*) const S K_OVERRIDE; 1566 virtual void xferA8(SkAlpha*, const SkPMColor*, int, const SkAlpha*) const S K_OVERRIDE;
1565 1567
1566 SK_DEVELOPER_TO_STRING() 1568 SK_DEVELOPER_TO_STRING()
1567 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSrcXfermode) 1569 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSrcXfermode)
1568 1570
1569 private: 1571 private:
1570 SkSrcXfermode(SkFlattenableReadBuffer& buffer) 1572 SkSrcXfermode(SkFlattenableReadBuffer& buffer)
1571 : SkProcCoeffXfermode(buffer) {} 1573 : SkProcCoeffXfermode(buffer) {}
1572
1573 typedef SkProcCoeffXfermode INHERITED;
1574 }; 1574 };
1575 1575
1576 void SkSrcXfermode::xfer32(SkPMColor* SK_RESTRICT dst, 1576 void SkSrcXfermode::xfer32(SkPMColor* SK_RESTRICT dst,
1577 const SkPMColor* SK_RESTRICT src, int count, 1577 const SkPMColor* SK_RESTRICT src, int count,
1578 const SkAlpha* SK_RESTRICT aa) const { 1578 const SkAlpha* SK_RESTRICT aa) const {
1579 SkASSERT(dst && src && count >= 0); 1579 SkASSERT(dst && src && count >= 0);
1580 1580
1581 if (NULL == aa) { 1581 if (NULL == aa) {
1582 memcpy(dst, src, count << 2); 1582 memcpy(dst, src, count << 2);
1583 } else { 1583 } else {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1617 } 1617 }
1618 #ifdef SK_DEVELOPER 1618 #ifdef SK_DEVELOPER
1619 void SkSrcXfermode::toString(SkString* str) const { 1619 void SkSrcXfermode::toString(SkString* str) const {
1620 this->INHERITED::toString(str); 1620 this->INHERITED::toString(str);
1621 } 1621 }
1622 #endif 1622 #endif
1623 1623
1624 /////////////////////////////////////////////////////////////////////////////// 1624 ///////////////////////////////////////////////////////////////////////////////
1625 1625
1626 class SkDstInXfermode : public SkProcCoeffXfermode { 1626 class SkDstInXfermode : public SkProcCoeffXfermode {
1627 typedef SkProcCoeffXfermode INHERITED;
1628
1627 public: 1629 public:
1628 SkDstInXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kDstIn_Mode ) {} 1630 SkDstInXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kDstIn_Mode ) {}
1629 1631
1630 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE; 1632 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE;
1631 1633
1632 SK_DEVELOPER_TO_STRING() 1634 SK_DEVELOPER_TO_STRING()
1633 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstInXfermode) 1635 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstInXfermode)
1634 1636
1635 private: 1637 private:
1636 SkDstInXfermode(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {} 1638 SkDstInXfermode(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
1637
1638 typedef SkProcCoeffXfermode INHERITED;
1639 }; 1639 };
1640 1640
1641 void SkDstInXfermode::xfer32(SkPMColor* SK_RESTRICT dst, 1641 void SkDstInXfermode::xfer32(SkPMColor* SK_RESTRICT dst,
1642 const SkPMColor* SK_RESTRICT src, int count, 1642 const SkPMColor* SK_RESTRICT src, int count,
1643 const SkAlpha* SK_RESTRICT aa) const { 1643 const SkAlpha* SK_RESTRICT aa) const {
1644 SkASSERT(dst && src); 1644 SkASSERT(dst && src);
1645 1645
1646 if (count <= 0) { 1646 if (count <= 0) {
1647 return; 1647 return;
1648 } 1648 }
(...skipping 11 matching lines...) Expand all
1660 1660
1661 #ifdef SK_DEVELOPER 1661 #ifdef SK_DEVELOPER
1662 void SkDstInXfermode::toString(SkString* str) const { 1662 void SkDstInXfermode::toString(SkString* str) const {
1663 this->INHERITED::toString(str); 1663 this->INHERITED::toString(str);
1664 } 1664 }
1665 #endif 1665 #endif
1666 1666
1667 /////////////////////////////////////////////////////////////////////////////// 1667 ///////////////////////////////////////////////////////////////////////////////
1668 1668
1669 class SkDstOutXfermode : public SkProcCoeffXfermode { 1669 class SkDstOutXfermode : public SkProcCoeffXfermode {
1670 typedef SkProcCoeffXfermode INHERITED;
1671
1670 public: 1672 public:
1671 SkDstOutXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kDstOut_Mo de) {} 1673 SkDstOutXfermode(const ProcCoeff& rec) : SkProcCoeffXfermode(rec, kDstOut_Mo de) {}
1672 1674
1673 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE; 1675 virtual void xfer32(SkPMColor*, const SkPMColor*, int, const SkAlpha*) const SK_OVERRIDE;
1674 1676
1675 SK_DEVELOPER_TO_STRING() 1677 SK_DEVELOPER_TO_STRING()
1676 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstOutXfermode) 1678 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstOutXfermode)
1677 1679
1678 private: 1680 private:
1679 SkDstOutXfermode(SkFlattenableReadBuffer& buffer) 1681 SkDstOutXfermode(SkFlattenableReadBuffer& buffer)
1680 : INHERITED(buffer) {} 1682 : INHERITED(buffer) {}
1681
1682 typedef SkProcCoeffXfermode INHERITED;
1683 }; 1683 };
1684 1684
1685 void SkDstOutXfermode::xfer32(SkPMColor* SK_RESTRICT dst, 1685 void SkDstOutXfermode::xfer32(SkPMColor* SK_RESTRICT dst,
1686 const SkPMColor* SK_RESTRICT src, int count, 1686 const SkPMColor* SK_RESTRICT src, int count,
1687 const SkAlpha* SK_RESTRICT aa) const { 1687 const SkAlpha* SK_RESTRICT aa) const {
1688 SkASSERT(dst && src); 1688 SkASSERT(dst && src);
1689 1689
1690 if (count <= 0) { 1690 if (count <= 0) {
1691 return; 1691 return;
1692 } 1692 }
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
1963 return proc16; 1963 return proc16;
1964 } 1964 }
1965 1965
1966 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode) 1966 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode)
1967 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode) 1967 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode)
1968 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkClearXfermode) 1968 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkClearXfermode)
1969 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode) 1969 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode)
1970 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode) 1970 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode)
1971 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode) 1971 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode)
1972 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END 1972 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
OLDNEW
« no previous file with comments | « src/core/SkFilterShader.h ('k') | src/effects/SkBlurMaskFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698