use of javafx.scene.paint.Color in project processing by processing.
the class PGraphicsFX2D method strokeFromCalc.
//////////////////////////////////////////////////////////////
// STROKE
// noStroke() and stroke() inherited from PGraphics.
@Override
protected void strokeFromCalc() {
super.strokeFromCalc();
context.setStroke(new Color(strokeR, strokeG, strokeB, strokeA));
}
use of javafx.scene.paint.Color in project processing by processing.
the class PGraphicsFX2D method fillFromCalc.
//////////////////////////////////////////////////////////////
// TINT
// noTint() and tint() inherited from PGraphics.
//////////////////////////////////////////////////////////////
// FILL
// noFill() and fill() inherited from PGraphics.
@Override
protected void fillFromCalc() {
super.fillFromCalc();
context.setFill(new Color(fillR, fillG, fillB, fillA));
}
use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class ColorPickerControl method initialize.
/**
* Private
*/
private void initialize() {
final FXMLLoader loader = new FXMLLoader();
//NOI18N
loader.setLocation(ColorPickerControl.class.getResource("/fxml/FXMLColorPicker.fxml"));
loader.setController(this);
loader.setRoot(this);
try {
loader.load();
} catch (IOException ex) {
Logger.getLogger(ColorPickerControl.class.getName()).log(Level.SEVERE, null, ex);
}
assert hue_slider != null;
assert picker_region != null;
assert hue_textfield != null;
assert saturation_textfield != null;
assert brightness_textfield != null;
assert alpha_textfield != null;
assert red_textfield != null;
assert green_textfield != null;
assert blue_textfield != null;
assert alpha_slider != null;
// Make the grad for hue slider
hue_slider.setStyle(makeHueSliderCSS());
// Investigate why height + width listeners do not work
// Indeed, the picker_handle_stackpane bounds may still be null at this point
// UPDATE BELOW TO BE CALLED ONCE ONLY AT DISPLAY TIME
picker_region.boundsInParentProperty().addListener((ov, oldb, newb) -> {
picker_scrollpane.setHvalue(0.5);
picker_scrollpane.setVvalue(0.5);
// Init time only
final Paint paint = paintPickerController.getPaintProperty();
if (paint instanceof Color) {
updateUI((Color) paint);
} else if (paint instanceof LinearGradient || paint instanceof RadialGradient) {
final GradientPicker gradientPicker = paintPickerController.getGradientPicker();
final GradientPickerStop gradientPickerStop = gradientPicker.getSelectedStop();
// Update the color preview with the color of the selected stop
if (gradientPickerStop != null) {
updateUI(gradientPickerStop.getColor());
}
}
});
final ChangeListener<Boolean> onHSBFocusedChange = (ov, oldValue, newValue) -> {
if (newValue == false) {
// Update UI
final Color color = updateUI_OnHSBChange();
// Update model
setPaintProperty(color);
}
};
final ChangeListener<Boolean> onRGBFocusedChange = (ov, oldValue, newValue) -> {
if (newValue == false) {
// Update UI
final Color color = updateUI_OnRGBChange();
// Update model
setPaintProperty(color);
}
};
final ChangeListener<Boolean> onHexaFocusedChange = (ov, oldValue, newValue) -> {
if (newValue == false) {
try {
// Update UI
final Color color = updateUI_OnHexaChange();
// Update model
setPaintProperty(color);
} catch (IllegalArgumentException iae) {
handleHexaException();
}
}
};
// TextField ON FOCUS LOST event handler
hue_textfield.focusedProperty().addListener(onHSBFocusedChange);
saturation_textfield.focusedProperty().addListener(onHSBFocusedChange);
brightness_textfield.focusedProperty().addListener(onHSBFocusedChange);
alpha_textfield.focusedProperty().addListener(onHSBFocusedChange);
red_textfield.focusedProperty().addListener(onRGBFocusedChange);
green_textfield.focusedProperty().addListener(onRGBFocusedChange);
blue_textfield.focusedProperty().addListener(onRGBFocusedChange);
hexa_textfield.focusedProperty().addListener(onHexaFocusedChange);
// Slider ON VALUE CHANGE event handler
hue_slider.valueProperty().addListener((ov, oldValue, newValue) -> {
if (updating == true) {
return;
}
double hue = newValue.doubleValue();
// retrieve HSB TextFields values
double saturation = Double.valueOf(saturation_textfield.getText()) / 100.0;
double brightness = Double.valueOf(brightness_textfield.getText()) / 100.0;
double alpha = Double.valueOf(alpha_textfield.getText());
// Update UI
final Color color = updateUI(hue, saturation, brightness, alpha);
// Update model
setPaintProperty(color);
});
alpha_slider.valueProperty().addListener((ov, oldValue, newValue) -> {
if (updating == true) {
return;
}
double alpha = newValue.doubleValue();
// retrieve HSB TextFields values
double hue = Double.valueOf(hue_textfield.getText());
double saturation = Double.valueOf(saturation_textfield.getText()) / 100.0;
double brightness = Double.valueOf(brightness_textfield.getText()) / 100.0;
// Update UI
final Color color = updateUI(hue, saturation, brightness, alpha);
// Update model
setPaintProperty(color);
});
final ChangeListener<Boolean> liveUpdateListener = (ov, oldValue, newValue) -> paintPickerController.setLiveUpdate(newValue);
picker_region.pressedProperty().addListener(liveUpdateListener);
hue_slider.pressedProperty().addListener(liveUpdateListener);
alpha_slider.pressedProperty().addListener(liveUpdateListener);
}
use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class ColorPickerControl method updateUI_OnHexaChange.
private Color updateUI_OnHexaChange() {
// retrieve Hexa TextField value
final String hexa = hexa_textfield.getText().trim();
final Color color = Color.web(hexa);
double hue = color.getHue();
double saturation = color.getSaturation();
double brightness = color.getBrightness();
double alpha = Double.valueOf(alpha_textfield.getText());
return updateUI(hue, saturation, brightness, alpha);
}
use of javafx.scene.paint.Color in project fxexperience2 by EricCanull.
the class ColorPickerControl method handleHexaException.
private void handleHexaException() {
paintPickerController.getDelegate().handleError("log.warning.color.creation.error.hexadecimal", hexa_textfield.getText().trim());
// Update UI to previous value
final Color color;
switch(paintPickerController.getMode()) {
case COLOR:
assert paintPickerController.getPaintProperty() instanceof Color;
color = (Color) paintPickerController.getPaintProperty();
break;
case LINEAR:
case RADIAL:
final GradientPicker gradientPicker = paintPickerController.getGradientPicker();
if (gradientPicker.getGradientStops().isEmpty() == false) {
final GradientPickerStop stop = paintPickerController.getGradientPicker().getSelectedStop();
assert stop != null;
color = stop.getColor();
} else {
color = Color.BLACK;
}
break;
default:
color = null;
assert false;
}
assert color != null;
updateUI(color);
hexa_textfield.selectAll();
}
Aggregations