ParaJVE Bugtracker

Viewing Issue Simple Details Jump to Notes ] << ] >> ] View Advanced ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000022 [ParaJVE] Emulation > Display major always 2009-01-18 12:19 2009-01-20 13:21
Reporter parabellum View Status public  
Assigned To parabellum
Priority normal Resolution fixed  
Status resolved   Product Version Release 0.6.0
Summary 0000022: Fullscreen mode not available on Linux Ubuntu
Description On Linux Ubuntu 8.10 using the java-6-sun JRE (update 7), the "FullScreen" checkbox of the game selector dialog is grayed out (ie. unavailable), because the JRE reports that the system doesn't support fullscreen mode.

Installing and selecting the java-6-openjdk runtime (rather than java-6-sun) fixes the problem : the fullscreen checkbox is available again with this JRE.

However, it would be a good idea to provide a kind of fallback implementation that emulates fullscreen, for all these platforms that don't support a native fullscreen mode.
Additional Information
Tags No tags attached.
Cartridge -
Attached Files

- Relationships

-  Notes
(0000018)
parabellum (administrator)
2009-01-20 12:58

The code has been modified in order to execute a fallback fullscreen implementation (ie. an undecorated window that covers the whole screen) when the native fullscreen mode is not reported to be available.

This has been successfully tested both on Linux Ubuntu 8.10 using java-6-sun, and also on Windows XP SP2 (by tricking the emulator into believing that the native fullscreen mode wasn't available).

With this fallback implementation available, the "Fullscreen mode" check-box will never need to be disabled anymore.
(0000019)
parabellum (administrator)
2009-01-20 13:00
edited on: 2009-01-20 13:01

New code responsible for FullScreen mode activation :
  final GraphicsDevice gd = frame.getGraphicsConfiguration().getDevice();

  if (doFullscreen) {
        frame.setUndecorated( true );
      if (gd.isFullScreenSupported()) {
          System.out.println("- Creating UI window (native fullscreen)");
          gd.setFullScreenWindow( frame );
      }
      else {
          final Rectangle bounds = frame.getGraphicsConfiguration().getBounds(); 
          System.out.println("- Creating UI window (fullscreen fallback for " + bounds + ")");
          frame.setAlwaysOnTop( true );
          frame.setBounds( bounds );
          frame.setVisible( true );
      }
  }
  else {
      System.out.println("- Creating UI window");
      frame.setVisible( true );
  }




Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker