/** Creates a new instance of NeonBorderEffect */ public NeonBorderEffect(Color edgeColor, Color centerColor, int effectWidth) { super(); setEffectWidth(effectWidth); this.setEdgeColor(edgeColor); this.setCenterColor(centerColor); this.setRenderInsideShape(false); this.setShouldFillShape(false); this.setOffset(new Point(0,0)); }
/** * * @param borderPosition position of the border relative to the edge of painter covered area. * @see #getBorderPosition() * @see BorderPosition */ public void setBorderPosition(BorderPosition borderPosition) { this.borderPosition = borderPosition; switch(borderPosition) { case Centered : setShapeMasked(false); break; case Inside : setShapeMasked(true); setRenderInsideShape(true); break; case Outside : setShapeMasked(true); setRenderInsideShape(false); break; } if(borderPosition == BorderPosition.Centered) { } } }
gfx.translate(getOffset().getX(), getOffset().getY()); gfx.setComposite(AlphaComposite.SrcOver); int steps = getEffectWidth(); if(borderPosition == BorderPosition.Centered) { steps = steps/2; gfx.setPaint(interpolateColor((float)(steps-i)/steps, getEdgeColor(), getCenterColor())); } else { if(i<half) { gfx.setPaint(interpolateColor((float)(half-i)/half, getEdgeColor(), getCenterColor())); } else { gfx.setPaint(interpolateColor((float)(i-half)/half, getEdgeColor(), getCenterColor())); gfx.translate(-getOffset().getX(), -getOffset().getY());
@Test public void testNeonBorderEffect() { NeonBorderEffect effect = new NeonBorderEffect(); assertEquals(Color.GREEN, effect.getEdgeColor()); assertEquals(Color.WHITE, effect.getCenterColor()); assertEquals(10, effect.getBrushSteps()); assertEquals(10, effect.getEffectWidth()); assertEquals(new Point(0,0), effect.getOffset()); assertFalse(effect.isRenderInsideShape()); assertFalse(effect.isShouldFillShape()); } }
private void initNeonBorderPanel(AreaEffects effects) { boolean enable = false; Color color = GREEN; Color innerColor = WHITE; int width = 10; if (effects != null) { NeonBorderEffect effect = effects.getNeonBorderEffect(); if (effect != null) { enable = true; color = effect.getEdgeColor(); innerColor = effect.getCenterColor(); width = effect.getEffectWidth(); } } if (neonBorderPanel == null) { // first initialization neonBorderPanel = new NeonBorderPanel( enable, color, innerColor, width); } else { neonBorderPanel.setTabEnabled(enable); neonBorderPanel.setBrushWidth(width); neonBorderPanel.setColor(color, false); neonBorderPanel.setInnerColor(innerColor, false); } }
int effectWidth = neonBorderEffect.getEffectWidth(); if (effectWidth > max) { max = effectWidth;
gfx.translate(getOffset().getX(), getOffset().getY()); gfx.setComposite(AlphaComposite.SrcOver); int steps = getEffectWidth(); if(borderPosition == BorderPosition.Centered) { steps = steps/2; gfx.setPaint(interpolateColor((float)(steps-i)/steps, getEdgeColor(), getCenterColor())); } else { if(i<half) { gfx.setPaint(interpolateColor((half-i)/half, getEdgeColor(), getCenterColor())); } else { gfx.setPaint(interpolateColor((i-half)/half, getEdgeColor(), getCenterColor())); gfx.translate(-getOffset().getX(), -getOffset().getY());
/** * * @param borderPosition position of the border relative to the edge of painter covered area. * @see #getBorderPosition() * @see BorderPosition */ public void setBorderPosition(BorderPosition borderPosition) { this.borderPosition = borderPosition; switch(borderPosition) { case Centered : setShapeMasked(false); break; case Inside : setShapeMasked(true); setRenderInsideShape(true); break; case Outside : setShapeMasked(true); setRenderInsideShape(false); break; } if(borderPosition == BorderPosition.Centered) { } } }
/** Creates a new instance of NeonBorderEffect */ public NeonBorderEffect(Color edgeColor, Color centerColor, int effectWidth) { super(); setEffectWidth(effectWidth); this.setEdgeColor(edgeColor); this.setCenterColor(centerColor); this.setRenderInsideShape(false); this.setShouldFillShape(false); this.setOffset(new Point(0,0)); }
gfx.translate(getOffset().getX(), getOffset().getY()); gfx.setComposite(AlphaComposite.SrcOver); int steps = getEffectWidth(); if(borderPosition == BorderPosition.Centered) { steps = steps/2; gfx.setPaint(interpolateColor((float)(steps-i)/steps, getEdgeColor(), getCenterColor())); } else { if(i<half) { gfx.setPaint(interpolateColor((half-i)/half, getEdgeColor(), getCenterColor())); } else { gfx.setPaint(interpolateColor((i-half)/half, getEdgeColor(), getCenterColor())); gfx.translate(-getOffset().getX(), -getOffset().getY());
/** * * @param borderPosition position of the border relative to the edge of painter covered area. * @see #getBorderPosition() * @see BorderPosition */ public void setBorderPosition(BorderPosition borderPosition) { this.borderPosition = borderPosition; switch(borderPosition) { case Centered : setShapeMasked(false); break; case Inside : setShapeMasked(true); setRenderInsideShape(true); break; case Outside : setShapeMasked(true); setRenderInsideShape(false); break; } if(borderPosition == BorderPosition.Centered) { } } }
/** Creates a new instance of NeonBorderEffect */ public NeonBorderEffect(Color edgeColor, Color centerColor, int effectWidth) { super(); setEffectWidth(effectWidth); this.setEdgeColor(edgeColor); this.setCenterColor(centerColor); this.setRenderInsideShape(false); this.setShouldFillShape(false); this.setOffset(new Point(0,0)); }
gfx.translate(getOffset().getX(), getOffset().getY()); gfx.setComposite(AlphaComposite.SrcOver); int steps = getEffectWidth(); if(borderPosition == BorderPosition.Centered) { steps = steps/2; gfx.setPaint(interpolateColor((float)(steps-i)/steps, getEdgeColor(), getCenterColor())); } else { if(i<half) { gfx.setPaint(interpolateColor((half-i)/half, getEdgeColor(), getCenterColor())); } else { gfx.setPaint(interpolateColor((i-half)/half, getEdgeColor(), getCenterColor())); gfx.translate(-getOffset().getX(), -getOffset().getY());
/** * @param borderPosition position of the border relative to the edge of painter covered area. * @see #getBorderPosition() * @see BorderPosition */ public void setBorderPosition(BorderPosition borderPosition) { this.borderPosition = borderPosition; switch (borderPosition) { case Centered: setShapeMasked(false); break; case Inside: setShapeMasked(true); setRenderInsideShape(true); break; case Outside: setShapeMasked(true); setRenderInsideShape(false); break; } if (borderPosition == BorderPosition.Centered) { } } }
/** Creates a new instance of NeonBorderEffect */ public NeonBorderEffect(Color edgeColor, Color centerColor, int effectWidth) { super(); setEffectWidth(effectWidth); this.setEdgeColor(edgeColor); this.setCenterColor(centerColor); this.setRenderInsideShape(false); this.setShouldFillShape(false); this.setOffset(new Point(0,0)); }
gfx.translate(getOffset().getX(), getOffset().getY()); gfx.setComposite(AlphaComposite.SrcOver); int steps = getEffectWidth(); if (borderPosition == BorderPosition.Centered) { steps = steps / 2; gfx.setPaint(interpolateColor((float) (steps - i) / steps, getEdgeColor(), getCenterColor())); } else { if (i < half) { gfx.setPaint(interpolateColor((float) (half - i) / half, getEdgeColor(), getCenterColor())); } else { gfx.setPaint(interpolateColor((float) (i - half) / half, getEdgeColor(), getCenterColor())); gfx.translate(-getOffset().getX(), -getOffset().getY());
/** * * @param borderPosition position of the border relative to the edge of painter covered area. * @see #getBorderPosition() * @see BorderPosition */ public void setBorderPosition(BorderPosition borderPosition) { this.borderPosition = borderPosition; switch(borderPosition) { case Centered : setShapeMasked(false); break; case Inside : setShapeMasked(true); setRenderInsideShape(true); break; case Outside : setShapeMasked(true); setRenderInsideShape(false); break; } if(borderPosition == BorderPosition.Centered) { } } }
/** * Creates a new instance of NeonBorderEffect */ public NeonBorderEffect(Color edgeColor, Color centerColor, int effectWidth, float opacity) { super(); setEffectWidth(effectWidth); this.setEdgeColor(edgeColor); this.setCenterColor(centerColor); this.setRenderInsideShape(false); this.setShouldFillShape(false); this.setOffset(new Point(0, 0)); setOpacity(opacity); }