View Javadoc

1   package com.insanityengine.ghia.pixels;
2   
3   import java.awt.*;
4   import java.awt.image.*;
5   
6   import java.net.URL;
7   
8   /***
9    *
10   * <P>
11   * Facility to create ImageSkin's from filename, url, etc
12   * </P>
13   *
14   * @author BrianHammond
15   *
16   * $Header: /usr/local/cvsroot/ghia/src/java/com/insanityengine/ghia/pixels/Imago.java,v 1.2 2005/03/19 17:50:02 brian Exp $
17   *
18   */
19  
20  public class Imago {
21  	
22  	/***
23  	 *
24  	 * Constructor
25  	 *
26  	 * @param component to use (can this be weaker?)
27  	 *
28  	 */
29  	public static final void setComponent( Component component ) {
30  		Imago.observer = Imago.component = component;
31  		tracker = new MediaTracker( component );
32  	}
33  
34  	/***
35  	 *
36  	 * Skin an image given a filename 
37  	 *
38  	 * @param filename of the image
39  	 * @param relative toggle pwd or not
40  	 *
41  	 * @return an ImageSkin
42  	 *
43  	 */
44  	public static final ImageSkin skinImage( String filename, boolean relative ) {
45          try {
46              java.io.File file = new java.io.File( "." );
47  			return skinImage( 
48  				"file:" + file.getCanonicalPath() + file.separator +
49  				filename
50  			);
51          } catch ( Exception e ) {
52  		}
53  		return null;
54  	}
55  
56  	/***
57  	 *
58  	 * Skin an image given an href
59  	 *
60  	 * @param filename of the image
61  	 *
62  	 * @return an ImageSkin
63  	 *
64  	 */
65  	public static final ImageSkin skinImage( String href ) {
66  		ImageSkin skin = null;
67  		
68  		System.out.println( "Imago::skinImage " + href );
69  
70  		try {
71  			Image image = Toolkit.getDefaultToolkit().getImage( new URL( href ) );
72  			
73  			tracker.addImage( image, 0 );
74  			try { 
75  				tracker.waitForID( 0 );
76  				skin = new ImageSkin( image, observer );
77  			} catch ( Exception e ) { 
78  				e.printStackTrace();
79  			}
80  			
81  		} catch ( Exception fe ) {
82  			fe.printStackTrace();
83  		}
84  		
85  		System.out.println( "Imago::skinImage: " + skin);
86  		
87  		return skin;
88  	}
89  
90  	///
91  	
92  	private static Component component = null;
93  	private static ImageObserver observer = null;
94  	private static MediaTracker tracker = null;
95  
96  };
97  
98  /***
99   *
100  * $Log: Imago.java,v $
101  * Revision 1.2  2005/03/19 17:50:02  brian
102  * repackaging
103  *
104  * Revision 1.1  2004/09/02 13:17:16  brian
105  * the big reorg
106  *
107  * Revision 1.5  2004/09/01 01:10:42  brian
108  * fix class level javadoc placement
109  *
110  * Revision 1.4  2004/09/01 00:11:06  brian
111  * author, log and header stuff
112  *
113  *
114  */