/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. * * This file is available and licensed under the following license: * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of Sun Microsystems nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * * The Cloud example, Desktop profile * * This application requires the ./sun.jpg file * */ import javafx.animation.Interpolator; import javafx.animation.Timeline; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.paint.LinearGradient; import javafx.scene.paint.Stop; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.shape.ArcTo; import javafx.scene.shape.MoveTo; import javafx.scene.shape.Path; import javafx.scene.effect.Lighting; import javafx.scene.effect.light.DistantLight; var x: Number; Timeline { repeatCount: Timeline.INDEFINITE autoReverse: true keyFrames: [ at (0s) {x => 0.0}, at (4s) {x => 158.0 tween Interpolator.LINEAR} ] }.play(); var y: Number; Timeline { repeatCount: Timeline.INDEFINITE autoReverse: true keyFrames: [ at (0s) {y => 0.0}, at (7s) {y => 258.0 tween Interpolator.LINEAR}, ] }.play(); Stage{ title: "Cloud" scene: Scene{ fill: Color.WHITE content:[ ImageView{ image: Image{ url: "{__DIR__}sun.jpg" }}, Path { translateX: bind x translateY: bind y stroke: Color.DODGERBLUE effect: Lighting{light: DistantLight{azimuth: 90}} fill: LinearGradient { startX:60, startY:10, endX:10 endY:80 , proportional: false stops: [ Stop {offset: 0.0 color: Color.DODGERBLUE}, Stop {offset: 0.5 color: Color.LIGHTSKYBLUE}, Stop {offset: 1.0 color: Color.WHITE} ] } elements: [ MoveTo {x: 15 y: 15 }, ArcTo {x: 50 y: 10 radiusX: 20 radiusY: 20 sweepFlag: true}, ArcTo {x: 70 y: 20 radiusX: 20 radiusY: 20 sweepFlag: true}, ArcTo {x: 50 y: 60 radiusX: 20 radiusY: 20 sweepFlag: true}, ArcTo {x: 20 y: 50 radiusX: 10 radiusY: 5 sweepFlag: true}, ArcTo {x: 15 y: 15 radiusX: 10 radiusY: 10 sweepFlag: true}, ] }//Path ] }//Scene }//Stage