001 package com.croftsoft.core.gui; 002 003 import java.awt.*; 004 005 import com.croftsoft.core.lang.NullArgumentException; 006 007 /********************************************************************* 008 * Library of static methods for manipulating a GraphicDevice. 009 * 010 * @version 011 * 2003-07-26 012 * @since 013 * 2003-07-25 014 * @author 015 * <a href="https://www.croftsoft.com/">David Wallace Croft</a> 016 *********************************************************************/ 017 018 public final class GraphicsDeviceLib 019 ////////////////////////////////////////////////////////////////////// 020 ////////////////////////////////////////////////////////////////////// 021 { 022 023 public static boolean changeDisplayMode ( 024 GraphicsDevice graphicsDevice, 025 DisplayMode [ ] desiredDisplayModes ) 026 ////////////////////////////////////////////////////////////////////// 027 { 028 NullArgumentException.check ( graphicsDevice ); 029 030 NullArgumentException.check ( desiredDisplayModes ); 031 032 if ( !graphicsDevice.isDisplayChangeSupported ( ) ) 033 { 034 return false; 035 } 036 037 DisplayMode currentDisplayMode = graphicsDevice.getDisplayMode ( ); 038 039 DisplayMode [ ] supportedDisplayModes 040 = graphicsDevice.getDisplayModes ( ); 041 042 for ( int i = 0; i < desiredDisplayModes.length; i++ ) 043 { 044 DisplayMode desiredDisplayMode = desiredDisplayModes [ i ]; 045 046 if ( DisplayModeLib.matches ( 047 currentDisplayMode, desiredDisplayMode ) ) 048 { 049 return false; 050 } 051 052 for ( int j = 0; j < supportedDisplayModes.length; j++ ) 053 { 054 DisplayMode supportedDisplayMode = supportedDisplayModes [ j ]; 055 056 if ( DisplayModeLib.matches ( 057 supportedDisplayMode, desiredDisplayMode ) ) 058 { 059 graphicsDevice.setDisplayMode ( supportedDisplayMode ); 060 061 return true; 062 } 063 } 064 } 065 066 return false; 067 } 068 069 ////////////////////////////////////////////////////////////////////// 070 ////////////////////////////////////////////////////////////////////// 071 072 private GraphicsDeviceLib ( ) { } 073 074 ////////////////////////////////////////////////////////////////////// 075 ////////////////////////////////////////////////////////////////////// 076 }