当前位置: 首页>>代码示例>>Java>>正文


Java SunGraphics2D.PAINT_ALPHACOLOR属性代码示例

本文整理汇总了Java中sun.java2d.SunGraphics2D.PAINT_ALPHACOLOR属性的典型用法代码示例。如果您正苦于以下问题:Java SunGraphics2D.PAINT_ALPHACOLOR属性的具体用法?Java SunGraphics2D.PAINT_ALPHACOLOR怎么用?Java SunGraphics2D.PAINT_ALPHACOLOR使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在sun.java2d.SunGraphics2D的用法示例。


在下文中一共展示了SunGraphics2D.PAINT_ALPHACOLOR属性的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getMaskFill

@Override
protected MaskFill getMaskFill(SunGraphics2D sg2d) {
    if (sg2d.paintState > SunGraphics2D.PAINT_ALPHACOLOR) {
        /*
         * We can only accelerate non-Color MaskFill operations if
         * all of the following conditions hold true:
         *   - there is an implementation for the given paintState
         *   - the current Paint can be accelerated for this destination
         *   - multitexturing is available (since we need to modulate
         *     the alpha mask texture with the paint texture)
         *
         * In all other cases, we return null, in which case the
         * validation code will choose a more general software-based loop.
         */
        if (!OGLPaints.isValid(sg2d) ||
            !graphicsConfig.isCapPresent(CAPS_MULTITEXTURE))
        {
            return null;
        }
    }
    return super.getMaskFill(sg2d);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:OGLSurfaceData.java

示例2: getMaskFill

protected MaskFill getMaskFill(SunGraphics2D sg2d) {
    AlphaComposite aComp = null;
    if(sg2d.composite != null
            && sg2d.composite instanceof AlphaComposite) {
        aComp = (AlphaComposite) sg2d.composite;
    }

    boolean supportedPaint = sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR
            || XRPaints.isValid(sg2d);

    boolean supportedCompOp = false;
    if(aComp != null) {
        int rule = aComp.getRule();
        supportedCompOp = XRUtils.isMaskEvaluated(XRUtils.j2dAlphaCompToXR(rule));
    }

    return (supportedPaint && supportedCompOp) ?  super.getMaskFill(sg2d) : null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:18,代码来源:XRSurfaceData.java

示例3: setPaint

static void setPaint(RenderQueue rq, SunGraphics2D sg2d,
                     Paint paint, int ctxflags)
{
    if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR) {
        setColor(rq, sg2d.pixel);
    } else {
        boolean useMask = (ctxflags & BufferedContext.USE_MASK) != 0;
        switch (sg2d.paintState) {
        case SunGraphics2D.PAINT_GRADIENT:
            setGradientPaint(rq, sg2d,
                             (GradientPaint)paint, useMask);
            break;
        case SunGraphics2D.PAINT_LIN_GRADIENT:
            setLinearGradientPaint(rq, sg2d,
                                   (LinearGradientPaint)paint, useMask);
            break;
        case SunGraphics2D.PAINT_RAD_GRADIENT:
            setRadialGradientPaint(rq, sg2d,
                                   (RadialGradientPaint)paint, useMask);
            break;
        case SunGraphics2D.PAINT_TEXTURE:
            setTexturePaint(rq, sg2d,
                            (TexturePaint)paint, useMask);
            break;
        default:
            break;
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:29,代码来源:BufferedPaints.java

示例4: getRenderLoops

public RenderLoops getRenderLoops(SunGraphics2D sg2d) {
    if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
        sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY)
    {
        return solidloops;
    }
    return super.getRenderLoops(sg2d);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:8,代码来源:X11SurfaceData.java

示例5: getRenderLoops

public RenderLoops getRenderLoops(SunGraphics2D sg2d) {
    if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
        sg2d.compositeState <= SunGraphics2D.COMP_ALPHA)
    {
        return solidloops;
    }

    return super.getRenderLoops(sg2d);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:XRSurfaceData.java

示例6: getTextPipe

protected TextPipe getTextPipe(SunGraphics2D sg2d) {
    boolean supportedPaint = sg2d.compositeState <= SunGraphics2D.COMP_ALPHA
            && (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR || sg2d.composite == null);

    boolean supportedCompOp = false;
    if (sg2d.composite instanceof AlphaComposite) {
        int compRule = ((AlphaComposite) sg2d.composite).getRule();
        supportedCompOp = XRUtils.isMaskEvaluated(XRUtils.j2dAlphaCompToXR(compRule))
                || (compRule == AlphaComposite.SRC
                            && sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR);
    }

    return (supportedPaint && supportedCompOp) ? xrtextpipe : null;
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:14,代码来源:XRSurfaceData.java

示例7: validatePipe

public void validatePipe(SunGraphics2D sg2d) {
    if (sg2d.antialiasHint != SunHints.INTVAL_ANTIALIAS_ON &&
        sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
        (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY ||
         sg2d.compositeState == SunGraphics2D.COMP_XOR))
    {
        if (sg2d.clipState == SunGraphics2D.CLIP_SHAPE) {
            // Do this to init textpipe correctly; we will override the
            // other non-text pipes below
            // REMIND: we should clean this up eventually instead of
            // having this work duplicated.
            super.validatePipe(sg2d);
        } else {
            switch (sg2d.textAntialiasHint) {

            case SunHints.INTVAL_TEXT_ANTIALIAS_DEFAULT:
                /* equate DEFAULT to OFF which it is for us */
            case SunHints.INTVAL_TEXT_ANTIALIAS_OFF:
                sg2d.textpipe = solidTextRenderer;
                break;

            case SunHints.INTVAL_TEXT_ANTIALIAS_ON:
                sg2d.textpipe = aaTextRenderer;
                break;

            default:
                switch (sg2d.getFontInfo().aaHint) {

                case SunHints.INTVAL_TEXT_ANTIALIAS_LCD_HRGB:
                case SunHints.INTVAL_TEXT_ANTIALIAS_LCD_VRGB:
                    sg2d.textpipe = lcdTextRenderer;
                    break;

                case SunHints.INTVAL_TEXT_ANTIALIAS_ON:
                    sg2d.textpipe = aaTextRenderer;
                    break;

                default:
                    sg2d.textpipe = solidTextRenderer;
                }
            }
        }
        sg2d.imagepipe = imagepipe;
        if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
            sg2d.drawpipe = gdiTxPipe;
            sg2d.fillpipe = gdiTxPipe;
        } else if (sg2d.strokeState != SunGraphics2D.STROKE_THIN){
            sg2d.drawpipe = gdiTxPipe;
            sg2d.fillpipe = gdiPipe;
        } else {
            sg2d.drawpipe = gdiPipe;
            sg2d.fillpipe = gdiPipe;
        }
        sg2d.shapepipe = gdiPipe;
        // This is needed for AA text.
        // Note that even a SolidTextRenderer can dispatch AA text
        // if a GlyphVector overrides the AA setting.
        // We use getRenderLoops() rather than setting solidloops
        // directly so that we get the appropriate loops in XOR mode.
        if (sg2d.loops == null) {
            // assert(some pipe will always be a LoopBasedPipe)
            sg2d.loops = getRenderLoops(sg2d);
        }
    } else {
        super.validatePipe(sg2d);
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:67,代码来源:GDIWindowSurfaceData.java

示例8: validatePipe

@Override
public void validatePipe(SunGraphics2D sg2d) {
    TextPipe textpipe;
    boolean validated = false;

    /*
     * The textpipe for now can't handle TexturePaint when extra-alpha is
     * specified nore XOR mode
     */
    if ((textpipe = getTextPipe(sg2d)) == null)
    {
        super.validatePipe(sg2d);
        textpipe = sg2d.textpipe;
        validated = true;
    }

    PixelToShapeConverter txPipe = null;
    XRRenderer nonTxPipe = null;

    /*
     * TODO: Can we rely on the GC for ARGB32 surfaces?
     */
    if (sg2d.antialiasHint != SunHints.INTVAL_ANTIALIAS_ON) {
        if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR) {
            if (sg2d.compositeState <= SunGraphics2D.COMP_XOR) {
                txPipe = xrtxpipe;
                nonTxPipe = xrpipe;
            }
        } else if (sg2d.compositeState <= SunGraphics2D.COMP_ALPHA) {
            if (XRPaints.isValid(sg2d)) {
                txPipe = xrtxpipe;
                nonTxPipe = xrpipe;
            }
            // custom paints handled by super.validatePipe() below
        }
    }

    if (sg2d.antialiasHint == SunHints.INTVAL_ANTIALIAS_ON &&
        JulesPathBuf.isCairoAvailable())
    {
        sg2d.shapepipe = aaShapePipe;
        sg2d.drawpipe = aaPixelToShapeConv;
        sg2d.fillpipe = aaPixelToShapeConv;
    } else {
        if (txPipe != null) {
            if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
                sg2d.drawpipe = txPipe;
                sg2d.fillpipe = txPipe;
            } else if (sg2d.strokeState != SunGraphics2D.STROKE_THIN) {
                sg2d.drawpipe = txPipe;
                sg2d.fillpipe = nonTxPipe;
            } else {
                sg2d.drawpipe = nonTxPipe;
                sg2d.fillpipe = nonTxPipe;
            }
            sg2d.shapepipe = nonTxPipe;
        } else {
            if (!validated) {
                super.validatePipe(sg2d);
            }
        }
    }

    // install the text pipe based on our earlier decision
    sg2d.textpipe = textpipe;

    // always override the image pipe with the specialized XRender pipe
    sg2d.imagepipe = xrDrawImage;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:69,代码来源:XRSurfaceData.java


注:本文中的sun.java2d.SunGraphics2D.PAINT_ALPHACOLOR属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。