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) { |