Java 类javafx.scene.effect.BlendMode 实例源码
项目:FXGLGames
文件:BreakoutApp.java
private void initBackground() {
Rectangle bg0 = new Rectangle(getWidth(), getHeight(),
new LinearGradient(getWidth() / 2, 0, getWidth() / 2, getHeight(),
false, CycleMethod.NO_CYCLE,
new Stop(0.2, Color.AQUA), new Stop(0.8, Color.BLACK)));
Rectangle bg1 = new Rectangle(getWidth(), getHeight(), Color.color(0, 0, 0, 0.2));
bg1.setBlendMode(BlendMode.DARKEN);
EntityView bg = new EntityView(RenderLayer.BACKGROUND);
bg.addNode(bg0);
bg.addNode(bg1);
// we add IrremovableComponent because regardless of the level
// the background and screen bounds stay in the game world
Entities.builder()
.viewFromNode(bg)
.with(new IrremovableComponent())
.buildAndAttach(getGameWorld());
Entity screenBounds = Entities.makeScreenBounds(40);
screenBounds.addComponent(new IrremovableComponent());
getGameWorld().addEntity(screenBounds);
}
项目:FXGLGames
文件:BreakoutApp.java
private void initBubbles() {
ParticleEmitter emitter = new ParticleEmitter();
emitter.setSourceImage(getAssetLoader().loadTexture("bubble.png").getImage());
emitter.setBlendMode(BlendMode.SRC_OVER);
emitter.setEmissionRate(0.25);
emitter.setExpireFunction((i, x, y) -> Duration.seconds(3));
emitter.setVelocityFunction((i, x, y) -> new Point2D(0, -FXGLMath.random(2f, 4f) * 60));
emitter.setSpawnPointFunction((i, x, y) -> new Point2D(FXGLMath.random(0, (float)getWidth()), y - 20 + FXGLMath.random(50)));
emitter.setScaleFunction((i, x, y) -> new Point2D(FXGLMath.random(-0.05f, 0), FXGLMath.random(-0.05f, 0)));
emitter.setInterpolator(Interpolators.EXPONENTIAL.EASE_IN());
Entity bubbles = new Entity();
bubbles.translateY(getHeight());
bubbles.addControl(new ParticleControl(emitter));
getGameWorld().addEntity(bubbles);
}
项目:FXGL
文件:ParticleEmitters.java
/**
* @return new emitter with explosion configuration
*/
public static ParticleEmitter newExplosionEmitter(int explosionRadius) {
ParticleEmitter emitter = new ParticleEmitter();
emitter.setNumParticles(100);
emitter.setEmissionRate(0.0166);
emitter.setMaxEmissions(1);
emitter.setSize(5, 20);
emitter.setSpawnPointFunction((i, x, y) -> new Point2D(x, y));
emitter.setVelocityFunction((i, x, y) -> new Point2D(Math.cos(i), Math.sin(i)).multiply(explosionRadius));
emitter.setScaleFunction((i, x, y) -> new Point2D(rand() * -0.1, rand() * -0.1));
emitter.setExpireFunction((i, x, y) -> Duration.seconds(0.5));
emitter.setColor(Color.rgb((int) rand(200, 255), 30, 20));
emitter.setBlendMode(BlendMode.ADD);
emitter.setInterpolator(Interpolators.EXPONENTIAL.EASE_OUT());
return emitter;
}
项目:FXGL
文件:Particle.java
@Override
public void reset() {
image = null;
startPosition.setZero();
position.setZero();
velocity.setZero();
acceleration.setZero();
radius.setZero();
scale.setZero();
startColor = Color.TRANSPARENT;
endColor = Color.TRANSPARENT;
blendMode = BlendMode.SRC_OVER;
initialLife = 0;
life = 0;
interpolator = Interpolator.LINEAR;
control = null;
}
项目:FXGLGames
文件:BreakoutApp.java
private void initBackground() {
Rectangle bg0 = new Rectangle(getWidth(), getHeight(),
new LinearGradient(getWidth() / 2, 0, getWidth() / 2, getHeight(),
false, CycleMethod.NO_CYCLE,
new Stop(0.2, Color.AQUA), new Stop(0.8, Color.BLACK)));
Rectangle bg1 = new Rectangle(getWidth(), getHeight(), Color.color(0, 0, 0, 0.2));
bg1.setBlendMode(BlendMode.DARKEN);
EntityView bg = new EntityView(RenderLayer.BACKGROUND);
bg.addNode(bg0);
bg.addNode(bg1);
// we add IrremovableComponent because regardless of the level
// the background and screen bounds stay in the game world
Entities.builder()
.viewFromNode(bg)
.with(new IrremovableComponent())
.buildAndAttach(getGameWorld());
Entity screenBounds = Entities.makeScreenBounds(40);
screenBounds.addComponent(new IrremovableComponent());
getGameWorld().addEntity(screenBounds);
}
项目:FXGLGames
文件:BreakoutApp.java
private void initBubbles() {
ParticleEmitter emitter = new ParticleEmitter();
emitter.setSourceImage(getAssetLoader().loadTexture("bubble.png").getImage());
emitter.setBlendMode(BlendMode.SRC_OVER);
emitter.setEmissionRate(0.25);
emitter.setExpireFunction((i, x, y) -> Duration.seconds(3));
emitter.setVelocityFunction((i, x, y) -> new Point2D(0, -FXGLMath.random(2f, 4f) * 60));
emitter.setSpawnPointFunction((i, x, y) -> new Point2D(FXGLMath.random(0, (float)getWidth()), y - 20 + FXGLMath.random(50)));
emitter.setScaleFunction((i, x, y) -> new Point2D(FXGLMath.random(-0.05f, 0), FXGLMath.random(-0.05f, 0)));
emitter.setInterpolator(Interpolators.EXPONENTIAL.EASE_IN());
Entity bubbles = new Entity();
bubbles.translateY(getHeight());
bubbles.addControl(new ParticleControl(emitter));
getGameWorld().addEntity(bubbles);
}
项目:metastone
文件:GameToken.java
private void createTargetButton() {
target = (StackPane) lookup("#targetAnchor");
Image image = IconFactory.getTargetIcon();
ImageView targetIcon = new ImageView(image);
targetIcon.setClip(new ImageView(image));
ColorAdjust monochrome = new ColorAdjust();
monochrome.setSaturation(-1.0);
Blend red = new Blend(BlendMode.MULTIPLY, monochrome,
new ColorInput(0, 0, targetIcon.getImage().getWidth(), targetIcon.getImage().getHeight(), Color.RED));
Blend green = new Blend(BlendMode.MULTIPLY, monochrome,
new ColorInput(0, 0, targetIcon.getImage().getWidth(), targetIcon.getImage().getHeight(), new Color(0, 1, 0, 0.5)));
targetButton = targetIcon;
targetIcon.effectProperty().bind(Bindings.when(targetButton.hoverProperty()).then((Effect) green).otherwise((Effect) red));
targetButton.setId("target_button");
hideTargetMarker();
target.getChildren().add(targetButton);
}
项目:StreamSis
文件:ActorCell.java
private static Image generateBrokenHeartImage() {
FontAwesomeIconView newHeart = new FontAwesomeIconView(FontAwesomeIcon.HEART);
newHeart.setGlyphSize(graphicFontSize);
FontAwesomeIconView newBolt = new FontAwesomeIconView(FontAwesomeIcon.BOLT);
newBolt.setGlyphSize(graphicFontSize);
newBolt.setScaleX(0.65);
newBolt.setScaleY(0.65);
newBolt.setTranslateX(-1.0);
newHeart.setFill(brokenColor);
newBolt.setFill(Color.WHITE);
StackPane generated = new StackPane(
newHeart,
newBolt
);
StackPane.setAlignment(newBolt, Pos.CENTER);
StackPane.setAlignment(newHeart, Pos.CENTER);
generated.setBlendMode(BlendMode.MULTIPLY);
generated.setEffect(
new DropShadow(BlurType.GAUSSIAN, heartDefaultColor, 7.0, 0.25, 0.0, 0.0));
return CellUtils.makeSnapshotWithTransparency(generated);
}
项目:fxgraphics2d
文件:FXGraphics2D.java
/**
* Returns a JavaFX BlendMode that is the closest match for the Java2D
* alpha composite rule.
*
* @param rule the rule.
*
* @return The blend mode.
*/
private BlendMode blendMode(int rule) {
switch (rule) {
case AlphaComposite.SRC_ATOP:
return BlendMode.SRC_ATOP;
case AlphaComposite.CLEAR:
case AlphaComposite.DST:
case AlphaComposite.DST_ATOP:
case AlphaComposite.DST_IN:
case AlphaComposite.DST_OUT:
case AlphaComposite.DST_OVER:
case AlphaComposite.SRC:
case AlphaComposite.SRC_IN:
case AlphaComposite.SRC_OUT:
case AlphaComposite.SRC_OVER:
case AlphaComposite.XOR:
return BlendMode.SRC_OVER;
default:
return BlendMode.SRC_OVER;
}
}
项目:MacroIIDiscrete
文件:NewAgentPortrait.java
/**
* takes the oil pump image and adds a plus to it
*/
public NewAgentPortrait(Image originalImage) {
super();
ImageView firm = new ImageView(originalImage);
size = firm.fitWidthProperty();
size.setValue(100);//just so that it has a value
firm.setPreserveRatio(true);
firm.setSmooth(true);
firm.setCache(true);
ImageView addPlus = new ImageView(PLUS_IMAGE);
addPlus.setEffect(new Glow(2));
addPlus.fitWidthProperty().bind(firm.fitWidthProperty().divide(2));
addPlus.setPreserveRatio(true);
addPlus.setSmooth(true);
addPlus.setCache(true);
addPlus.setBlendMode(BlendMode.SRC_OVER);
this.getChildren().addAll(firm,addPlus);
}
项目:RadialFx
文件:RadialMovieMenu.java
private List<Text> getTextNodes(final String title, final double startAngle) {
final List<Text> texts = new ArrayList<Text>();
final char[] titleCharArray = title.toCharArray();
for (int i = titleCharArray.length - 1; i >= 0; i--) {
final Text charText = new Text(
Character.toString(titleCharArray[i]));
charText.setFontSmoothingType(FontSmoothingType.LCD);
charText.setSmooth(true);
charText.setMouseTransparent(true);
charText.setFill(textColor);
charText.setBlendMode(BlendMode.COLOR_BURN);
charText.setFont(textFont);
texts.add(charText);
}
return texts;
}
项目:FXGLGames
文件:GeoWarsFactory.java
@Spawns("Explosion")
public Entity spawnExplosion(SpawnData data) {
play("explosion-0" + (int) (Math.random() * 8 + 1) + ".wav");
// explosion particle effect
ParticleEmitter emitter = ParticleEmitters.newExplosionEmitter(100);
emitter.setSize(10, 12);
emitter.setNumParticles(24);
emitter.setExpireFunction((i, x, y) -> Duration.seconds(2));
emitter.setVelocityFunction((i, x, y) -> Vec2.fromAngle(360 / 24 *i).toPoint2D().multiply(FXGLMath.random(45, 50)));
emitter.setBlendMode(BlendMode.SRC_OVER);
emitter.setStartColor(Color.YELLOW);
emitter.setEndColor(Color.RED);
com.almasb.fxgl.effect.ParticleControl control = new ParticleControl(emitter);
Entity explosion = Entities.builder()
.at(data.getX() - 5, data.getY() - 10)
.with(control)
.buildAndAttach();
control.setOnFinished(explosion::removeFromWorld);
return Entities.builder()
.at(data.getX() - 40, data.getY() - 40)
.viewFromNode(texture("explosion.png", 80 * 48, 80).toAnimatedTexture(48, Duration.seconds(2)))
.with(new ExpireCleanControl(Duration.seconds(1.8)))
.build();
}
项目:FXGLGames
文件:PongApp.java
private void initBall() {
ball = factory.newBall(getWidth() / 2 - 5, getHeight() / 2 - 5);
ParticleEmitter emitter = ParticleEmitters.newFireEmitter();
emitter.setStartColor(Color.LIGHTYELLOW);
emitter.setEndColor(Color.RED);
emitter.setBlendMode(BlendMode.SRC_OVER);
emitter.setSize(5, 10);
emitter.setEmissionRate(1);
ball.addControl(new ParticleControl(emitter));
getGameWorld().addEntity(ball);
}
项目:FXGLGames
文件:BulletEnemyHandler.java
@Override
protected void onCollisionBegin(Entity bullet, Entity enemy) {
Object owner = bullet.getComponent(OwnerComponent.class).getValue();
// some enemy shot the bullet, skip collision handling
if (owner == SpaceInvadersType.ENEMY) {
return;
}
GameWorld world = bullet.getWorld();
Point2D hitPosition = bullet.getComponent(PositionComponent.class).getValue();
bullet.removeFromWorld();
HealthComponent hp = enemy.getComponent(HealthComponent.class);
hp.setValue(hp.getValue() - 1);
if (hp.getValue() <= 0) {
if (enemy.hasControl(EnemyControl.class)) {
enemy.getControl(EnemyControl.class).die();
} else {
enemy.getControl(BossControl.class).die();
}
} else {
world.spawn("LaserHit", hitPosition);
// make enemy look red
enemy.getComponent(ViewComponent.class).getView().setBlendMode(BlendMode.RED);
// return enemy look to normal
FXGL.getMasterTimer()
.runOnceAfter(() -> {
if (enemy.isActive())
enemy.getComponent(ViewComponent.class).getView().setBlendMode(null);
}, Duration.seconds(0.33));
}
}
项目:programmierpraktikum-abschlussprojekt-proprawunderbar
文件:UIRunner.java
public void shadowandinner(Blend blend){
DropShadow shadow = new DropShadow();
shadow.setOffsetY(7.0f);
shadow.setColor(Color.DARKGRAY);
InnerShadow innerShadow = new InnerShadow();
innerShadow.setOffsetX(1.0f);
innerShadow.setOffsetY(1.0f);
innerShadow.setColor(Color.LIGHTGRAY);
blend.setMode(BlendMode.MULTIPLY);
blend.setBottomInput(shadow);
blend.setTopInput(innerShadow);
}
项目:FXGL
文件:SmokeSample.java
@Override
protected void initInput() {
getInput().addAction(new UserAction("Change Color") {
@Override
protected void onActionBegin() {
Color randomColor = Color.color(FXGLMath.random(), FXGLMath.random(), FXGLMath.random());
emitter.setBlendMode(BlendMode.SRC_OVER);
e.setStartColor(randomColor);
e.setEndColor(Color.color(FXGLMath.random(), FXGLMath.random(), FXGLMath.random()));
}
}, MouseButton.PRIMARY);
}
项目:FXGL
文件:GameScene.java
public void onUpdate(double tpf) {
getViewport().onUpdate(tpf);
boolean dirty = drawables.isNotEmpty() || particles.isNotEmpty();
if (dirty || wasDirty) {
particlesGC.setGlobalAlpha(1);
particlesGC.setGlobalBlendMode(BlendMode.SRC_OVER);
// TODO: this is very costly, do we know exact dimensions to clear
// OR can we do this off the render thread inbetween frames?
particlesGC.clearRect(0, 0, getWidth(), getHeight());
wasDirty = false;
}
for (Entity e : drawables) {
DrawableComponent drawable = e.getComponent(DrawableComponent.class);
if (drawable != null) {
drawable.draw(particlesGC);
}
}
for (ParticleControl particle : particles) {
particle.renderParticles(particlesGC, getViewport().getOrigin());
}
wasDirty = dirty;
}
项目:FXGL
文件:ParticleEmitters.java
/**
* @return new emitter with fire configuration
*/
public static ParticleEmitter newFireEmitter() {
ParticleEmitter emitter = new ParticleEmitter();
emitter.setNumParticles(15);
emitter.setEmissionRate(0.5);
emitter.setColor(Color.rgb(230, 75, 40));
emitter.setSize(9, 12);
emitter.setVelocityFunction((i, x, y) -> new Point2D(rand(-0.5, 0.5) * 0.25 * 60, rand() * -1 * 60));
emitter.setSpawnPointFunction((i, x, y) -> new Point2D(x, y).add(new Point2D(i * (rand() - 0.5), (rand() - 1))));
emitter.setScaleFunction((i, x, y) -> new Point2D(rand(-0.01, 0.01) * 10, rand() * -0.1));
emitter.setExpireFunction((i, x, y) -> Duration.seconds(1));
emitter.setBlendMode(BlendMode.ADD);
return emitter;
}
项目:FXGL
文件:Particle.java
public final void init(Image image, Point2D position, Point2D vel, Point2D acceleration, double radius, Point2D scale, Duration expireTime, Paint startColor, Paint endColor, BlendMode blendMode, Interpolator interpolator) {
this.image = image;
this.startPosition.set(position);
this.position.set(position);
this.radius.set((float) radius, (float) radius);
this.scale.set(scale);
this.velocity.set(vel);
this.acceleration.set(acceleration);
this.startColor = startColor;
this.endColor = endColor;
this.blendMode = blendMode;
this.initialLife = expireTime.toSeconds();
this.life = initialLife;
this.interpolator = interpolator;
}
项目:FXGLGames
文件:GeoWarsFactory.java
@Spawns("Explosion")
public Entity spawnExplosion(SpawnData data) {
play("explosion-0" + (int) (Math.random() * 8 + 1) + ".wav");
// explosion particle effect
ParticleEmitter emitter = ParticleEmitters.newExplosionEmitter(100);
emitter.setSize(10, 12);
emitter.setNumParticles(24);
emitter.setExpireFunction((i, x, y) -> Duration.seconds(2));
emitter.setVelocityFunction((i, x, y) -> Vec2.fromAngle(360 / 24 *i).toPoint2D().multiply(FXGLMath.random(45, 50)));
emitter.setBlendMode(BlendMode.SRC_OVER);
emitter.setStartColor(Color.YELLOW);
emitter.setEndColor(Color.RED);
com.almasb.fxgl.effect.ParticleControl control = new ParticleControl(emitter);
Entity explosion = Entities.builder()
.at(data.getX() - 5, data.getY() - 10)
.with(control)
.buildAndAttach();
control.setOnFinished(explosion::removeFromWorld);
return Entities.builder()
.at(data.getX() - 40, data.getY() - 40)
.viewFromNode(texture("explosion.png", 80 * 48, 80).toAnimatedTexture(48, Duration.seconds(2)))
.with(new ExpireCleanControl(Duration.seconds(1.8)))
.build();
}
项目:FXGLGames
文件:PongApp.java
private void initBall() {
ball = factory.newBall(getWidth() / 2 - 5, getHeight() / 2 - 5);
ParticleEmitter emitter = ParticleEmitters.newFireEmitter();
emitter.setStartColor(Color.LIGHTYELLOW);
emitter.setEndColor(Color.RED);
emitter.setBlendMode(BlendMode.SRC_OVER);
emitter.setSize(5, 10);
emitter.setEmissionRate(1);
ball.addControl(new ParticleControl(emitter));
getGameWorld().addEntity(ball);
}
项目:FXGLGames
文件:BulletEnemyHandler.java
@Override
protected void onCollisionBegin(Entity bullet, Entity enemy) {
Object owner = bullet.getComponent(OwnerComponent.class).getValue();
// some enemy shot the bullet, skip collision handling
if (owner == SpaceInvadersType.ENEMY) {
return;
}
GameWorld world = bullet.getWorld();
Point2D hitPosition = bullet.getComponent(PositionComponent.class).getValue();
bullet.removeFromWorld();
HealthComponent hp = enemy.getComponent(HealthComponent.class);
hp.setValue(hp.getValue() - 1);
if (hp.getValue() <= 0) {
if (enemy.hasControl(EnemyControl.class)) {
enemy.getControl(EnemyControl.class).die();
} else {
enemy.getControl(BossControl.class).die();
}
} else {
world.spawn("LaserHit", hitPosition);
// make enemy look red
enemy.getComponent(ViewComponent.class).getView().setBlendMode(BlendMode.RED);
// return enemy look to normal
FXGL.getMasterTimer()
.runOnceAfter(() -> {
if (enemy.isActive())
enemy.getComponent(ViewComponent.class).getView().setBlendMode(null);
}, Duration.seconds(0.33));
}
}
项目:metastone
文件:DigitFactory.java
private static void applyFontColor(ImageView image, Color color) {
ColorAdjust monochrome = new ColorAdjust();
monochrome.setSaturation(-1.0);
Effect colorInput = new ColorInput(0, 0, image.getImage().getWidth(), image.getImage().getHeight(), color);
Blend blend = new Blend(BlendMode.MULTIPLY, new ImageInput(image.getImage()), colorInput);
image.setClip(new ImageView(image.getImage()));
image.setEffect(blend);
image.setCache(true);
}
项目:StreamSis
文件:CuteGraphicValidationDecoration.java
/**
* {@inheritDoc}
*/
@Override
protected Collection<Decoration> createRequiredDecorations(Control target) {
ImageView imageView = new ImageView(REQUIRED_IMAGE);
// The following code will transform REQUIRED_IMAGE from red to blue.
ColorAdjust adjust = new ColorAdjust();
adjust.setSaturation(-1);
Blend bluemaker = new Blend(BlendMode.SRC_ATOP, adjust,
new ColorInput(0, 0, imageView.getImage().getWidth(),
imageView.getImage().getHeight(), Color.DEEPSKYBLUE));
imageView.setEffect(bluemaker);
return Arrays.asList(new GraphicDecoration(imageView, Pos.TOP_LEFT,
REQUIRED_IMAGE.getWidth() / 2, REQUIRED_IMAGE.getHeight() / 2));
}
项目:jfx-torrent
文件:ImageUtils.java
/**
* Given a monochrome image, apply a color to it
*
* @param imageView A view to the target monochrome image
* @param color Target new image color
*/
public static void colorize(final ImageView imageView, final Paint color) {
final ColorAdjust monochrome = new ColorAdjust();
monochrome.setSaturation(-1.0);
monochrome.setBrightness(0.75);
final Blend selectionColorBlend = new Blend(BlendMode.SRC_ATOP,
monochrome, new ColorInput(0, 0, imageView.getFitWidth(),
imageView.getFitHeight(), color));
imageView.setEffect(selectionColorBlend);
}
项目:javafx-demos
文件:BlendEffectDemo.java
private void mode_ADD(Group root,Rectangle r,Circle c){
Group child = new Group();
Text txt = new Text("ADD");
txt.setFill(Color.BLACK);
child.getChildren().add(txt);
child.getChildren().add(r);
child.getChildren().add(c);
child.setBlendMode(BlendMode.ADD);
root.getChildren().add(child);
}
项目:javafx-demos
文件:BlendEffectDemo.java
private void mode_BLUE(Group root,Rectangle r,Circle c){
Group child = new Group();
Text txt = new Text("BLUE");
txt.setFill(Color.BLACK);
child.getChildren().add(txt);
child.getChildren().add(r);
child.getChildren().add(c);
child.setBlendMode(BlendMode.MULTIPLY);
root.getChildren().add(child);
}
项目:Augendiagnose
文件:ImageUtil.java
/**
* Retrieve an overlay image.
*
* @param overlayType
* The overlay type.
* @param side
* The side of the eye.
* @param color
* The overlay color.
*
* @return The overlay image.
*/
private static Image getOverlayImage(final int overlayType, final RightLeft side, final Color color) {
URL imageUrl = ClassLoader.getSystemResource("overlay/" + getOverlayFileName(overlayType, side));
Image image = new Image(imageUrl.toExternalForm());
Canvas canvas = new Canvas(OVERLAY_SIZE, OVERLAY_SIZE);
Color colorNoAlpha = new Color(color.getRed(), color.getGreen(), color.getBlue(), 1);
Blend effect = new Blend(
BlendMode.SRC_ATOP,
null,
new ColorInput(
0,
0,
OVERLAY_SIZE,
OVERLAY_SIZE,
colorNoAlpha));
// Type 2 is not changed in color.
if (overlayType != 2) {
canvas.getGraphicsContext2D().setEffect(effect);
}
canvas.getGraphicsContext2D().setGlobalAlpha(color.getOpacity());
canvas.getGraphicsContext2D().drawImage(image, 0, 0, OVERLAY_SIZE, OVERLAY_SIZE);
SnapshotParameters parameters = new SnapshotParameters();
parameters.setFill(Color.TRANSPARENT);
return canvas.snapshot(parameters, null);
}
项目:MacroIIDiscrete
文件:GeographicalFirmPortrait.java
public GeographicalFirmPortrait(final GeographicalFirm agent,
Color firmColor, GoodType goodSold, MacroII model) {
super(agent,agent.xLocationProperty(),agent.yLocationProperty());
color.setValue(firmColor);
this.firm = agent;
//add a glow effect
Glow glow = new Glow(3);
Blend blend = new Blend(BlendMode.SRC_OVER, glow,icon.effectProperty().getValue());
icon.setEffect(blend);
//schedule yourself to update your text
StackPane.setAlignment(priceText, Pos.CENTER);
priceText.setFont(Font.font("Verdana", FontWeight.BOLD,10));
model.scheduleSoon(ActionOrder.GUI_PHASE,new Steppable() {
@Override
public void step(SimState state) {
if(!active)
return;
long price = agent.getSalesDepartment(goodSold).getLastAskedPrice();
Platform.runLater(() -> priceText.setText(String.valueOf(price)));
//reschedule
model.scheduleTomorrow(ActionOrder.GUI_PHASE,this);
}
});
//register as deactivable with the model
model.registerDeactivable(this);
}
项目:incubator-netbeans
文件:Fireworks.java
public SanFranciscoFireworks() {
// create a color palette of 180 colors
colors = new Paint[181];
colors[0] = new RadialGradient(0, 0, 0.5, 0.5, 0.5, true, CycleMethod.NO_CYCLE,
new Stop(0, Color.WHITE),
new Stop(0.2, Color.hsb(59, 0.38, 1)),
new Stop(0.6, Color.hsb(59, 0.38, 1,0.1)),
new Stop(1, Color.hsb(59, 0.38, 1,0))
);
for (int h=0;h<360;h+=2) {
colors[1+(h/2)] = new RadialGradient(0, 0, 0.5, 0.5, 0.5, true, CycleMethod.NO_CYCLE,
new Stop(0, Color.WHITE),
new Stop(0.2, Color.hsb(h, 1, 1)),
new Stop(0.6, Color.hsb(h, 1, 1,0.1)),
new Stop(1, Color.hsb(h, 1, 1,0))
);
}
// create canvas
canvas = new Canvas(1024, 500);
canvas.setBlendMode(BlendMode.ADD);
canvas.setEffect(new Reflection(0,0.4,0.15,0));
background = new ImageView(getClass().getResource("sf.jpg").toExternalForm());
getChildren().addAll(background,canvas);
// create animation timer that will be called every frame
// final AnimationTimer timer = new AnimationTimer() {
timer = new AnimationTimer() {
@Override public void handle(long now) {
GraphicsContext gc = canvas.getGraphicsContext2D();
// clear area with transparent black
gc.setFill(Color.rgb(0, 0, 0, 0.2));
gc.fillRect(0, 0, 1024, 708);
// draw fireworks
drawFireworks(gc);
// countdown to launching the next firework
if (countDownTillNextFirework == 0) {
countDownTillNextFirework = 10 + (int)(Math.random()*30);
fireParticle();
}
countDownTillNextFirework --;
}
};
}
项目:marathonv5
文件:FireworksSample.java
public SanFranciscoFireworks() {
// create a color palette of 180 colors
colors = new Paint[181];
colors[0] = new RadialGradient(0, 0, 0.5, 0.5, 0.5, true, CycleMethod.NO_CYCLE,
new Stop(0, Color.WHITE),
new Stop(0.2, Color.hsb(59, 0.38, 1)),
new Stop(0.6, Color.hsb(59, 0.38, 1,0.1)),
new Stop(1, Color.hsb(59, 0.38, 1,0))
);
for (int h=0;h<360;h+=2) {
colors[1+(h/2)] = new RadialGradient(0, 0, 0.5, 0.5, 0.5, true, CycleMethod.NO_CYCLE,
new Stop(0, Color.WHITE),
new Stop(0.2, Color.hsb(h, 1, 1)),
new Stop(0.6, Color.hsb(h, 1, 1,0.1)),
new Stop(1, Color.hsb(h, 1, 1,0))
);
}
// create canvas
canvas = new Canvas(1024, 500);
canvas.setBlendMode(BlendMode.ADD);
canvas.setEffect(new Reflection(0,0.4,0.15,0));
background = new ImageView(getClass().getResource("sf.jpg").toExternalForm());
getChildren().addAll(background,canvas);
// create animation timer that will be called every frame
// final AnimationTimer timer = new AnimationTimer() {
timer = new AnimationTimer() {
@Override public void handle(long now) {
GraphicsContext gc = canvas.getGraphicsContext2D();
// clear area with transparent black
gc.setFill(Color.rgb(0, 0, 0, 0.2));
gc.fillRect(0, 0, 1024, 708);
// draw fireworks
drawFireworks(gc);
// countdown to launching the next firework
if (countDownTillNextFirework == 0) {
countDownTillNextFirework = 10 + (int)(Math.random()*30);
fireParticle();
}
countDownTillNextFirework --;
}
};
}
项目:marathonv5
文件:FireworksSample.java
public SanFranciscoFireworks() {
// create a color palette of 180 colors
colors = new Paint[181];
colors[0] = new RadialGradient(0, 0, 0.5, 0.5, 0.5, true, CycleMethod.NO_CYCLE,
new Stop(0, Color.WHITE),
new Stop(0.2, Color.hsb(59, 0.38, 1)),
new Stop(0.6, Color.hsb(59, 0.38, 1,0.1)),
new Stop(1, Color.hsb(59, 0.38, 1,0))
);
for (int h=0;h<360;h+=2) {
colors[1+(h/2)] = new RadialGradient(0, 0, 0.5, 0.5, 0.5, true, CycleMethod.NO_CYCLE,
new Stop(0, Color.WHITE),
new Stop(0.2, Color.hsb(h, 1, 1)),
new Stop(0.6, Color.hsb(h, 1, 1,0.1)),
new Stop(1, Color.hsb(h, 1, 1,0))
);
}
// create canvas
canvas = new Canvas(1024, 500);
canvas.setBlendMode(BlendMode.ADD);
canvas.setEffect(new Reflection(0,0.4,0.15,0));
background = new ImageView(getClass().getResource("sf.jpg").toExternalForm());
getChildren().addAll(background,canvas);
// create animation timer that will be called every frame
// final AnimationTimer timer = new AnimationTimer() {
timer = new AnimationTimer() {
@Override public void handle(long now) {
GraphicsContext gc = canvas.getGraphicsContext2D();
// clear area with transparent black
gc.setFill(Color.rgb(0, 0, 0, 0.2));
gc.fillRect(0, 0, 1024, 708);
// draw fireworks
drawFireworks(gc);
// countdown to launching the next firework
if (countDownTillNextFirework == 0) {
countDownTillNextFirework = 10 + (int)(Math.random()*30);
fireParticle();
}
countDownTillNextFirework --;
}
};
}
项目:HotaruFX
文件:ObjectNode.java
public PropertyTimeline<String> blendModeProperty() {
return blendMode.setIfEmptyThenGet(enumToString(BlendMode.class, node.blendModeProperty()));
}
项目:GestureFX
文件:ViewportRectSample.java
@Override
public Node mkRoot() {
Image image = new Image(LenaSample.LENA);
GesturePane gesturePane = new GesturePane(new ImageView(image));
gesturePane.setMaxSize(image.getWidth(), image.getHeight());
ImageView background = new ImageView(LenaSample.LENA);
background.setFitWidth(image.getWidth());
background.setFitHeight(image.getHeight());
Rectangle shade = new Rectangle(image.getWidth(),
image.getHeight(),
Color.grayRgb(0, 0.5));
Rectangle viewRect = new Rectangle();
viewRect.setStroke(Color.WHITE);
viewRect.setStrokeWidth(2);
viewRect.setFill(Color.WHITE);
// shade * rect
Group group = new Group(shade, viewRect);
group.setBlendMode(BlendMode.MULTIPLY);
Pane viewportSim = new Pane(background, group);
viewportSim.maxWidthProperty().bind(background.fitWidthProperty());
viewportSim.maxHeightProperty().bind(background.fitHeightProperty());
gesturePane.targetViewportProperty().addListener((o, p, n) -> {
viewRect.setTranslateX(n.getMinX());
viewRect.setTranslateY(n.getMinY());
viewRect.setWidth(n.getWidth());
viewRect.setHeight(n.getHeight());
});
HBox box = new HBox(gesturePane, viewportSim);
box.setAlignment(Pos.CENTER);
VBox.setVgrow(box, Priority.ALWAYS);
Label description = new Label("Zoom and scroll on the left image(wrapped in a GesturePane)" +
"; the right image will reflect the actual viewport " +
"of the current transformation");
description.setWrapText(true);
description.setPadding(new Insets(16));
return new VBox(description, box);
}
项目:fx-animation-editor
文件:RectangleModel.java
public RectangleModel() {
rectangle.setStrokeType(StrokeType.INSIDE);
rectangle.setBlendMode(BlendMode.MULTIPLY);
}
项目:Gargoyle
文件:MacroBaseSkin.java
/**
* @param control
* @param behavior
*/
protected MacroBaseSkin(MacroControl control, BehaviorBase<MacroControl> behavior) {
super(control, behavior);
rootLayout = new BorderPane();
tbResult = new TableView<>();
tbResult.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
tbResult.getSelectionModel().setCellSelectionEnabled(true);
// tbResult.addEventFilter(KeyEvent.KEY_RELEASED,
// this::tbResultOnKeyReleased);
textArea = new TextArea();
SplitPane splitPane = new SplitPane(textArea, tbResult);
splitPane.setOrientation(Orientation.VERTICAL);
rootLayout.setCenter(splitPane);
Button btnStart = createStartButton();
Button btnStop = createStopButton();
btnStop.setDisable(true);
btnStart.addEventHandler(ActionEvent.ACTION, this::btnStartOnAction);
btnStop.addEventHandler(ActionEvent.ACTION, this::btnStopOnAction);
Label label = new Label(" Delay Sec : ");
NumberTextField numberTextField = new NumberTextField(String.valueOf(sleepSecond.get()));
numberTextField.textProperty().addListener((oba, o, n) -> {
int parseInt = 5;
try {
parseInt = Integer.parseInt(n);
} catch (NumberFormatException e) {
}
if (0 <= parseInt && parseInt < 1001) {
sleepSecond.getAndSet(parseInt);
} else {
DialogUtil.showMessageDialog("입력 제한 [1 ~ 1000]");
numberTextField.setText(o);
return;
}
});
HBox buttonBox = new HBox(5, label, numberTextField, btnStart, btnStop);
buttonBox.setId("btn-box");
buttonBox.setPadding(new Insets(5));
buttonBox.setAlignment(Pos.CENTER_RIGHT);
rootLayout.setBottom(buttonBox);
getChildren().add(this.rootLayout);
isStarted.addListener((oba, o, n) -> {
if (n) {
btnStart.setDisable(true);
btnStop.setDisable(false);
textArea.setEditable(false);
textArea.setBlendMode(BlendMode.DARKEN);
} else {
btnStart.setDisable(false);
btnStop.setDisable(true);
textArea.setEditable(true);
textArea.setBlendMode(null);
}
});
isStarted.set(false);
}
项目:opc-ua-client
文件:EventsViewPresenter.java
@Override
public void initialize(URL url, ResourceBundle rb) {
this.rb = rb;
table.setRowFactory(new MonitoredEventRowFactory<MonitoredEvent>());
id.setCellValueFactory(p -> new ReadOnlyStringWrapper(
String.format("%s (%s)", p.getValue().getSubscription().getSubscriptionId(), p.getValue().getMonitoredItem().getMonitoredItemId())));
mode.setCellValueFactory(p -> new ReadOnlyStringWrapper(p.getValue().getMonitoredItem().getMonitoringMode().toString()));
variable.setCellValueFactory(p -> p.getValue().nameProperty());
value.setCellValueFactory(p -> p.getValue().valueProperty());
samplingrate.setCellValueFactory(p -> new ReadOnlyObjectWrapper<Double>(p.getValue().getSubscription().getRevisedPublishingInterval()));
quality.setCellValueFactory(p -> new ReadOnlyStringWrapper(OpcUaConverter.toString(p.getValue().getMonitoredItem().getStatusCode())));
timestamp.setCellValueFactory(p -> p.getValue().timestampProperty());
lasterror.setCellValueFactory(p -> p.getValue().lasterrorProperty());
table.setItems(monitoredItems);
table.setOnDragOver(event -> {
event.acceptTransferModes(TransferMode.COPY);
event.consume();
});
table.setOnDragEntered(event -> {
if (event.getDragboard().hasString()) {
table.setBlendMode(BlendMode.DARKEN);
}
});
table.setOnDragExited(event -> {
if (event.getDragboard().hasString()) {
table.setBlendMode(null);
}
});
table.setOnDragDropped(event -> {
if (event.getDragboard().hasString()) {
table.setBlendMode(null);
event.acceptTransferModes(TransferMode.COPY);
state.subscribeTreeItemList().add(state.selectedTreeItemProperty().get());
event.setDropCompleted(true);
}
});
table.setOnMousePressed(event -> {
if (event.isPrimaryButtonDown() && event.getClickCount() == 2) {
MonitoredEvent item = table.getSelectionModel().getSelectedItem();
if (item != null) {
state.showAttributeItemProperty().set(item.getReferenceDescription());
}
}
});
state.subscribeTreeItemList().addListener((ListChangeListener.Change<? extends ReferenceDescription> c) -> {
while (c.next()) {
if (c.wasAdded()) {
c.getAddedSubList().stream().forEach(this::subscribe);
}
}
});
bindContextMenu();
state.connectedProperty().addListener((l, a, b) -> {
if (b && !monitoredItems.isEmpty()) {
List<ReferenceDescription> items = monitoredItems.stream().map(MonitoredEvent::getReferenceDescription).collect(Collectors.toList());
monitoredItems.clear();
subscribe(items);
}
});
}
项目:openjfx-8u-dev-tests
文件:CanvasEffects2App.java
slotBlendRectangleCircle(BlendMode _operation) {
operation = _operation;
}
项目:FXGL
文件:SmokeSample.java
@Override
protected void initGame() {
getGameScene().setBackgroundColor(Color.BLACK);
e = ParticleEmitters.newSmokeEmitter();
e.setBlendMode(BlendMode.SRC_OVER);
e.setSize(15, 30);
e.setNumParticles(10);
e.setEmissionRate(0.25);
e.setStartColor(Color.color(0.6, 0.55, 0.5, 0.47));
e.setEndColor(Color.BLACK);
e.setExpireFunction((i, x, y) -> Duration.seconds(16));
e.setVelocityFunction((i, x, y) -> new Point2D(FXGLMath.random() - 0.5, 0));
e.setAccelerationFunction(() -> new Point2D((FXGLMath.noise1D(7776 + getTick()) - 0.5) * 0.02, 0));
//e.setSpawnPointFunction((i, x, y) -> new Point2D(x + FXGLMath.noise1D(333 + getTick()) * 150 - 75, y + FXGLMath.noise1D(getTick()) * 150 - 75));
// Entities.builder()
// .at(getWidth() / 2, getHeight() - 100)
// .with(new ParticleControl(e), new RandomMoveControl(2))
// .buildAndAttach(getGameWorld());
emitter = ParticleEmitters.newFireEmitter();
emitter.setSize(5, 15);
emitter.setVelocityFunction((i, x, y) -> new Point2D(FXGLMath.random() - 0.5, -FXGLMath.random() * 3));
emitter.setAccelerationFunction(() -> new Point2D(0, 0.05));
emitter.setExpireFunction((i, x, y) -> Duration.seconds(3));
emitter.setScaleFunction((i, x, y) -> new Point2D(FXGLMath.random(0, 0.01f), FXGLMath.random(-0.05f, 0.05f)));
emitter.setStartColor(Color.YELLOW);
emitter.setEndColor(Color.RED);
//emitter.setBlendMode(BlendMode.SRC_OVER);
//emitter.setSourceImage(getAssetLoader().loadTexture("particleTexture2.png").toColor(Color.rgb(230, 75, 40)).getImage());
entity = Entities.builder()
.at(getWidth() / 2, getHeight() / 2)
.with(new ParticleControl(emitter))
.buildAndAttach(getGameWorld());
Entities.builder()
.at(250, 250)
.viewFromNode(new Rectangle(40, 40, Color.BLUE))
.with(new CircularMovementControl(10, 25))
.buildAndAttach(getGameWorld());
}
项目:FXGL
文件:ParticleEmitter.java
public final BlendMode getBlendMode() {
return blendMode.get();
}