Lines Matching defs:Sk4px
23 class Sk4px : public Sk16b {
25 Sk4px(const Sk16b& v) : INHERITED(v) {}
27 static Sk4px DupPMColor(SkPMColor c) {
30 Sk4px v;
35 Sk4px alphas() const; // ARGB argb XYZW xyzw -> AAAA aaaa XXXX xxxx
36 Sk4px inv() const { return Sk16b(255) - *this; }
39 static Sk4px Load4(const SkPMColor px[4]) {
40 Sk4px v;
44 static Sk4px Load2(const SkPMColor px[2]) {
45 Sk4px v;
49 static Sk4px Load1(const SkPMColor px[1]) {
50 Sk4px v;
55 // Ditto for Alphas... Load2Alphas fills the low two lanes of Sk4px.
56 static Sk4px Load4Alphas(const SkAlpha[4]); // AaXx -> AAAA aaaa XXXX xxxx
57 static Sk4px Load2Alphas(const SkAlpha[2]); // Aa -> AAAA aaaa ???? ????
70 Sk4px addNarrowHi(const Sk16h&) const;
73 Sk4px div255() const;
90 Wide operator * (const Sk4px& o) const { return this->mulWiden(o); }
92 // These just keep the types as Sk4px so the user doesn't have to keep casting.
93 Sk4px operator + (const Sk4px& o) const { return INHERITED::operator+(o); }
94 Sk4px operator - (const Sk4px& o) const { return INHERITED::operator-(o); }
95 Sk4px operator < (const Sk4px& o) const { return INHERITED::operator<(o); }
96 Sk4px thenElse(const Sk4px& t, const Sk4px& e) const { return INHERITED::thenElse(t,e); }
100 Sk4px approxMulDiv255(const Sk16b& o) const {
107 // fn should take an Sk4px (4 src pixels) and return an Sk4px (4 dst pixels).
116 Sk4px dst0 = fn(Load4(src+0)),
146 Sk4px dst0 = fn(Load4(dst+0), Load4(src+0)),
176 Sk4px dst0 = fn(Load4(dst+0), Load4Alphas(a+0)),
208 Sk4px dst0 = fn(Load4(dst+0), Load4(src+0), Load4Alphas(a+0)),
232 Sk4px() = default;
237 static_assert(sizeof(Sk4px) == sizeof(Sk16b));
238 static_assert(sizeof(Sk4px) == 16);