You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.5 KiB

3 years ago
  1. package nova.monadic_sfx.util.controls
  2. import com.jfoenix.{controls => jfoenixc}
  3. import scalafx.scene.Node
  4. import scalafx.scene.layout.StackPane
  5. import scalafx.scene.paint.Paint
  6. class JFXRippler(
  7. override val delegate: jfoenixc.JFXRippler = new jfoenixc.JFXRippler
  8. ) extends StackPane(delegate) {
  9. import JFXRippler._
  10. def control = delegate.getControl()
  11. def control_=(v: Node) = delegate.setControl(v)
  12. def enabled_=(v: Boolean) = delegate.setEnabled(v)
  13. def ripplerPos = delegate.getPosition()
  14. def ripplerPos_=(pos: RipplerPos) = delegate.setPosition(pos)
  15. def ripplerDisabled = delegate.ripplerDisabledProperty()
  16. def ripplerDisabled_=(v: Boolean) = delegate.setRipplerDisabled(v)
  17. def ripplerFill = delegate.ripplerFillProperty()
  18. def ripplerFill_=(v: Paint) = delegate.setRipplerFill(v)
  19. def ripplerRecenter = delegate.ripplerRecenterProperty()
  20. def ripplerRecenter_=(v: Boolean) = delegate.setRipplerRecenter(v)
  21. def ripplerRadius = delegate.ripplerRadiusProperty()
  22. def ripplerRadius_=(v: Int) = delegate.setRipplerRadius(v)
  23. }
  24. object JFXRippler {
  25. abstract class RipplerPos(val delegate: jfoenixc.JFXRippler.RipplerPos)
  26. case object Front extends RipplerPos(jfoenixc.JFXRippler.RipplerPos.FRONT)
  27. case object Back extends RipplerPos(jfoenixc.JFXRippler.RipplerPos.BACK)
  28. object RipplerPos {
  29. implicit def sfxRipplerPos2jfxRipplerPos(
  30. v: RipplerPos
  31. ): jfoenixc.JFXRippler.RipplerPos = v.delegate
  32. }
  33. implicit def sfxRippler2jfxRippler(v: JFXRippler): jfoenixc.JFXRippler =
  34. v.delegate
  35. }