modules/graphics/src/main/java/com/sun/glass/ui/monocle/MonocleApplication.java

Print this page




 181     }
 182 
 183     @Override
 184     protected Size staticCursor_getBestSize(int width, int height) {
 185         NativeCursor cursor = NativePlatformFactory.getNativePlatform().getCursor();
 186         return cursor.getBestSize();
 187     }
 188 
 189     @Override
 190     public Pixels createPixels(int width, int height, ByteBuffer data) {
 191         return new MonoclePixels(width, height, data);
 192     }
 193 
 194     @Override
 195     public Pixels createPixels(int width, int height, IntBuffer data) {
 196         return new MonoclePixels(width, height, data);
 197     }
 198 
 199     @Override
 200     public Pixels createPixels(int width, int height, IntBuffer data,
 201                                float scale) {
 202         return new MonoclePixels(width, height, data, scale);

 203     }
 204 
 205     @Override
 206     protected int staticPixels_getNativeFormat() {
 207         return platform.getScreen().getNativeFormat();
 208     }
 209 
 210     @Override
 211     public Robot createRobot() {
 212         return new MonocleRobot();
 213     }
 214 
 215     @Override
 216     protected double staticScreen_getVideoRefreshPeriod() {
 217         return 0.0;
 218     }
 219 
 220     @Override
 221     protected Screen[] staticScreen_getScreens() {
 222         Screen screen = null;
 223         try {
 224             NativeScreen ns = platform.getScreen();
 225             Constructor c = AccessController.doPrivileged(
 226                     new PrivilegedAction<Constructor>() {
 227                         @Override
 228                         public Constructor run() {
 229                             try {
 230                                 Constructor c = Screen.class.getDeclaredConstructor(
 231                                         Long.TYPE,
 232                                         Integer.TYPE,
 233                                         Integer.TYPE, Integer.TYPE,
 234                                         Integer.TYPE, Integer.TYPE,
 235                                         Integer.TYPE, Integer.TYPE,
 236                                         Integer.TYPE, Integer.TYPE,
 237                                         Integer.TYPE, Integer.TYPE, Float.TYPE);
 238                                 c.setAccessible(true);
 239                                 return c;
 240                             } catch (Exception e) {
 241                                 e.printStackTrace();
 242                                 return null;
 243                             }
 244                         }
 245                     });
 246             if (c != null) {
 247                 screen = (Screen) c.newInstance(
 248                         1l, // dummy native pointer;
 249                         ns.getDepth(),
 250                         0, 0, ns.getWidth(), ns.getHeight(),
 251                         0, 0, ns.getWidth(), ns.getHeight(),

 252                         ns.getDPI(), ns.getDPI(),
 253                         ns.getScale());

 254                 // Move the cursor to the middle of the screen
 255                 MouseState mouseState = new MouseState();
 256                 mouseState.setX(ns.getWidth() / 2);
 257                 mouseState.setY(ns.getHeight() / 2);
 258                 MouseInput.getInstance().setState(mouseState, false);
 259             }
 260         } catch (Exception e) {
 261             e.printStackTrace();
 262         } catch (UnsatisfiedLinkError e) {
 263             e.printStackTrace();
 264         }
 265         return new Screen[] { screen };
 266     }
 267 
 268     @Override
 269     public Timer createTimer(Runnable runnable) {
 270         return new MonocleTimer(runnable);
 271     }
 272 
 273     @Override
 274     protected int staticTimer_getMinPeriod() {
 275         return MonocleTimer.getMinPeriod_impl();
 276     }
 277 
 278     @Override
 279     protected int staticTimer_getMaxPeriod() {
 280         return MonocleTimer.getMaxPeriod_impl();
 281     }
 282 
 283     public boolean hasWindowManager() {
 284         return false;




 181     }
 182 
 183     @Override
 184     protected Size staticCursor_getBestSize(int width, int height) {
 185         NativeCursor cursor = NativePlatformFactory.getNativePlatform().getCursor();
 186         return cursor.getBestSize();
 187     }
 188 
 189     @Override
 190     public Pixels createPixels(int width, int height, ByteBuffer data) {
 191         return new MonoclePixels(width, height, data);
 192     }
 193 
 194     @Override
 195     public Pixels createPixels(int width, int height, IntBuffer data) {
 196         return new MonoclePixels(width, height, data);
 197     }
 198 
 199     @Override
 200     public Pixels createPixels(int width, int height, IntBuffer data,
 201                                float scalex, float scaley)
 202     {
 203         return new MonoclePixels(width, height, data, scalex, scaley);
 204     }
 205 
 206     @Override
 207     protected int staticPixels_getNativeFormat() {
 208         return platform.getScreen().getNativeFormat();
 209     }
 210 
 211     @Override
 212     public Robot createRobot() {
 213         return new MonocleRobot();
 214     }
 215 
 216     @Override
 217     protected double staticScreen_getVideoRefreshPeriod() {
 218         return 0.0;
 219     }
 220 
 221     @Override
 222     protected Screen[] staticScreen_getScreens() {


 223         NativeScreen ns = platform.getScreen();
 224         Screen screen = new Screen(1l, // dummy native pointer;























 225                                    ns.getDepth(),
 226                                    0, 0, ns.getWidth(), ns.getHeight(),
 227                                    0, 0, ns.getWidth(), ns.getHeight(),
 228                                    0, 0, ns.getWidth(), ns.getHeight(),
 229                                    ns.getDPI(), ns.getDPI(),
 230                                    ns.getScale(), ns.getScale(),
 231                                    ns.getScale(), ns.getScale());
 232         // Move the cursor to the middle of the screen
 233         MouseState mouseState = new MouseState();
 234         mouseState.setX(ns.getWidth() / 2);
 235         mouseState.setY(ns.getHeight() / 2);
 236         MouseInput.getInstance().setState(mouseState, false);






 237         return new Screen[] { screen };
 238     }
 239 
 240     @Override
 241     public Timer createTimer(Runnable runnable) {
 242         return new MonocleTimer(runnable);
 243     }
 244 
 245     @Override
 246     protected int staticTimer_getMinPeriod() {
 247         return MonocleTimer.getMinPeriod_impl();
 248     }
 249 
 250     @Override
 251     protected int staticTimer_getMaxPeriod() {
 252         return MonocleTimer.getMaxPeriod_impl();
 253     }
 254 
 255     public boolean hasWindowManager() {
 256         return false;