diff --git a/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/OverlayWarning.java b/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/OverlayWarning.java --- a/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/OverlayWarning.java +++ b/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/OverlayWarning.java @@ -18,6 +18,7 @@ import javafx.scene.shape.Rectangle; import javafx.scene.text.Font; import javafx.scene.text.Text; +import javafx.scene.text.TextAlignment; import javafx.geometry.Rectangle2D; import javafx.util.Duration; @@ -27,25 +28,27 @@ */ public class OverlayWarning { - private static final float PAD = 20f; - private static final int FONTSIZE = 36; - private static final int ARC = 30; - private static final String MSG = "Press ESC to exit full-screen mode."; + private static final float PAD = 40f; + private static final float RECTW = 600f; + private static final float RECTH = 100f; + private static final float ARC = 20f; + private static final int FONTSIZE = 24; + private static final String MSG = "Press ESC to exit full-screen mode."; private ViewScene view; - private Group root; + private Group sceneRoot; private OverlayRunnable overlayPainter; private SequentialTransition overlayTransition; private PaintRunnable origPainter; public OverlayWarning(final ViewScene vs) { view = vs; - root = createOverlayGroup(); + sceneRoot = createOverlayGroup(); overlayPainter = new OverlayRunnable(view, view.getPen()); - overlayPainter.setOverlayRoot((NGNode)root.impl_getPGNode()); + overlayPainter.setOverlayRoot((NGNode)sceneRoot.impl_getPGNode()); overlayTransition = new SequentialTransition(); PauseTransition pause = new PauseTransition(Duration.valueOf(4000)); - FadeTransition fade = new FadeTransition(Duration.valueOf(1000), root); + FadeTransition fade = new FadeTransition(Duration.valueOf(1000), sceneRoot); fade.setFromValue(1); fade.setToValue(0); @@ -56,7 +59,7 @@ final PaintRunnable constPainter = origPainter; overlayTransition.setOnFinished(new EventHandler() { - public void handle(ActionEvent event) { + @Override public void handle(ActionEvent event) { view.getPen().setPaintRunnable(constPainter); view.entireSceneNeedsRepaint(); } @@ -90,9 +93,15 @@ scene.setFill(null); text.setText(MSG); - text.setStroke(Color.BLUE); - text.setFill(Color.BLUE); + text.setStroke(Color.WHITE); + text.setFill(Color.WHITE); text.setFont(font); + text.setWrappingWidth(RECTW - PAD - PAD); + + String TEXT_CSS = + "-fx-effect: dropshadow(two-pass-box, rgba(0,0,0,0.75), 3, 0.0, 0, 2);"; + text.setStyle(TEXT_CSS); + text.setTextAlignment(TextAlignment.CENTER); final Rectangle background = createBackground(text, screenBounds); @@ -113,19 +122,23 @@ double textW = text.getLayoutBounds().getWidth(); double textH = text.getLayoutBounds().getHeight(); - double rectX = (screen.getWidth() - textW - PAD - PAD) / 2.0; - double rectY = screen.getHeight() / 3.0; + double rectX = (screen.getWidth() - RECTW) / 2.0; + double rectY = (screen.getHeight() / 2.0); - rectangle.setWidth(PAD + textW + PAD); - rectangle.setHeight(PAD + textH + PAD); + rectangle.setWidth(RECTW); + rectangle.setHeight(RECTH); rectangle.setX(rectX); - rectangle.setY(rectY); + rectangle.setY(rectY - RECTH); rectangle.setArcWidth(ARC); rectangle.setArcHeight(ARC); - rectangle.setFill(Color.gray(0.5, 0.7)); + rectangle.setFill(Color.gray(0.0, 0.6)); - text.setX(rectX + PAD); - text.setY(rectY + textH); + text.setX(rectX + ((RECTW - textW) / 2.0)); + text.setY(rectY - (RECTH / 2.0) + ((textH - text.getBaselineOffset()) / 2.0)); + + System.err.println("rectX: " + rectX + " rectY: " + rectY); + System.err.println("textW: " + textW + " textH: " + textH); + System.err.println("textX: " + text.getX() + " textY: " + text.getY()); return rectangle; }