Пример #1
0
    static GrEffectRef* Create(bool stroke) {
        // we go through this so we only have one copy of each effect (stroked/filled)
        static SkAutoTUnref<GrEffectRef> gCircleStrokeEdgeEffectRef(
                        CreateEffectRef(AutoEffectUnref(SkNEW_ARGS(CircleEdgeEffect, (true)))));
        static SkAutoTUnref<GrEffectRef> gCircleFillEdgeEffectRef(
                        CreateEffectRef(AutoEffectUnref(SkNEW_ARGS(CircleEdgeEffect, (false)))));

        if (stroke) {
            gCircleStrokeEdgeEffectRef.get()->ref();
            return gCircleStrokeEdgeEffectRef;
        } else {
            gCircleFillEdgeEffectRef.get()->ref();
            return gCircleFillEdgeEffectRef;
        }
    }
    static GrEffectRef* Create() {
        // we go through this so we only have one copy of each effect
        static GrEffectRef* gHairQuadEdgeEffectRef = 
            CreateEffectRef(AutoEffectUnref(SkNEW(HairQuadEdgeEffect)));
        static SkAutoTUnref<GrEffectRef> gUnref(gHairQuadEdgeEffectRef);

        gHairQuadEdgeEffectRef->ref();
        return gHairQuadEdgeEffectRef;
    }
Пример #3
0
 static GrEffectRef* Create(GrTexture* texture,
                            float xOffset,
                            float yOffset,
                            float xInvZoom,
                            float yInvZoom,
                            float xInvInset,
                            float yInvInset) {
     AutoEffectUnref effect(SkNEW_ARGS(GrMagnifierEffect, (texture,
                                                           xOffset,
                                                           yOffset,
                                                           xInvZoom,
                                                           yInvZoom,
                                                           xInvInset,
                                                           yInvInset)));
     return CreateEffectRef(effect);
 }
 static GrEffectRef* Create(GrTexture* texture,
                            const SkISize& kernelSize,
                            const SkScalar* kernel,
                            SkScalar gain,
                            SkScalar bias,
                            const SkIPoint& target,
                            TileMode tileMode,
                            bool convolveAlpha) {
     AutoEffectUnref effect(SkNEW_ARGS(GrMatrixConvolutionEffect, (texture,
                                       kernelSize,
                                       kernel,
                                       gain,
                                       bias,
                                       target,
                                       tileMode,
                                       convolveAlpha)));
     return CreateEffectRef(effect);
 }
Пример #5
0
 static GrEffectRef* Create(const SkRect& rect) {
     return CreateEffectRef(AutoEffectUnref(SkNEW_ARGS(AARectEffect, (rect))));
 }
 static GrEffectRef* Create(GrTexture* tex, Direction dir, int radius, MorphologyType type) {
     AutoEffectUnref effect(SkNEW_ARGS(GrMorphologyEffect, (tex, dir, radius, type)));
     return CreateEffectRef(effect);
 }
Пример #7
0
 static GrEffectRef* Create(GrTexture* tex, const SkScalar coefficients[16]) {
     AutoEffectUnref effect(SkNEW_ARGS(GrBicubicEffect, (tex, coefficients)));
     return CreateEffectRef(effect);
 }
Пример #8
0
 static GrEffectRef* Create() {
     return CreateEffectRef(AutoEffectUnref(SkNEW(DitherEffect)));
 }
Пример #9
0
 static GrEffectRef* Create(EdgeType edgeType, const SkRect& rect) {
     return CreateEffectRef(AutoEffectUnref(SkNEW_ARGS(AARectEffect, (edgeType, rect))));
 }