Esempio n. 1
0
static MaskedColor get_term(GrBlendCoeff coeff, const MaskedColor& src, const MaskedColor& dst,
                            const MaskedColor& value) {
    switch (coeff) {
        case kZero_GrBlendCoeff:
            return MaskedColor(0, kRGBA_GrColorComponentFlags);
        case kOne_GrBlendCoeff:
            return value;
        case kDC_GrBlendCoeff:
            return MaskedColor::Mul(dst, value);
        case kIDC_GrBlendCoeff:
            return MaskedColor::Mul(MaskedColor::Invert(dst), value);
        case kDA_GrBlendCoeff:
            return MaskedColor::Mul(MaskedColor::ExtractAlpha(dst), value);
        case kIDA_GrBlendCoeff:
            return MaskedColor::Mul(MaskedColor::ExtractInverseAlpha(dst), value);
        case kSC_GrBlendCoeff:
            return MaskedColor::Mul(src, value);
        case kISC_GrBlendCoeff:
            return MaskedColor::Mul(MaskedColor::Invert(src), value);
        case kSA_GrBlendCoeff:
            return MaskedColor::Mul(MaskedColor::ExtractAlpha(src), value);
        case kISA_GrBlendCoeff:
            return MaskedColor::Mul(MaskedColor::ExtractInverseAlpha(src), value);
        default:
            SK_ABORT("Illegal coefficient");
            return MaskedColor();
    }
}
Esempio n. 2
0
AlphaFont::AlphaFont( const char *alpha_image, const char *font_desc )
    :FacedFont( MaskedColor(alpha_image), font_desc ),
    _opacity(1.0), _back_opacity(0.0), _back_color(0xFFFFFF)
{
    _color = 0xFFFFFF;
}
Esempio n. 3
0
 static MaskedColor ExtractInverseAlpha(const MaskedColor& in) {
     GrColorComponentFlags flags = (in.fFlags & kA_GrColorComponentFlag) ?
         kRGBA_GrColorComponentFlags : kNone_GrColorComponentFlags;
     return MaskedColor(GrColorPackA4(0xFF - GrColorUnpackA(in.fColor)), flags);
 }
Esempio n. 4
0
 static MaskedColor SatAdd(const MaskedColor& a, const MaskedColor& b) {
     GrColorComponentFlags outFlags = (a.fFlags & b.fFlags) | a.componentsWithValue(0xFF) |
                                      b.componentsWithValue(0xFF);
     return MaskedColor(GrColorSatAdd(a.fColor, b.fColor), outFlags);
 }
Esempio n. 5
0
 static MaskedColor Invert(const MaskedColor& in) {
     return MaskedColor(GrInvertColor(in.fColor), in.fFlags);
 }