Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8139843

buggy -fx-border-image-slice with SWPipeline

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • 9
    • 8u60
    • javafx
    • x86_64
    • windows_7

    Description

      FULL PRODUCT VERSION :
      java version "1.8.0_60"
      Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
      Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7601]

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Prism pipeline init order: sw
      Using native-based Pisces rasterizer
      Using dirty region optimizations
      Not using texture mask for primitives
      Not forcing power of 2 sizes for textures
      Using hardware CLAMP_TO_ZERO mode
      Opting in for HiDPI pixel scaling
      Prism pipeline name = com.sun.prism.sw.SWPipeline
      *** Fallback to Prism SW pipeline
      (X) Got class = class com.sun.prism.sw.SWPipeline
      Initialized prism pipeline: com.sun.prism.sw.SWPipeline
       vsync: true vpipe: false

      A DESCRIPTION OF THE PROBLEM :
      When JavaFX uses the SWPipeline (missing OpenGL or Direct3D or forced to do so with -Dprism.order=sw) all buttons (or other components) using the css attribute -fx-border-image-slice are displayed incorrect.

      We use the image slice feature very frequently in our product. All rendering is mangled. You can see this behaviour in 2 screenshots:
      D3DPipeline (expected layout): http://93.180.154.73/javafx/D3DPipeline.JPG
      SWPipeline (buggy layout): http://93.180.154.73/javafx/SWPipeline.JPG
      The only difference between both screenshots was the JVM parameter -Dprism.order=sw

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      http://93.180.154.73/javafx/SWPipeline%20test%20button%20OK.JPG
      ACTUAL -
      http://93.180.154.73/javafx/SWPipeline%20test%20button.JPG

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      FXML:
      <Button styleClass="bw-medium" text="SWPipeline test" />

      CSS:
      .bw-medium {
      -fx-padding: -7px -4px -5px -4px;
      -fx-border-image-source: url('images/btn_bw_medium_bg.png');
      -fx-border-image-slice: 11px 12px 10px 13px fill;
      -fx-border-image-width: 11px 12px 10px 13px;
      -fx-border-image-repeat: repeat;
      -fx-border-color: null;
      -fx-background-color: null;
      -fx-min-width: 150px;
      -fx-min-height: 26px;
      -fx-pref-height: 26px;
      -fx-font-size: 14px;
      -fx-text-fill: #8a8c8f;
      }

      Border image:
      http://93.180.154.73/javafx/btn_bw_medium_bg.png
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Use hardware rendering (Direct3D or OpenGL) but this is not available on all platforms.

      Attachments

        Activity

          People

            flar Jim Graham
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: