package scrolllinesindemo; /* * Main.fx * * Created on 8 janv. 2010, 23:39:17 */ import javafx.stage.Stage; import javafx.scene.Scene; import javafx.geometry.Rectangle2D; import javafx.scene.image.ImageView; import javafx.scene.image.Image; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.scene.effect.Reflection; import javafx.scene.Group; import javafx.scene.shape.Rectangle; import javafx.scene.control.TextBox; import javafx.scene.control.Button; import javafx.scene.effect.FloatMap; import javafx.util.Math; import javafx.scene.effect.DisplacementMap; import javafx.scene.paint.Color; /** * @author Patrick */ def letterWidth = 32; def letterHeight = 32; var blankLine = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]; var text = "Bonne Annee!, Happy new year!, bon any nou, buon anno!, prost Neujahr!, feliz ano novo!, mwaka mzuri!, ath bhliain faoi mhaise! "; var textFont = StringConverter.stringToFont(text); insert blankLine before textFont[0]; var textLength = sizeof(textFont)-1; insert blankLine into textFont; var textIncrement = 0; var font = Image { url: "{__DIR__}img/font.png" } def viewports = for (row in [0..5]) { for (col in [0..9]) { Rectangle2D{ minX: col * letterWidth, minY: row * letterHeight, height: letterWidth, width: letterHeight } } } var line = bind for (col in [0..10]) { //10 chars (320 = 32*10) ImageView { x: bind (col * letterWidth) -scrollX , y: 0, viewport: bind viewports[textFont[col+textIncrement]] image: font } } /// add var widthScroll = letterWidth * 10; // 10 chars var map = FloatMap { width: widthScroll height: letterHeight } for (i:Integer in [0..=32){ tempX = 0; if (textIncrement