src/java.desktop/share/classes/javax/swing/RepaintManager.java
branchmetal-prototype-branch
changeset 57417 28582d575a98
parent 57196 a95707a39ff5
equal deleted inserted replaced
57416:e153174dba06 57417:28582d575a98
   127     private PaintManager paintManager;
   127     private PaintManager paintManager;
   128 
   128 
   129     private static final Object repaintManagerKey = RepaintManager.class;
   129     private static final Object repaintManagerKey = RepaintManager.class;
   130 
   130 
   131     // Whether or not a VolatileImage should be used for double-buffered painting
   131     // Whether or not a VolatileImage should be used for double-buffered painting
   132     // TODO : We have not yet implemented MetalBlitLoops logic.
   132     static boolean volatileImageBufferEnabled = true;
   133     // Because once we draw into offline buffer we need blitloops
       
   134     // logic to blit the content into destination buffer.
       
   135     // When we have blitloops logic for Metal we can enable usage
       
   136     // of offscreen volatile image
       
   137     //static boolean volatileImageBufferEnabled = true;
       
   138     static boolean volatileImageBufferEnabled = false;
       
   139     /**
   133     /**
   140      * Type of VolatileImage which should be used for double-buffered
   134      * Type of VolatileImage which should be used for double-buffered
   141      * painting.
   135      * painting.
   142      */
   136      */
   143     private static final int volatileBufferType;
   137     private static final int volatileBufferType;
   215             public void removeRepaintListener(RepaintManager rm, RepaintListener l) {
   209             public void removeRepaintListener(RepaintManager rm, RepaintListener l) {
   216                 rm.removeRepaintListener(l);
   210                 rm.removeRepaintListener(l);
   217             }
   211             }
   218         });
   212         });
   219 
   213 
   220         // TODO : Revert this change after we implement MetalBlitLoops
   214         volatileImageBufferEnabled = "true".equals(AccessController.
   221         /*volatileImageBufferEnabled = "true".equals(AccessController.
       
   222                 doPrivileged(new GetPropertyAction(
   215                 doPrivileged(new GetPropertyAction(
   223                 "swing.volatileImageBufferEnabled", "true")));*/
   216                 "swing.volatileImageBufferEnabled", "true")));
   224         boolean headless = GraphicsEnvironment.isHeadless();
   217         boolean headless = GraphicsEnvironment.isHeadless();
   225         /*if (volatileImageBufferEnabled && headless) {
   218         if (volatileImageBufferEnabled && headless) {
   226             volatileImageBufferEnabled = false;
   219             volatileImageBufferEnabled = false;
   227         }*/
   220         }
   228         nativeDoubleBuffering = "true".equals(AccessController.doPrivileged(
   221         nativeDoubleBuffering = "true".equals(AccessController.doPrivileged(
   229                     new GetPropertyAction("awt.nativeDoubleBuffering")));
   222                     new GetPropertyAction("awt.nativeDoubleBuffering")));
   230         String bs = AccessController.doPrivileged(
   223         String bs = AccessController.doPrivileged(
   231                           new GetPropertyAction("swing.bufferPerWindow"));
   224                           new GetPropertyAction("swing.bufferPerWindow"));
   232         if (headless) {
   225         if (headless) {