import java.awt.Graphics;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;

/**
  メッセージを立体的に表示する ImpressMessage クラス
*/
public class ImpressMessage extends Applet {

     /**
       メッセージの内容
     */  
       public String message=null;

     /**
       メッセージのフォント
     */  
       public Font   textFont=null;

     /**
       フォントのサイズ
     */  
       public int fontSize=18;
 
     /**
       初期設定の関数（生成時に自動的に呼ばれる）
     */
       public void init() {

             String size = getParameter("size");
             String style = getParameter("style");
             String family = getParameter("family");

             if ( size != null ) {
                  if ( size.equals("large")
                       || size.equals("LARGE") || size.equals("Large") )
                     fontSize=36;
                  else if ( size.equals("small")
                       || size.equals("SMALL") || size.equals("Small") )
                     fontSize=14;
                  else
                     fontSize=18;
              }  
             else
                     fontSize=18;

             if ( family == null ) family = "TimesRoman";

             if ( style != null ) {
                  if ( style.equals("italic")
                       || style.equals("ITALIC") || style.equals("Italic") )
                     textFont = new Font(family, Font.ITALIC, fontSize);
                  else if ( style.equals("bold")
                       || style.equals("BOLD") || style.equals("Bold") )
                     textFont = new Font(family, Font.BOLD, fontSize);
                  else
                     textFont = new Font(family, Font.PLAIN, fontSize);
              }  
              else
                     textFont = new Font(family, Font.PLAIN, fontSize);

             message = getParameter("message");
             if ( message == null )
                  message = "Welcome to Wakkanai!";

             resize( getFontMetrics( textFont ).stringWidth( message) + 8,
                     fontSize*3/2 );
       }

     /**
       初期画面を描く関数（画面登場時に自動的に呼ばれる）
     */
       public void paint( Graphics g ) {

             g.setFont( textFont );

             g.setColor( Color.darkGray );
             g.drawString( message, 3, fontSize );

             g.setColor( Color.white );
             g.drawString( message, 5, fontSize + 2 );

             g.setColor( Color.lightGray );
             g.drawString( message, 4, fontSize + 1 );
       }
}

